From cedfc8d57162883fba20b9c194098f92bc5a2e91 Mon Sep 17 00:00:00 2001 From: Martin Ndegwa Date: Tue, 4 Sep 2018 18:45:37 +0300 Subject: [PATCH 01/10] Implement Settings functionality on Postgres and Couchdb --- .../migrations/generator/generatorConfig.xml | 14 +- ...ate_view_configurations_metadata_table.sql | 3 +- ...180904141214_create_settings_table.sql.sql | 33 + ...237_create_settings_metadata_table.sql.sql | 36 + opensrp-connector/bin/.gitignore | 1 + opensrp-connector/bin/pom.xml | 210 + .../opensrp/connector/MultipartHttpUtil.class | Bin 0 -> 6684 bytes .../opensrp/connector/MultipartUtility.class | Bin 0 -> 7776 bytes ...chImpl$AllFailedEventInnerRepository.class | Bin 0 -> 6695 bytes .../atomfeed/AllFailedEventsCouchImpl.class | Bin 0 -> 6966 bytes .../AllFailedEventsInMemoryImpl.class | Bin 0 -> 7474 bytes .../atomfeed/AllMarkersCouchImpl.class | Bin 0 -> 5018 bytes .../atomfeed/AllMarkersInMemoryImpl.class | Bin 0 -> 2856 bytes .../connector/atomfeed/AtomfeedService.class | Bin 0 -> 570 bytes .../atomfeed/domain/FailedEvent.class | Bin 0 -> 5754 bytes .../connector/atomfeed/domain/Marker.class | Bin 0 -> 3446 bytes .../dhis2/DHIS2AggregateConnector.class | Bin 0 -> 8338 bytes .../connector/dhis2/DHIS2DatasetPush.class | Bin 0 -> 8554 bytes .../connector/dhis2/DHIS2Service.class | Bin 0 -> 1875 bytes .../connector/dhis2/Dhis2HttpUtils.class | Bin 0 -> 7645 bytes .../dhis2/Dhis2TrackCaptureConnector.class | Bin 0 -> 2733 bytes .../connector/dhis2/DhisSchedulerConfig.class | Bin 0 -> 5069 bytes .../dhis2/TurnOffCertificateValidation.class | Bin 0 -> 3089 bytes .../connector/openmrs/EncounterAtomfeed.class | Bin 0 -> 7430 bytes .../connector/openmrs/PatientAtomfeed.class | Bin 0 -> 7808 bytes .../OpenmrsConstants$SchedulerConfig.class | Bin 0 -> 2001 bytes .../openmrs/constants/OpenmrsConstants.class | Bin 0 -> 1873 bytes .../OpenmrsHouseHold$HouseholdMember.class | Bin 0 -> 3579 bytes .../openmrs/constants/OpenmrsHouseHold.class | Bin 0 -> 3373 bytes .../schedule/OpenmrsAtomfeedListener.class | Bin 0 -> 2886 bytes .../schedule/OpenmrsSyncerListener.class | Bin 0 -> 7885 bytes .../schedule/OpenmrsValidateDataSync.class | Bin 0 -> 8354 bytes .../openmrs/service/EncounterService.class | Bin 0 -> 10628 bytes .../openmrs/service/HouseholdService.class | Bin 0 -> 10968 bytes ...OpenmrsLocationService$AllowedLevels.class | Bin 0 -> 5608 bytes .../service/OpenmrsLocationService.class | Bin 0 -> 10034 bytes .../service/OpenmrsReportingService.class | Bin 0 -> 4588 bytes .../service/OpenmrsSchedulerService.class | Bin 0 -> 11216 bytes .../openmrs/service/OpenmrsService.class | Bin 0 -> 3832 bytes .../openmrs/service/OpenmrsUserService.class | Bin 0 -> 9359 bytes .../openmrs/service/PatientService.class | Bin 0 -> 12542 bytes .../applicationContext-connector.xml | 35 + .../SpringApplicationContextProvider.class | Bin 0 -> 1788 bytes .../dhis2/DHIS2DatasetPushTest.class | Bin 0 -> 9124 bytes .../openmrs/AllMarkerIntegrationTest.class | Bin 0 -> 722 bytes .../connector/openmrs/AtomFeedTest.class | Bin 0 -> 5233 bytes .../openmrs/service/EncounterTest.class | Bin 0 -> 9933 bytes .../openmrs/service/HouseHoldTest.class | Bin 0 -> 8087 bytes .../openmrs/service/OpenmrsLocationTest.class | Bin 0 -> 3509 bytes .../service/OpenmrsSchedulerServiceTest.class | Bin 0 -> 8969 bytes .../service/OpenmrsUserServiceTest.class | Bin 0 -> 7014 bytes .../openmrs/service/PatientTest.class | Bin 0 -> 3976 bytes .../openmrs/service/TestResourceLoader.class | Bin 0 -> 5962 bytes .../test/resources/form/basic_reg/form.json | 653 + .../test/resources/form/basic_reg/form.xml | 287 + .../form/basic_reg/form_definition.json | 249 + .../form/basic_reg/form_submission.json | 258 + .../test/resources/form/basic_reg/model.xml | 80 + .../resources/form/child_enrollment/form.json | 1 + .../resources/form/child_enrollment/form.xml | 1699 ++ .../child_enrollment/form_definition.json | 346 + .../child_enrollment/form_submission.json | 639 + .../resources/form/child_enrollment/model.xml | 1691 ++ .../resources/form/child_followup/form.json | 1 + .../resources/form/child_followup/form.xml | 1555 ++ .../form/child_followup/form_definition.json | 466 + .../resources/form/child_followup/model.xml | 1685 ++ .../form/new_household_registration/form.json | 655 + .../form/new_household_registration/form.xml | 26 + .../form_definition.json | 166 + .../form_submission1.json | 228 + .../form_submission2.json | 207 + .../form_submission3.json | 208 + .../form_submission4.json | 208 + .../form_submission5.json | 209 + .../form_submission6.json | 216 + .../form_submission7.json | 216 + .../form_submission8.json | 211 + .../form/new_household_registration/model.xml | 49 + .../form.json | 1100 ++ .../form.xml | 31 + .../form_definition.json | 290 + .../form_submission1.json | 363 + .../model.xml | 83 + .../form/offsite_child_followup/form.json | 1 + .../form/offsite_child_followup/form.xml | 1560 ++ .../form_definition.json | 466 + .../form/offsite_child_followup/model.xml | 1685 ++ .../form/offsite_woman_followup/form.json | 1 + .../form/offsite_woman_followup/form.xml | 1439 ++ .../form_definition.json | 372 + .../form/offsite_woman_followup/model.xml | 1643 ++ .../form/pnc_1st_registration/form.json | 373 + .../form/pnc_1st_registration/form.xml | 29 + .../pnc_1st_registration/form_definition.json | 89 + .../pnc_1st_registration/form_submission.json | 135 + .../form/pnc_1st_registration/model.xml | 31 + .../test/resources/form/psrf_form/form.json | 1 + .../form/psrf_form/form_definition.json | 289 + .../form/psrf_form/form_submission.json | 344 + .../test/resources/form/psrf_form/model.xml | 83 + .../test/resources/form/repeatform/form.json | 1381 ++ .../form/repeatform/form_definition.json | 315 + .../form/repeatform/form_submission.json | 452 + .../test/resources/form/repeatform/model.xml | 91 + .../form/vaccine_stock_position/form.json | 1 + .../form/vaccine_stock_position/form.xml | 381 + .../form_definition.json | 186 + .../form/vaccine_stock_position/model.xml | 68 + .../resources/form/woman_enrollment/form.json | 1 + .../resources/form/woman_enrollment/form.xml | 1550 ++ .../woman_enrollment/form_definition.json | 311 + .../woman_enrollment/form_submission.json | 580 + .../resources/form/woman_enrollment/model.xml | 1659 ++ .../resources/form/woman_followup/form.json | 1 + .../resources/form/woman_followup/form.xml | 1435 ++ .../form/woman_followup/form_definition.json | 384 + .../resources/form/woman_followup/model.xml | 1643 ++ ...t-applicationContext-opensrp-connector.xml | 69 + opensrp-core/bin/jacoco.exec | Bin 0 -> 570 bytes opensrp-core/bin/pom.xml | 276 + .../java/org/opensrp/domain/Address.class | Bin 0 -> 11701 bytes .../org/opensrp/domain/AppStateToken.class | Bin 0 -> 6457 bytes .../org/opensrp/domain/BaseDataObject.class | Bin 0 -> 8206 bytes .../java/org/opensrp/domain/BaseEntity.class | Bin 0 -> 13958 bytes .../main/java/org/opensrp/domain/Client.class | Bin 0 -> 11272 bytes .../org/opensrp/domain/ContactPoint.class | Bin 0 -> 3710 bytes .../java/org/opensrp/domain/ErrorTrace.class | Bin 0 -> 6835 bytes .../org/opensrp/domain/ErrorTraceForm.class | Bin 0 -> 2701 bytes .../main/java/org/opensrp/domain/Event.class | Bin 0 -> 11673 bytes .../main/java/org/opensrp/domain/Form.class | Bin 0 -> 3749 bytes .../org/opensrp/domain/FormDefinition.class | Bin 0 -> 1811 bytes .../java/org/opensrp/domain/FormField.class | Bin 0 -> 2607 bytes .../org/opensrp/domain/Hia2Indicator.class | Bin 0 -> 5620 bytes .../java/org/opensrp/domain/Multimedia.class | Bin 0 -> 5696 bytes .../main/java/org/opensrp/domain/Obs.class | Bin 0 -> 9358 bytes .../main/java/org/opensrp/domain/Photo.class | Bin 0 -> 3433 bytes .../java/org/opensrp/domain/Provider.class | Bin 0 -> 2776 bytes .../main/java/org/opensrp/domain/Report.class | Bin 0 -> 6147 bytes .../main/java/org/opensrp/domain/Search.class | Bin 0 -> 9478 bytes .../main/java/org/opensrp/domain/Stock.class | Bin 0 -> 5512 bytes .../opensrp/domain/SubFormDefinition.class | Bin 0 -> 3381 bytes .../java/org/opensrp/domain/UniqueId.class | Bin 0 -> 5679 bytes .../main/java/org/opensrp/domain/User.class | Bin 0 -> 9134 bytes .../org/opensrp/domain/postgres/Action.class | Bin 0 -> 1709 bytes .../postgres/ActionExample$Criteria.class | Bin 0 -> 4760 bytes .../postgres/ActionExample$Criterion.class | Bin 0 -> 6176 bytes .../ActionExample$GeneratedCriteria.class | Bin 0 -> 10633 bytes .../domain/postgres/ActionExample.class | Bin 0 -> 6644 bytes .../domain/postgres/ActionMetadata.class | Bin 0 -> 4298 bytes .../ActionMetadataExample$Criteria.class | Bin 0 -> 5464 bytes .../ActionMetadataExample$Criterion.class | Bin 0 -> 6868 bytes ...ionMetadataExample$GeneratedCriteria.class | Bin 0 -> 18547 bytes .../postgres/ActionMetadataExample.class | Bin 0 -> 7128 bytes .../org/opensrp/domain/postgres/Alert.class | Bin 0 -> 1706 bytes .../postgres/AlertExample$Criteria.class | Bin 0 -> 4751 bytes .../postgres/AlertExample$Criterion.class | Bin 0 -> 6168 bytes .../AlertExample$GeneratedCriteria.class | Bin 0 -> 10612 bytes .../domain/postgres/AlertExample.class | Bin 0 -> 6630 bytes .../domain/postgres/AlertMetadata.class | Bin 0 -> 5206 bytes .../AlertMetadataExample$Criteria.class | Bin 0 -> 5447 bytes .../AlertMetadataExample$Criterion.class | Bin 0 -> 6852 bytes ...ertMetadataExample$GeneratedCriteria.class | Bin 0 -> 21188 bytes .../postgres/AlertMetadataExample.class | Bin 0 -> 7106 bytes .../domain/postgres/AppStateToken.class | Bin 0 -> 2828 bytes .../AppStateTokenExample$Criteria.class | Bin 0 -> 5299 bytes .../AppStateTokenExample$Criterion.class | Bin 0 -> 6708 bytes ...pStateTokenExample$GeneratedCriteria.class | Bin 0 -> 13366 bytes .../postgres/AppStateTokenExample.class | Bin 0 -> 6958 bytes .../org/opensrp/domain/postgres/Client.class | Bin 0 -> 2267 bytes .../postgres/ClientExample$Criteria.class | Bin 0 -> 4903 bytes .../postgres/ClientExample$Criterion.class | Bin 0 -> 6319 bytes .../ClientExample$GeneratedCriteria.class | Bin 0 -> 11563 bytes .../domain/postgres/ClientExample.class | Bin 0 -> 6787 bytes .../domain/postgres/ClientMetadata.class | Bin 0 -> 5977 bytes .../ClientMetadataExample$Criteria.class | Bin 0 -> 5486 bytes .../ClientMetadataExample$Criterion.class | Bin 0 -> 6890 bytes ...entMetadataExample$GeneratedCriteria.class | Bin 0 -> 24198 bytes .../postgres/ClientMetadataExample.class | Bin 0 -> 7150 bytes .../opensrp/domain/postgres/ErrorTrace.class | Bin 0 -> 5227 bytes .../postgres/ErrorTraceExample$Criteria.class | Bin 0 -> 5418 bytes .../ErrorTraceExample$Criterion.class | Bin 0 -> 6826 bytes .../ErrorTraceExample$GeneratedCriteria.class | Bin 0 -> 21396 bytes .../domain/postgres/ErrorTraceExample.class | Bin 0 -> 7062 bytes .../org/opensrp/domain/postgres/Event.class | Bin 0 -> 2264 bytes .../postgres/EventExample$Criteria.class | Bin 0 -> 4892 bytes .../postgres/EventExample$Criterion.class | Bin 0 -> 6309 bytes .../EventExample$GeneratedCriteria.class | Bin 0 -> 11537 bytes .../domain/postgres/EventExample.class | Bin 0 -> 6771 bytes .../domain/postgres/EventMetadata.class | Bin 0 -> 7428 bytes .../EventMetadataExample$Criteria.class | Bin 0 -> 5457 bytes .../EventMetadataExample$Criterion.class | Bin 0 -> 6862 bytes ...entMetadataExample$GeneratedCriteria.class | Bin 0 -> 28486 bytes .../postgres/EventMetadataExample.class | Bin 0 -> 7116 bytes .../opensrp/domain/postgres/MultiMedia.class | Bin 0 -> 3578 bytes .../postgres/MultiMediaExample$Criteria.class | Bin 0 -> 5430 bytes .../MultiMediaExample$Criterion.class | Bin 0 -> 6838 bytes .../MultiMediaExample$GeneratedCriteria.class | Bin 0 -> 16299 bytes .../domain/postgres/MultiMediaExample.class | Bin 0 -> 7074 bytes .../org/opensrp/domain/postgres/Report.class | Bin 0 -> 1709 bytes .../postgres/ReportExample$Criteria.class | Bin 0 -> 4760 bytes .../postgres/ReportExample$Criterion.class | Bin 0 -> 6176 bytes .../ReportExample$GeneratedCriteria.class | Bin 0 -> 10633 bytes .../domain/postgres/ReportExample.class | Bin 0 -> 6644 bytes .../domain/postgres/ReportMetadata.class | Bin 0 -> 5971 bytes .../ReportMetadataExample$Criteria.class | Bin 0 -> 5486 bytes .../ReportMetadataExample$Criterion.class | Bin 0 -> 6890 bytes ...ortMetadataExample$GeneratedCriteria.class | Bin 0 -> 24170 bytes .../postgres/ReportMetadataExample.class | Bin 0 -> 7150 bytes .../org/opensrp/domain/postgres/Stock.class | Bin 0 -> 1706 bytes .../postgres/StockExample$Criteria.class | Bin 0 -> 4751 bytes .../postgres/StockExample$Criterion.class | Bin 0 -> 6168 bytes .../StockExample$GeneratedCriteria.class | Bin 0 -> 10612 bytes .../domain/postgres/StockExample.class | Bin 0 -> 6630 bytes .../domain/postgres/StockMetadata.class | Bin 0 -> 3916 bytes .../StockMetadataExample$Criteria.class | Bin 0 -> 5447 bytes .../StockMetadataExample$Criterion.class | Bin 0 -> 6852 bytes ...ockMetadataExample$GeneratedCriteria.class | Bin 0 -> 17191 bytes .../postgres/StockMetadataExample.class | Bin 0 -> 7106 bytes .../domain/postgres/ViewConfiguration.class | Bin 0 -> 1742 bytes .../ViewConfigurationExample$Criteria.class | Bin 0 -> 4859 bytes .../ViewConfigurationExample$Criterion.class | Bin 0 -> 6264 bytes ...nfigurationExample$GeneratedCriteria.class | Bin 0 -> 10864 bytes .../postgres/ViewConfigurationExample.class | Bin 0 -> 6798 bytes .../postgres/ViewConfigurationMetadata.class | Bin 0 -> 2908 bytes ...onfigurationMetadataExample$Criteria.class | Bin 0 -> 5464 bytes ...nfigurationMetadataExample$Criterion.class | Bin 0 -> 6861 bytes ...ionMetadataExample$GeneratedCriteria.class | Bin 0 -> 13736 bytes .../ViewConfigurationMetadataExample.class | Bin 0 -> 7183 bytes .../org/opensrp/domain/setting/Setting.class | Bin 0 -> 2864 bytes .../domain/setting/SettingConfiguration.class | Bin 0 -> 5099 bytes .../viewconfiguration/BaseConfiguration.class | Bin 0 -> 2371 bytes .../LoginConfiguration$Background.class | Bin 0 -> 2746 bytes .../LoginConfiguration.class | Bin 0 -> 3127 bytes .../viewconfiguration/MainConfiguration.class | Bin 0 -> 1063 bytes .../RegisterConfiguration.class | Bin 0 -> 2894 bytes .../viewconfiguration/View$Residence.class | Bin 0 -> 3352 bytes .../domain/viewconfiguration/View.class | Bin 0 -> 4109 bytes .../viewconfiguration/ViewConfiguration.class | Bin 0 -> 5147 bytes .../repository/AppStateTokensRepository.class | Bin 0 -> 1182 bytes .../opensrp/repository/BaseRepository.class | Bin 0 -> 976 bytes .../repository/ClientsRepository.class | Bin 0 -> 4570 bytes .../repository/ErrorTraceRepository.class | Bin 0 -> 1734 bytes .../opensrp/repository/EventsRepository.class | Bin 0 -> 4871 bytes .../repository/MultimediaRepository.class | Bin 0 -> 1148 bytes .../repository/ReportsRepository.class | Bin 0 -> 3540 bytes .../opensrp/repository/SearchRepository.class | Bin 0 -> 1225 bytes .../opensrp/repository/StocksRepository.class | Bin 0 -> 2152 bytes ...UniqueIdRepository$UniqueIdRowMapper.class | Bin 0 -> 5501 bytes .../repository/UniqueIdRepository.class | Bin 0 -> 8717 bytes .../ViewConfigurationRepository.class | Bin 0 -> 1347 bytes .../repository/couch/AllAppStateTokens.class | Bin 0 -> 4712 bytes .../opensrp/repository/couch/AllClients.class | Bin 0 -> 10885 bytes .../repository/couch/AllErrorTrace.class | Bin 0 -> 4499 bytes .../opensrp/repository/couch/AllEvents.class | Bin 0 -> 10953 bytes .../opensrp/repository/couch/AllReports.class | Bin 0 -> 9646 bytes .../opensrp/repository/couch/AllStocks.class | Bin 0 -> 6881 bytes .../couch/MultimediaRepositoryImpl.class | Bin 0 -> 3307 bytes .../couch/SearchRepositoryImpl.class | Bin 0 -> 3180 bytes .../couch/SettingRepositoryImpl.class | Bin 0 -> 5232 bytes .../ViewConfigurationRepositoryImpl.class | Bin 0 -> 4802 bytes .../repository/lucene/FilterType.class | Bin 0 -> 1012 bytes .../lucene/LuceneActionRepository.class | Bin 0 -> 4685 bytes .../lucene/LuceneClientRepository.class | Bin 0 -> 8920 bytes .../repository/lucene/LuceneDbConnector.class | Bin 0 -> 3359 bytes .../lucene/LuceneEventRepository.class | Bin 0 -> 8549 bytes .../lucene/LuceneReportRepository.class | Bin 0 -> 8677 bytes .../lucene/LuceneSearchRepository.class | Bin 0 -> 7516 bytes .../lucene/LuceneStockRepository.class | Bin 0 -> 8891 bytes .../org/opensrp/repository/lucene/Query.class | Bin 0 -> 6660 bytes .../postgres/ActionRepositoryImpl.class | Bin 0 -> 11589 bytes .../postgres/AlertsRepositoryImpl.class | Bin 0 -> 11781 bytes .../AppStateTokensRepositoryImpl.class | Bin 0 -> 8074 bytes .../postgres/BaseRepositoryImpl.class | Bin 0 -> 3167 bytes .../postgres/ClientsRepositoryImpl.class | Bin 0 -> 11808 bytes .../postgres/ErrorTraceRepositoryImpl.class | Bin 0 -> 10928 bytes .../postgres/EventsRepositoryImpl.class | Bin 0 -> 12187 bytes .../postgres/MultimediaRepositoryImpl.class | Bin 0 -> 9712 bytes .../postgres/ReportsRepositoryImpl.class | Bin 0 -> 12029 bytes .../postgres/SearchRepositoryImpl.class | Bin 0 -> 3080 bytes .../postgres/StocksRepositoryImpl.class | Bin 0 -> 11561 bytes .../ViewConfigurationRepositoryImpl.class | Bin 0 -> 12532 bytes .../postgres/handler/ActionTypeHandler.class | Bin 0 -> 5536 bytes .../postgres/handler/AlertTypeHandler.class | Bin 0 -> 5512 bytes .../postgres/handler/BaseTypeHandler.class | Bin 0 -> 1405 bytes .../postgres/handler/ClientTypeHandler.class | Bin 0 -> 5536 bytes .../handler/DateTimeTypeHandler.class | Bin 0 -> 4318 bytes .../postgres/handler/EventTypeHandler.class | Bin 0 -> 5512 bytes .../postgres/handler/ReportTypeHandler.class | Bin 0 -> 5536 bytes .../postgres/handler/StockTypeHandler.class | Bin 0 -> 5512 bytes .../ViewConfigurationTypeHandler.class | Bin 0 -> 5800 bytes .../postgres/mapper/ActionMapper.class | Bin 0 -> 2112 bytes .../mapper/ActionMetadataMapper.class | Bin 0 -> 2320 bytes .../postgres/mapper/AlertMapper.class | Bin 0 -> 2086 bytes .../postgres/mapper/AlertMetadataMapper.class | Bin 0 -> 2294 bytes .../postgres/mapper/AppStateTokenMapper.class | Bin 0 -> 2675 bytes .../postgres/mapper/ClientMapper.class | Bin 0 -> 2112 bytes .../mapper/ClientMetadataMapper.class | Bin 0 -> 2320 bytes .../postgres/mapper/ErrorTraceMapper.class | Bin 0 -> 2216 bytes .../postgres/mapper/EventMapper.class | Bin 0 -> 2086 bytes .../postgres/mapper/EventMetadataMapper.class | Bin 0 -> 2294 bytes .../postgres/mapper/MultiMediaMapper.class | Bin 0 -> 2216 bytes .../postgres/mapper/ReportMapper.class | Bin 0 -> 2112 bytes .../mapper/ReportMetadataMapper.class | Bin 0 -> 2320 bytes .../postgres/mapper/SettingsMapper.class | Bin 0 -> 2164 bytes .../mapper/SettingsMetadataMapper.class | Bin 0 -> 2372 bytes .../postgres/mapper/StockMapper.class | Bin 0 -> 2086 bytes .../postgres/mapper/StockMetadataMapper.class | Bin 0 -> 2294 bytes .../mapper/ViewConfigurationMapper.class | Bin 0 -> 2398 bytes .../ViewConfigurationMetadataMapper.class | Bin 0 -> 2606 bytes .../mapper/custom/CustomActionMapper.class | Bin 0 -> 1315 bytes .../custom/CustomActionMetadataMapper.class | Bin 0 -> 2205 bytes .../mapper/custom/CustomAlertMapper.class | Bin 0 -> 864 bytes .../custom/CustomAlertMetadataMapper.class | Bin 0 -> 1542 bytes .../mapper/custom/CustomClientMapper.class | Bin 0 -> 2932 bytes .../custom/CustomClientMetadataMapper.class | Bin 0 -> 2562 bytes .../custom/CustomErrorTraceMapper.class | Bin 0 -> 1377 bytes .../mapper/custom/CustomEventMapper.class | Bin 0 -> 3207 bytes .../custom/CustomEventMetadataMapper.class | Bin 0 -> 2433 bytes .../custom/CustomMultiMediaMapper.class | Bin 0 -> 1377 bytes .../mapper/custom/CustomReportMapper.class | Bin 0 -> 1385 bytes .../custom/CustomReportMetadataMapper.class | Bin 0 -> 1555 bytes .../mapper/custom/CustomStockMapper.class | Bin 0 -> 864 bytes .../custom/CustomStockMetadataMapper.class | Bin 0 -> 2376 bytes .../CustomViewConfigurationMapper.class | Bin 0 -> 948 bytes ...ustomViewConfigurationMetadataMapper.class | Bin 0 -> 1698 bytes .../mapper/custom/xml/CustomActionMapper.xml | 39 + .../custom/xml/CustomActionMetadataMapper.xml | 92 + .../mapper/custom/xml/CustomAlertMapper.xml | 25 + .../custom/xml/CustomAlertMetadataMapper.xml | 68 + .../mapper/custom/xml/CustomClientMapper.xml | 96 + .../custom/xml/CustomClientMetadataMapper.xml | 190 + .../custom/xml/CustomErrorTraceMapper.xml | 53 + .../mapper/custom/xml/CustomEventMapper.xml | 111 + .../custom/xml/CustomEventMetadataMapper.xml | 154 + .../custom/xml/CustomMultiMediaMapper.xml | 56 + .../mapper/custom/xml/CustomReportMapper.xml | 39 + .../custom/xml/CustomReportMetadataMapper.xml | 72 + .../mapper/custom/xml/CustomStockMapper.xml | 26 + .../custom/xml/CustomStockMetadataMapper.xml | 129 + .../xml/CustomViewConfigurationMapper.xml | 26 + .../CustomViewConfigurationMetadataMapper.xml | 72 + .../postgres/mapper/xml/ActionMapper.xml | 279 + .../mapper/xml/ActionMetadataMapper.xml | 351 + .../postgres/mapper/xml/AlertMapper.xml | 279 + .../mapper/xml/AlertMetadataMapper.xml | 381 + .../mapper/xml/AppStateTokenMapper.xml | 305 + .../postgres/mapper/xml/ClientMapper.xml | 294 + .../mapper/xml/ClientMetadataMapper.xml | 413 + .../postgres/mapper/xml/ErrorTraceMapper.xml | 381 + .../postgres/mapper/xml/EventMapper.xml | 294 + .../mapper/xml/EventMetadataMapper.xml | 476 + .../postgres/mapper/xml/MultiMediaMapper.xml | 318 + .../postgres/mapper/xml/ReportMapper.xml | 279 + .../mapper/xml/ReportMetadataMapper.xml | 413 + .../postgres/mapper/xml/StockMapper.xml | 279 + .../mapper/xml/StockMetadataMapper.xml | 333 + .../mapper/xml/ViewConfigurationMapper.xml | 279 + .../xml/ViewConfigurationMetadataMapper.xml | 286 + .../java/org/opensrp/scheduler/Action.class | Bin 0 -> 7043 bytes .../opensrp/scheduler/Alert$AlertType.class | Bin 0 -> 4798 bytes .../opensrp/scheduler/Alert$TriggerType.class | Bin 0 -> 4835 bytes .../java/org/opensrp/scheduler/Alert.class | Bin 0 -> 11525 bytes .../scheduler/AlertCreationAction.class | Bin 0 -> 6540 bytes .../org/opensrp/scheduler/AlertHandler.class | Bin 0 -> 1658 bytes .../org/opensrp/scheduler/AlertRouter.class | Bin 0 -> 6646 bytes .../scheduler/ECAlertCreationAction.class | Bin 0 -> 5878 bytes ...HealthSchedulerService$MetadataField.class | Bin 0 -> 5094 bytes .../scheduler/HealthSchedulerService.class | Bin 0 -> 11304 bytes .../org/opensrp/scheduler/HookedEvent.class | Bin 0 -> 890 bytes .../scheduler/Matcher$AnyMatcher.class | Bin 0 -> 1899 bytes .../scheduler/Matcher$AnyOfMatcher.class | Bin 0 -> 2091 bytes .../opensrp/scheduler/Matcher$EqMatcher.class | Bin 0 -> 1972 bytes .../java/org/opensrp/scheduler/Matcher.class | Bin 0 -> 2334 bytes .../opensrp/scheduler/MilestoneEvent.class | Bin 0 -> 5439 bytes .../scheduler/NoRoutesMatchException.class | Bin 0 -> 1093 bytes .../scheduler/RepeatingCronSchedule.class | Bin 0 -> 5681 bytes .../opensrp/scheduler/RepeatingSchedule.class | Bin 0 -> 5814 bytes .../java/org/opensrp/scheduler/Route.class | Bin 0 -> 3532 bytes .../scheduler/Schedule$ActionType.class | Bin 0 -> 4730 bytes .../java/org/opensrp/scheduler/Schedule.class | Bin 0 -> 8908 bytes .../opensrp/scheduler/ScheduleConfig.class | Bin 0 -> 7479 bytes .../org/opensrp/scheduler/SystemEvent.class | Bin 0 -> 3101 bytes .../scheduler/TaskSchedulerService.class | Bin 0 -> 9115 bytes .../repository/ActionsRepository.class | Bin 0 -> 3009 bytes .../repository/AlertsRepository.class | Bin 0 -> 4230 bytes .../repository/couch/AllActions.class | Bin 0 -> 9370 bytes .../repository/couch/AllAlerts.class | Bin 0 -> 9199 bytes .../scheduler/service/ActionService.class | Bin 0 -> 10825 bytes .../service/AllEnrollmentWrapper.class | Bin 0 -> 6463 bytes .../service/AllScheduleWrapper.class | Bin 0 -> 2379 bytes .../scheduler/service/ScheduleService.class | Bin 0 -> 11455 bytes .../opensrp/search/AddressSearchBean.class | Bin 0 -> 4950 bytes .../org/opensrp/search/ClientSearchBean.class | Bin 0 -> 7779 bytes .../org/opensrp/search/EventSearchBean.class | Bin 0 -> 5698 bytes .../org/opensrp/search/StockSearchBean.class | Bin 0 -> 4336 bytes .../org/opensrp/service/ClientService.class | Bin 0 -> 10779 bytes .../org/opensrp/service/ConfigService.class | Bin 0 -> 4704 bytes .../opensrp/service/ErrorTraceService.class | Bin 0 -> 5131 bytes .../org/opensrp/service/EventService.class | Bin 0 -> 10572 bytes ...onService$MigrateFormSubmissionsTask.class | Bin 0 -> 6746 bytes ...onDataMigrationService$MigrationType.class | Bin 0 -> 5353 bytes .../FormSubmissionDataMigrationService.class | Bin 0 -> 9792 bytes .../opensrp/service/MultimediaService.class | Bin 0 -> 6771 bytes .../opensrp/service/OpenmrsIDService.class | Bin 0 -> 9253 bytes .../org/opensrp/service/RapidProService.class | Bin 0 -> 2118 bytes .../opensrp/service/RapidProServiceImpl.class | Bin 0 -> 8925 bytes .../org/opensrp/service/ReportService.class | Bin 0 -> 9971 bytes .../org/opensrp/service/SearchService.class | Bin 0 -> 2360 bytes .../org/opensrp/service/SettingService.class | Bin 0 -> 4426 bytes .../org/opensrp/service/StockService.class | Bin 0 -> 7643 bytes .../service/ViewConfigurationService.class | Bin 0 -> 3705 bytes .../service/XlsFormDownloaderService.class | Bin 0 -> 9136 bytes .../formSubmission/EventsListener.class | Bin 0 -> 8077 bytes .../formSubmission/FormEntityConverter.class | Bin 0 -> 11636 bytes .../FormSubmissionListener.class | Bin 0 -> 8310 bytes .../FormSubmissionProcessor.class | Bin 0 -> 9278 bytes .../handler/CustomFormSubmissionHandler.class | Bin 0 -> 749 bytes .../handler/EventsHandler.class | Bin 0 -> 884 bytes .../formSubmission/handler/EventsRouter.class | Bin 0 -> 8552 bytes .../FormSubmissionProcessedListener.class | Bin 0 -> 1072 bytes .../handler/FormSubmissionRouter.class | Bin 0 -> 4172 bytes .../handler/HandlerMapper.class | Bin 0 -> 3607 bytes .../handler/IHandlerMapper.class | Bin 0 -> 1303 bytes .../formSubmission/ziggy/EntityDataMap.class | Bin 0 -> 5175 bytes .../ziggy/ZiggyDataHandler.class | Bin 0 -> 6158 bytes .../ziggy/ZiggyFileLoader.class | Bin 0 -> 4926 bytes .../formSubmission/ziggy/ZiggyService.class | Bin 0 -> 6265 bytes .../java/org/opensrp/util/DataQuery.class | Bin 0 -> 2650 bytes .../opensrp/util/DateTimeDeserializer.class | Bin 0 -> 2505 bytes .../opensrp/util/DateTimeTypeConverter.class | Bin 0 -> 3054 bytes .../java/org/opensrp/util/FileCreator.class | Bin 0 -> 7247 bytes .../java/org/opensrp/util/JsonParser.class | Bin 0 -> 8948 bytes .../java/org/opensrp/util/NetClientGet.class | Bin 0 -> 5403 bytes .../util/OpenSRPHttpClientFactoryBean.class | Bin 0 -> 1775 bytes .../main/java/org/opensrp/util/SafeMap.class | Bin 0 -> 4717 bytes .../util/Utils$DatabaseConnectionParams.class | Bin 0 -> 4914 bytes .../main/java/org/opensrp/util/Utils.class | Bin 0 -> 8994 bytes .../resources/applicationContext-opensrp.xml | 97 + .../main/resources/persistence_couchdb.xml | 29 + .../main/resources/persistence_postgres.xml | 50 + .../resources/queries/lucene-client-query | 38 + .../main/resources/queries/lucene-event-query | 22 + .../queries/lucene-formsubmission-query | 38 + .../bin/src/main/resources/ziggy/ziggy.min.js | 1085 ++ .../org/opensrp/BaseIntegrationTest.class | Bin 0 -> 976 bytes .../opensrp/FormSubmissionProcessorTest.class | Bin 0 -> 8823 bytes .../org/opensrp/MultimediaServiceTest.class | Bin 0 -> 7066 bytes .../SpringApplicationContextProvider.class | Bin 0 -> 1785 bytes .../java/org/opensrp/domain/AddressTest.class | Bin 0 -> 6123 bytes .../opensrp/domain/AppStateTokenTest.class | Bin 0 -> 3068 bytes .../org/opensrp/domain/BaseEntityTest.class | Bin 0 -> 6381 bytes .../java/org/opensrp/domain/ClientTest.class | Bin 0 -> 6039 bytes .../org/opensrp/domain/ContactPointTest.class | Bin 0 -> 2899 bytes .../opensrp/domain/ErrorTraceFormTest.class | Bin 0 -> 1615 bytes .../org/opensrp/domain/ErrorTraceTest.class | Bin 0 -> 3247 bytes .../java/org/opensrp/domain/EventTest.class | Bin 0 -> 3805 bytes .../opensrp/domain/FormDefinitionTest.class | Bin 0 -> 1615 bytes .../org/opensrp/domain/FormFieldTest.class | Bin 0 -> 3545 bytes .../java/org/opensrp/domain/FormTest.class | Bin 0 -> 3310 bytes .../org/opensrp/domain/MultimediaTest.class | Bin 0 -> 3063 bytes .../java/org/opensrp/domain/ObsTest.class | Bin 0 -> 4622 bytes .../java/org/opensrp/domain/PhotoTest.class | Bin 0 -> 1570 bytes .../org/opensrp/domain/ProviderTest.class | Bin 0 -> 3236 bytes .../java/org/opensrp/domain/SearchTest.class | Bin 0 -> 5859 bytes .../domain/SubFormDefinitionTest.class | Bin 0 -> 4090 bytes .../org/opensrp/domain/UniqueIdTest.class | Bin 0 -> 1585 bytes .../java/org/opensrp/domain/UserTest.class | Bin 0 -> 3621 bytes .../it/ActionCreationIntegrationTest.class | Bin 0 -> 3038 bytes .../it/AllActionsIntegrationTest.class | Bin 0 -> 11026 bytes .../it/AllAlertsIntegrationTest.class | Bin 0 -> 9350 bytes .../it/AllClientsIntegrationTest.class | Bin 0 -> 8841 bytes .../it/AllErrorTraceIntegrationTest.class | Bin 0 -> 2777 bytes .../it/AllEventsIntegrationTest.class | Bin 0 -> 3823 bytes ...nfigServiceIntegrationTest$TestToken.class | Bin 0 -> 5551 bytes .../it/ConfigServiceIntegrationTest.class | Bin 0 -> 8526 bytes .../repository/it/FormLifeCycleTest.class | Bin 0 -> 7483 bytes .../repository/it/ScheduleLifeCycleTest.class | Bin 0 -> 2494 bytes .../repository/it/ZiggyServiceTest.class | Bin 0 -> 6551 bytes .../postgres/ActionsRepositoryTest.class | Bin 0 -> 10011 bytes .../postgres/AlertsRepositoryTest.class | Bin 0 -> 10162 bytes .../AppStateTokensRepositoryTest.class | Bin 0 -> 6212 bytes .../postgres/BaseRepositoryTest.class | Bin 0 -> 3749 bytes .../postgres/ClientsRepositoryTest.class | Bin 0 -> 10191 bytes .../postgres/ErrorTraceRepositoryTest.class | Bin 0 -> 10170 bytes .../postgres/EventsRepositoryTest.class | Bin 0 -> 9890 bytes .../postgres/MultimediaRepositoryTest.class | Bin 0 -> 7205 bytes .../postgres/ReportsRepositoryTest.class | Bin 0 -> 9897 bytes .../postgres/SearchRepositoryTest.class | Bin 0 -> 5089 bytes .../postgres/StocksRepositoryTest.class | Bin 0 -> 9464 bytes .../ViewConfigurationRepositoryTest.class | Bin 0 -> 9878 bytes .../org/opensrp/scheduler/ActionTest.class | Bin 0 -> 2167 bytes .../org/opensrp/scheduler/AlertTest.class | Bin 0 -> 7252 bytes .../scheduler/FormEventListenerTest.class | Bin 0 -> 9052 bytes .../scheduler/RepeatingCornScheduleTest.class | Bin 0 -> 4600 bytes .../scheduler/RepeatingScheduleTest.class | Bin 0 -> 4552 bytes .../scheduler/ScheduleConfigTest.class | Bin 0 -> 9934 bytes .../org/opensrp/scheduler/ScheduleTest.class | Bin 0 -> 3778 bytes .../opensrp/scheduler/SystemEventTest.class | Bin 0 -> 3197 bytes .../scheduler/TaskSchedulerServiceTest.class | Bin 0 -> 8886 bytes .../router/AlertCreationActionTest.class | Bin 0 -> 8429 bytes ...tHandlerRoutesTest$Event$Expectation.class | Bin 0 -> 5454 bytes .../router/AlertHandlerRoutesTest$Event.class | Bin 0 -> 8110 bytes .../router/AlertHandlerRoutesTest.class | Bin 0 -> 4967 bytes .../scheduler/router/AlertRouterTest.class | Bin 0 -> 10509 bytes .../router/HealthSchedulesTest.class | Bin 0 -> 9569 bytes .../scheduler/router/MatcherTest.class | Bin 0 -> 1649 bytes .../scheduler/service/ActionServiceTest.class | Bin 0 -> 9161 bytes .../service/ECAlertCreationTest.class | Bin 0 -> 5328 bytes .../service/ScheduleServiceTest.class | Bin 0 -> 10854 bytes .../opensrp/service/ClientServiceTest.class | Bin 0 -> 9965 bytes .../opensrp/service/EventServiceTest.class | Bin 0 -> 9701 bytes .../service/MultiMediaServiceTest.class | Bin 0 -> 8274 bytes .../service/OpenmrsIDServiceTest.class | Bin 0 -> 10964 bytes .../OpenmrsIDServiceUsingMockTest.class | Bin 0 -> 4400 bytes .../opensrp/service/StockServiceTest.class | Bin 0 -> 7969 bytes .../formSubmission/EventListenerTest.class | Bin 0 -> 8800 bytes .../FormEntityConverterTest.class | Bin 0 -> 10341 bytes .../FormEntityServiceTest.class | Bin 0 -> 8836 bytes ...bmissionDataMigrationIntegrationTest.class | Bin 0 -> 9480 bytes .../FormSubmissionProcessorScheduleTest.class | Bin 0 -> 7736 bytes .../formSubmission/StubAllAppStateToken.class | Bin 0 -> 919 bytes .../StubAllFormSubmission.class | Bin 0 -> 924 bytes .../services/RapidProServiceTest.class | Bin 0 -> 8980 bytes .../it/RapidProServiceIntegrationTest.class | Bin 0 -> 8551 bytes .../test/java/org/opensrp/util/Event.class | Bin 0 -> 767 bytes .../java/org/opensrp/util/EventBuilder.class | Bin 0 -> 5299 bytes .../test/java/org/opensrp/util/Matcher.class | Bin 0 -> 1989 bytes .../org/opensrp/util/ScheduleBuilder.class | Bin 0 -> 5958 bytes .../org/opensrp/util/TestResourceLoader.class | Bin 0 -> 5621 bytes .../test/java/org/opensrp/util/UtilTest.class | Bin 0 -> 6722 bytes .../util/it/UtilsIntegrationTest.class | Bin 0 -> 5058 bytes .../test/resources/form/basic_reg/form.json | 653 + .../test/resources/form/basic_reg/form.xml | 287 + .../form/basic_reg/form_definition.json | 245 + .../form/basic_reg/form_submission.json | 254 + .../test/resources/form/basic_reg/model.xml | 79 + .../resources/form/child_enrollment/form.json | 1 + .../resources/form/child_enrollment/form.xml | 1699 ++ .../child_enrollment/form_definition.json | 346 + .../child_enrollment/form_submission1.json | 427 + .../child_enrollment/form_submission2.json | 428 + .../child_enrollment/form_submission3.json | 261 + .../resources/form/child_enrollment/model.xml | 1691 ++ .../resources/form/child_followup/form.json | 4165 +++++ .../resources/form/child_followup/form.xml | 2276 +++ .../form/child_followup/form_definition.json | 466 + .../form/child_followup/form_submission.json | 103 + .../resources/form/child_followup/model.xml | 1685 ++ .../resources/form/entity_relationship.json | 34 + .../form/new_household_registration/form.json | 655 + .../form/new_household_registration/form.xml | 26 + .../form_definition.json | 166 + .../form_submission1.json | 228 + .../form_submission2.json | 207 + .../form_submission3.json | 208 + .../form_submission4.json | 208 + .../form_submission5.json | 209 + .../form_submission6.json | 216 + .../form_submission7.json | 216 + .../form_submission8.json | 211 + .../form_submission9.json | 206 + .../form/new_household_registration/model.xml | 49 + .../form.json | 1100 ++ .../form.xml | 31 + .../form_definition.json | 290 + .../form_submission1.json | 363 + .../model.xml | 83 + .../form/offsite_child_followup/form.json | 1 + .../form/offsite_child_followup/form.xml | 1560 ++ .../form_definition.json | 466 + .../form/offsite_child_followup/model.xml | 1685 ++ .../form/offsite_woman_followup/form.json | 1 + .../form/offsite_woman_followup/form.xml | 1439 ++ .../form_definition.json | 372 + .../form/offsite_woman_followup/model.xml | 1643 ++ .../form/pnc_1st_registration/form.json | 373 + .../form/pnc_1st_registration/form.xml | 29 + .../pnc_1st_registration/form_definition.json | 89 + .../pnc_1st_registration/form_submission.json | 135 + .../form/pnc_1st_registration/model.xml | 31 + .../resources/form/pnc_reg_form/form.json | 1381 ++ .../form/pnc_reg_form/form_definition.json | 315 + .../form/pnc_reg_form/form_submission.json | 459 + .../resources/form/pnc_reg_form/model.xml | 91 + .../form/vaccine_stock_position/form.json | 1 + .../form/vaccine_stock_position/form.xml | 381 + .../form_definition.json | 186 + .../form/vaccine_stock_position/model.xml | 68 + .../resources/form/woman_enrollment/form.json | 1 + .../resources/form/woman_enrollment/form.xml | 1550 ++ .../woman_enrollment/form_definition.json | 311 + .../woman_enrollment/form_submission.json | 350 + .../resources/form/woman_enrollment/model.xml | 1659 ++ .../resources/form/woman_followup/form.json | 1 + .../resources/form/woman_followup/form.xml | 1435 ++ .../form/woman_followup/form_definition.json | 384 + .../resources/form/woman_followup/model.xml | 1643 ++ .../src/test/resources/report-definition.json | 29 + .../resources/report-fields-definition.json | 10 + .../src/test/resources/sampleXLS/emptyXLS.xls | Bin 0 -> 5632 bytes .../test/resources/sampleXLS/invalidXLS.xls | Bin 0 -> 5632 bytes .../src/test/resources/sampleXLS/validXLS.xls | Bin 0 -> 5632 bytes .../test/resources/schedules/child-bcg.json | 29 + .../resources/schedules/child-boosters.json | 23 + .../schedules/child-dpt-booster1.json | 35 + .../schedules/child-dpt-booster2.json | 22 + .../schedules/child-measles-booster.json | 35 + .../resources/schedules/child-measles.json | 35 + .../resources/schedules/child-measles1.json | 35 + .../resources/schedules/child-measles2.json | 35 + .../schedules/child-opv-booster.json | 29 + .../test/resources/schedules/child-opv0.json | 29 + .../test/resources/schedules/child-opv1.json | 35 + .../test/resources/schedules/child-opv2.json | 35 + .../test/resources/schedules/child-opv3.json | 35 + .../schedules/child-pentavalent-1.json | 35 + .../schedules/child-pentavalent-2.json | 35 + .../schedules/child-pentavalent-3.json | 35 + .../schedules/child-pentavalent1.json | 35 + .../schedules/child-pentavalent2.json | 35 + .../schedules/child-pentavalent3.json | 35 + .../resources/schedules/delivery-plan.json | 35 + .../resources/schedules/ec-condom-refill.json | 29 + .../schedules/ec-dmpa-injectable-refill.json | 35 + .../ec-female-sterilization-followup.json | 75 + .../resources/schedules/ec-fp-followup.json | 35 + .../schedules/ec-fp-referral-followup.json | 35 + .../resources/schedules/ec-iud-followup.json | 58 + .../ec-male-sterilization-followup.json | 52 + .../resources/schedules/ec-ocp-refill.json | 29 + .../test/resources/schedules/fw-census.json | 35 + .../schedules/mother-anc-normal.json | 104 + .../schedules/mother-auto-close-pnc.json | 20 + .../mother-expected-date-of-delivery.json | 35 + .../schedules/mother-hb-followup-test.json | 35 + .../resources/schedules/mother-hb-test-1.json | 29 + .../resources/schedules/mother-hb-test-2.json | 29 + .../resources/schedules/mother-ifa-1.json | 35 + .../resources/schedules/mother-ifa-2.json | 35 + .../resources/schedules/mother-ifa-3.json | 35 + .../schedules/mother-lab-reminder.json | 29 + .../resources/schedules/schedule-config.xls | Bin 0 -> 12800 bytes .../test/resources/schedules/woman-tt1.json | 29 + .../test/resources/schedules/woman-tt2.json | 35 + .../test/resources/schedules/woman-tt3.json | 35 + .../test/resources/schedules/woman-tt4.json | 36 + .../test/resources/schedules/woman-tt5.json | 35 + .../test-applicationContext-opensrp.xml | 79 + .../resources/test-persistence-postgres.xml | 37 + .../test/resources/test-scripts/action.sql | 78 + .../src/test/resources/test-scripts/alert.sql | 41 + .../test-scripts/app_state_token.sql | 12 + .../test/resources/test-scripts/client.sql | 40 + .../src/test/resources/test-scripts/error.sql | 84 + .../src/test/resources/test-scripts/event.sql | 42 + .../resources/test-scripts/multimedia.sql | 11 + .../test/resources/test-scripts/report.sql | 22 + .../src/test/resources/test-scripts/stock.sql | 42 + .../test-scripts/view_configuration.sql | 21 + .../org/opensrp/domain/postgres/Settings.java | 69 + .../domain/postgres/SettingsExample.java | 456 + .../domain/postgres/SettingsMetadata.java | 168 + .../postgres/SettingsMetadataExample.java | 622 + .../org/opensrp/domain/setting/Setting.java | 144 + .../opensrp/repository/SettingRepository.java | 14 + .../couch/SettingRepositoryImpl.java | 55 + .../postgres/SettingRepositoryImpl.java | 210 + .../postgres/handler/SettingTypeHandler.java | 73 + .../postgres/mapper/SettingsMapper.java | 96 + .../mapper/SettingsMetadataMapper.java | 96 + .../mapper/custom/CustomSettingMapper.java | 9 + .../custom/CustomSettingMetadataMapper.java | 17 + .../custom/xml/CustomSettingsMapper.xml | 26 + .../xml/CustomSettingsMetadataMapper.xml | 72 + .../postgres/mapper/xml/SettingsMapper.xml | 279 + .../mapper/xml/SettingsMetadataMapper.xml | 286 + .../org/opensrp/service/SettingService.java | 50 + .../service/handler/ANCScheduleHandler.class | Bin 0 -> 3144 bytes .../service/handler/BNFScheduleHandler.class | Bin 0 -> 2623 bytes .../BaseScheduleHandler$ActionType.class | Bin 0 -> 5067 bytes .../service/handler/BaseScheduleHandler.class | Bin 0 -> 10060 bytes .../handler/ChildScheduleHandler.class | Bin 0 -> 4920 bytes .../service/handler/ElcoScheduleHandler.class | Bin 0 -> 3165 bytes .../service/handler/EventsHandlerMapper.class | Bin 0 -> 4751 bytes .../service/handler/HHScheduleHandler.class | Bin 0 -> 2868 bytes .../service/handler/PNCScheduleHandler.class | Bin 0 -> 2943 bytes .../handler/VaccinesScheduleHandler.class | Bin 0 -> 6062 bytes .../AnteNatalCareSchedulesService.class | Bin 0 -> 4310 bytes .../scheduling/BNFSchedulesService.class | Bin 0 -> 2304 bytes .../scheduling/ELCOScheduleService.class | Bin 0 -> 5799 bytes .../scheduling/ENCCSchedulesService.class | Bin 0 -> 3943 bytes .../scheduling/HHSchedulesService.class | Bin 0 -> 3108 bytes .../scheduling/PNCSchedulesService.class | Bin 0 -> 4370 bytes .../thrivepk/FormSubmissionView.class | Bin 0 -> 3342 bytes .../thrivepk/RegisterConstants$Form.class | Bin 0 -> 1688 bytes .../register/thrivepk/RegisterConstants.class | Bin 0 -> 1631 bytes .../opensrp/register/thrivepk/Schedule.class | Bin 0 -> 4723 bytes .../register/it/CreateFormSubmissions.class | Bin 0 -> 7383 bytes .../handler/ANCScheduleHandlerTest.class | Bin 0 -> 6221 bytes .../handler/BNFScheduleHandlerTest.class | Bin 0 -> 5505 bytes .../handler/BaseScheduleHandlerTest.class | Bin 0 -> 8722 bytes .../handler/ChildScheduleHandlerTest.class | Bin 0 -> 8120 bytes .../handler/ElcoScheduleHandlerTest.class | Bin 0 -> 6549 bytes .../handler/HHScheduleHandlerTest.class | Bin 0 -> 6140 bytes .../handler/PNCScheduleHandlerTest.class | Bin 0 -> 8193 bytes .../service/handler/TestResourceLoader.class | Bin 0 -> 8360 bytes .../handler/VaccinesScheduleHandlerTest.class | Bin 0 -> 8939 bytes .../AnteNatalCareSchedulesServiceTest.class | Bin 0 -> 9114 bytes .../scheduling/BNFSchedulesServiceTest.class | Bin 0 -> 4975 bytes .../scheduling/ENCCSchedulesServiceTest.class | Bin 0 -> 8540 bytes .../scheduling/ElcoSchedulesServiceTest.class | Bin 0 -> 8992 bytes .../scheduling/HHSchedulesServiceTest.class | Bin 0 -> 6262 bytes .../scheduling/PNCSchedulesServiceTest.class | Bin 0 -> 8879 bytes .../org/opensrp/register/util/Event.class | Bin 0 -> 812 bytes .../opensrp/register/util/EventBuilder.class | Bin 0 -> 5243 bytes .../register/util/FormSubmissionBuilder.class | Bin 0 -> 6023 bytes .../org/opensrp/register/util/Matcher.class | Bin 0 -> 1993 bytes opensrp-web/bin/doc/schedules/child-bcg.html | 14 + .../bin/doc/schedules/child-boosters.html | 13 + .../bin/doc/schedules/child-dpt-booster1.html | 15 + .../bin/doc/schedules/child-dpt-booster2.html | 13 + .../schedules/child-measles-and-vitamins.html | 13 + .../doc/schedules/child-measles-booster.html | 15 + .../doc/schedules/child-measles-boosters.html | 13 + .../bin/doc/schedules/child-measles.html | 15 + .../bin/doc/schedules/child-opv-0-and-1.html | 16 + .../bin/doc/schedules/child-opv-0.html | 13 + .../bin/doc/schedules/child-opv-2.html | 15 + .../bin/doc/schedules/child-opv-3.html | 15 + .../bin/doc/schedules/child-opv-booster.html | 14 + .../doc/schedules/child-pentavalent-1.html | 15 + .../doc/schedules/child-pentavalent-2.html | 15 + .../doc/schedules/child-pentavalent-3.html | 15 + .../bin/doc/schedules/ec-condom-refill.html | 14 + .../schedules/ec-dmpa-injectable-refill.html | 15 + .../ec-female-sterilization-followup.html | 18 + .../bin/doc/schedules/ec-fp-followup.html | 15 + .../schedules/ec-fp-referral-followup.html | 15 + .../bin/doc/schedules/ec-iud-followup.html | 17 + .../ec-male-sterilization-followup.html | 16 + .../bin/doc/schedules/ec-ocp-refill.html | 14 + .../bin/doc/schedules/mother-anc-normal.html | 20 + .../doc/schedules/mother-auto-close-pnc.html | 13 + .../doc/schedules/mother-delivery-plan.html | 15 + .../mother-expected-date-of-delivery.html | 14 + .../schedules/mother-hb-followup-test.html | 15 + .../bin/doc/schedules/mother-hb-test-1.html | 14 + .../bin/doc/schedules/mother-hb-test-2.html | 14 + .../bin/doc/schedules/mother-hb-test.html | 16 + .../bin/doc/schedules/mother-ifa-1.html | 15 + .../bin/doc/schedules/mother-ifa-2.html | 15 + .../bin/doc/schedules/mother-ifa-3.html | 15 + .../doc/schedules/mother-lab-reminder.html | 14 + .../bin/doc/schedules/mother-pnc-close.html | 13 + .../bin/doc/schedules/mother-tt-1.html | 14 + .../bin/doc/schedules/mother-tt-2.html | 15 + opensrp-web/bin/doc/schedules/schedule.js | 126 + opensrp-web/bin/pom.xml | 354 + .../opensrp/web/AuthenticationFilter.class | Bin 0 -> 3071 bytes .../opensrp/web/GZipCompressionFilter.class | Bin 0 -> 2764 bytes .../org/opensrp/web/GzipResponseStream.class | Bin 0 -> 4244 bytes .../org/opensrp/web/GzipResponseWrapper.class | Bin 0 -> 5241 bytes .../org/opensrp/web/HttpHeaderFactory.class | Bin 0 -> 1347 bytes .../controller/ANMLocationController.class | Bin 0 -> 5172 bytes .../web/controller/ActionController.class | Bin 0 -> 7496 bytes .../web/controller/ActionConvertor.class | Bin 0 -> 1796 bytes ...itMessageController$AuditMessageItem.class | Bin 0 -> 3886 bytes .../controller/AuditMessageController.class | Bin 0 -> 4274 bytes .../web/controller/DHIS2Controller.class | Bin 0 -> 3186 bytes .../web/controller/ErrorTraceController.class | Bin 0 -> 9228 bytes .../controller/FormDownLoadController.class | Bin 0 -> 8529 bytes .../controller/FormSubmissionController.class | Bin 0 -> 8326 bytes .../web/controller/LocationController.class | Bin 0 -> 4025 bytes .../web/controller/MultimediaController.class | Bin 0 -> 8787 bytes .../web/controller/ReportController.class | Bin 0 -> 4279 bytes .../web/controller/UniqueIdController.class | Bin 0 -> 8511 bytes .../web/controller/UserController.class | Bin 0 -> 9548 bytes .../controller/XlsDataImportController.class | Bin 0 -> 10331 bytes .../XlsFormDownloaderController.class | Bin 0 -> 5978 bytes .../fake/FakeActionController.class | Bin 0 -> 3020 bytes .../controller/fake/FakeTimeController.class | Bin 0 -> 2128 bytes .../listener/ApplicationStartupListener.class | Bin 0 -> 1947 bytes .../org/opensrp/web/rest/ClientResource.class | Bin 0 -> 7789 bytes .../org/opensrp/web/rest/EventResource.class | Bin 0 -> 8355 bytes .../org/opensrp/web/rest/ExportResource.class | Bin 0 -> 2795 bytes .../web/rest/FormSubmissionResource.class | Bin 0 -> 6166 bytes .../opensrp/web/rest/ProviderResource.class | Bin 0 -> 7775 bytes .../org/opensrp/web/rest/ReportResource.class | Bin 0 -> 5444 bytes .../org/opensrp/web/rest/ResponseUtil.class | Bin 0 -> 2846 bytes .../org/opensrp/web/rest/RestResource.class | Bin 0 -> 6215 bytes .../java/org/opensrp/web/rest/RestUtils.class | Bin 0 -> 7541 bytes .../web/rest/SearchResource$ChildMother.class | Bin 0 -> 5463 bytes .../org/opensrp/web/rest/SearchResource.class | Bin 0 -> 9001 bytes .../org/opensrp/web/rest/StockResource.class | Bin 0 -> 8702 bytes .../opensrp/web/rest/ValidateResource.class | Bin 0 -> 7774 bytes .../web/rest/ViewConfigurationResource.class | Bin 0 -> 3314 bytes .../web/rest/rapid/RapidClientResource.class | Bin 0 -> 8709 bytes .../web/rest/rapid/SimpleRestResource.class | Bin 0 -> 5594 bytes .../DrishtiAuthenticationProvider.class | Bin 0 -> 9397 bytes .../java/org/opensrp/web/utils/PdfUtil.class | Bin 0 -> 5275 bytes .../resources/mcts-report-definition.json | 1227 ++ .../bin/src/main/resources/quartz.properties | 17 + .../src/main/resources/report-definition.json | 2214 +++ .../resources/report-fields-definition.json | 128 + .../src/main/resources/sms-http-template.json | 15 + .../src/main/resources/sms-http.properties | 1 + .../spring/applicationContext-opensrp-web.xml | 65 + .../resources/spring/listener-context.xml | 28 + .../main/resources/spring/securityContext.xml | 28 + .../bin/src/main/webapp/META-INF/context.xml | 23 + .../src/main/webapp/WEB-INF/home_error.jsp | 603 + .../src/main/webapp/WEB-INF/solvederrors.jsp | 107 + .../WEB-INF/spring/listener-context.xml | 22 + .../webapp/WEB-INF/spring/webmvc-config.xml | 26 + .../main/webapp/WEB-INF/unsolvederrors.jsp | 107 + .../src/main/webapp/WEB-INF/view_error.jsp | 159 + .../bin/src/main/webapp/WEB-INF/web.xml | 114 + .../main/webapp/WEB-INF/xlsformdownloader.jsp | 137 + .../bin/src/main/webapp/audit/log.html | 20 + opensrp-web/bin/src/main/webapp/index.html | 12 + .../bin/src/main/webapp/js/auditlog.js | 97 + .../src/main/webapp/js/domain/auditmessage.js | 37 + .../bin/src/main/webapp/js/fakeactions.js | 56 + .../bin/src/main/webapp/js/faketime.js | 59 + .../main/webapp/js/handlebars-1.0.0.beta.6.js | 1550 ++ .../src/main/webapp/js/jquery.color.min.js | 11 + .../bin/src/main/webapp/js/jquery.min.js | 4 + .../resources/css/bootstrap-theme.min.css | 5 + .../webapp/resources/css/bootstrap.min.css | 5 + .../resources/css/jquery.dataTables.min.css | 1 + .../src/main/webapp/resources/css/style.css | 1 + .../fonts/glyphicons-halflings-regular.eot | Bin 0 -> 20127 bytes .../fonts/glyphicons-halflings-regular.svg | 288 + .../fonts/glyphicons-halflings-regular.ttf | Bin 0 -> 45404 bytes .../fonts/glyphicons-halflings-regular.woff | Bin 0 -> 23424 bytes .../fonts/glyphicons-halflings-regular.woff2 | Bin 0 -> 18028 bytes .../webapp/resources/images/Sorting icons.psd | Bin 0 -> 27490 bytes .../main/webapp/resources/images/favicon.ico | Bin 0 -> 894 bytes .../main/webapp/resources/images/sort_asc.png | Bin 0 -> 160 bytes .../resources/images/sort_asc_disabled.png | Bin 0 -> 148 bytes .../webapp/resources/images/sort_both.png | Bin 0 -> 201 bytes .../webapp/resources/images/sort_desc.png | Bin 0 -> 158 bytes .../resources/images/sort_desc_disabled.png | Bin 0 -> 146 bytes .../main/webapp/resources/js/bootstrap.min.js | 7 + .../webapp/resources/js/jquery.dataTables.js | 14951 ++++++++++++++++ .../resources/js/jquery.dataTables.min.js | 160 + .../src/main/webapp/resources/js/jquery.js | 5 + .../main/webapp/resources/js/jquery.min.js | 5 + .../src/main/webapp/resources/js/scripts.js | 1 + .../main/webapp/resources/opensrp_logo.png | Bin 0 -> 10455 bytes .../src/main/webapp/stylesheets/auditlog.css | 45 + .../src/main/webapp/stylesheets/fakeforms.css | 73 + .../src/main/webapp/stylesheets/faketime.css | 20 + .../bin/src/main/webapp/test/fakeactions.html | 75 + .../bin/src/main/webapp/test/faketime.html | 29 + .../org/opensrp/fixtures/csv_to_import.csv | 3 + .../integration/ChildImmunizationFields.class | Bin 0 -> 2966 bytes .../ScheduleTrackingSchedulesJSONTest.class | Bin 0 -> 1498 bytes .../SpringApplicationContextProvider.class | Bin 0 -> 1796 bytes .../web/AuthenticationFilterTest.class | Bin 0 -> 2430 bytes .../AuditMessageControllerTest.class | Bin 0 -> 8930 bytes .../web/controller/FormDownloadTest.class | Bin 0 -> 2085 bytes .../web/controller/OpenmrsReportingTest.class | Bin 0 -> 3598 bytes .../web/controller/UserControllerTest.class | Bin 0 -> 35488 bytes .../XlsDataImportControllerTest.class | Bin 0 -> 6795 bytes .../controller/it/ActionControllerTest.class | Bin 0 -> 7396 bytes ...uditMessageControllerIntegrationTest.class | Bin 0 -> 1836 bytes .../ErrorTraceControllerIntegrationTest.class | Bin 0 -> 9505 bytes .../it/FormDownloadIntegrationTest.class | Bin 0 -> 4356 bytes .../it/FormSubmissionIntegrationTest.class | Bin 0 -> 9711 bytes .../it/UserControllerIntegrationTest.class | Bin 0 -> 3887 bytes .../web/it/AtomFeedIntegrationTest.class | Bin 0 -> 6328 bytes ...duleConstants$ChildScheduleConstants.class | Bin 0 -> 3939 bytes ...heduleConstants$ECSchedulesConstants.class | Bin 0 -> 4767 bytes ...uleConstants$MotherScheduleConstants.class | Bin 0 -> 4138 bytes .../web/it/DrishtiScheduleConstants.class | Bin 0 -> 3673 bytes .../it/DrishtiSchedulesIntegrationTest.class | Bin 0 -> 12920 bytes .../web/rest/it/BaseResourceTest.class | Bin 0 -> 10078 bytes .../web/rest/it/ClientResourceTest.class | Bin 0 -> 9648 bytes .../web/rest/it/EventResourceTest.class | Bin 0 -> 10094 bytes .../rest/it/FormSubmissionResourceTest.class | Bin 0 -> 9281 bytes .../web/rest/it/ProviderResourceTest.class | Bin 0 -> 6225 bytes .../web/rest/it/ReportResourceTest.class | Bin 0 -> 4589 bytes .../web/rest/it/ResourceTestUtility.class | Bin 0 -> 3169 bytes .../web/rest/it/SearchResourceTest.class | Bin 0 -> 8762 bytes .../web/rest/it/StockResourceTest.class | Bin 0 -> 9265 bytes .../web/rest/it/TestWebContextLoader.class | Bin 0 -> 5850 bytes .../DrishtiAuthenticationProviderTest.class | Bin 0 -> 1347 bytes .../opensrp/web/utils/OpenmrsHttpUtil.class | Bin 0 -> 663 bytes .../org/opensrp/web/utils/PdfUtilTest.class | Bin 0 -> 1531 bytes .../org/opensrp/web/utils/RestUtilsTest.class | Bin 0 -> 1801 bytes .../web/utils/TestResourceLoader.class | Bin 0 -> 7098 bytes .../bin/src/test/js/auditmessage_spec.js | 95 + .../resources/form/child_enrollment/form.json | 1 + .../resources/form/child_enrollment/form.xml | 1699 ++ .../child_enrollment/form_definition.json | 343 + .../resources/form/child_enrollment/model.xml | 1690 ++ .../resources/form/child_followup/form.json | 1 + .../resources/form/child_followup/form.xml | 1689 ++ .../form/child_followup/form_definition.json | 459 + .../resources/form/child_followup/model.xml | 1697 ++ .../resources/form/entity_relationship.json | 35 + .../form/new_household_registration/form.json | 655 + .../form/new_household_registration/form.xml | 26 + .../form_definition.json | 166 + .../form_submission1.json | 228 + .../form_submission10.json | 248 + .../form_submission2.json | 207 + .../form_submission3.json | 208 + .../form_submission4.json | 208 + .../form_submission5.json | 209 + .../form_submission6.json | 216 + .../form_submission7.json | 216 + .../form_submission8.json | 211 + .../form_submission9.json | 206 + .../form/new_household_registration/model.xml | 49 + .../form/offsite_child_followup/form.json | 1 + .../form/offsite_child_followup/form.xml | 1694 ++ .../form_definition.json | 459 + .../form/offsite_child_followup/model.xml | 1697 ++ .../form/offsite_woman_followup/form.json | 1 + .../form/offsite_woman_followup/form.xml | 1500 ++ .../form_definition.json | 377 + .../form/offsite_woman_followup/model.xml | 1645 ++ .../form/vaccine_stock_position/form.json | 1 + .../form/vaccine_stock_position/form.xml | 385 + .../form_definition.json | 189 + .../form/vaccine_stock_position/model.xml | 68 + .../resources/form/woman_enrollment/form.json | 1 + .../resources/form/woman_enrollment/form.xml | 1559 ++ .../woman_enrollment/form_definition.json | 308 + .../resources/form/woman_enrollment/model.xml | 1658 ++ .../resources/form/woman_followup/form.json | 1 + .../resources/form/woman_followup/form.xml | 1495 ++ .../form/woman_followup/form_definition.json | 377 + .../resources/form/woman_followup/model.xml | 1645 ++ .../test/resources/schedules/child-bcg.json | 35 + .../schedules/child-dpt-booster1.json | 35 + .../schedules/child-dpt-booster2.json | 22 + .../test/resources/schedules/child-ipv.json | 41 + .../resources/schedules/child-measles1.json | 41 + .../resources/schedules/child-measles2.json | 41 + .../schedules/child-opv-booster.json | 29 + .../test/resources/schedules/child-opv0.json | 35 + .../test/resources/schedules/child-opv1.json | 41 + .../test/resources/schedules/child-opv2.json | 41 + .../test/resources/schedules/child-opv3.json | 41 + .../test/resources/schedules/child-pcv1.json | 41 + .../test/resources/schedules/child-pcv2.json | 41 + .../test/resources/schedules/child-pcv3.json | 41 + .../schedules/child-pentavalent1.json | 41 + .../schedules/child-pentavalent2.json | 41 + .../schedules/child-pentavalent3.json | 41 + .../resources/schedules/delivery-plan.json | 35 + .../resources/schedules/ec-condom-refill.json | 29 + .../schedules/ec-dmpa-injectable-refill.json | 35 + .../ec-female-sterilization-followup.json | 75 + .../resources/schedules/ec-fp-followup.json | 35 + .../schedules/ec-fp-referral-followup.json | 35 + .../resources/schedules/ec-iud-followup.json | 58 + .../ec-male-sterilization-followup.json | 52 + .../resources/schedules/ec-ocp-refill.json | 29 + .../test/resources/schedules/fw-census.json | 35 + .../schedules/mother-anc-normal.json | 104 + .../schedules/mother-auto-close-pnc.json | 20 + .../mother-expected-date-of-delivery.json | 35 + .../schedules/mother-hb-followup-test.json | 35 + .../resources/schedules/mother-hb-test-1.json | 29 + .../resources/schedules/mother-hb-test-2.json | 29 + .../resources/schedules/mother-ifa-1.json | 35 + .../resources/schedules/mother-ifa-2.json | 35 + .../resources/schedules/mother-ifa-3.json | 35 + .../schedules/mother-lab-reminder.json | 29 + .../resources/schedules/schedule-config.xls | Bin 0 -> 24064 bytes .../test/resources/schedules/woman-tt2.json | 35 + .../test/resources/schedules/woman-tt3.json | 35 + .../test/resources/schedules/woman-tt4.json | 36 + .../test/resources/schedules/woman-tt5.json | 36 + 979 files changed, 135686 insertions(+), 5 deletions(-) create mode 100644 assets/migrations/scripts/20180904141214_create_settings_table.sql.sql create mode 100644 assets/migrations/scripts/20180904141237_create_settings_metadata_table.sql.sql create mode 100644 opensrp-connector/bin/.gitignore create mode 100644 opensrp-connector/bin/pom.xml create mode 100644 opensrp-connector/bin/src/main/java/org/opensrp/connector/MultipartHttpUtil.class create mode 100644 opensrp-connector/bin/src/main/java/org/opensrp/connector/MultipartUtility.class create mode 100644 opensrp-connector/bin/src/main/java/org/opensrp/connector/atomfeed/AllFailedEventsCouchImpl$AllFailedEventInnerRepository.class create mode 100644 opensrp-connector/bin/src/main/java/org/opensrp/connector/atomfeed/AllFailedEventsCouchImpl.class create mode 100644 opensrp-connector/bin/src/main/java/org/opensrp/connector/atomfeed/AllFailedEventsInMemoryImpl.class create mode 100644 opensrp-connector/bin/src/main/java/org/opensrp/connector/atomfeed/AllMarkersCouchImpl.class create mode 100644 opensrp-connector/bin/src/main/java/org/opensrp/connector/atomfeed/AllMarkersInMemoryImpl.class create mode 100644 opensrp-connector/bin/src/main/java/org/opensrp/connector/atomfeed/AtomfeedService.class create mode 100644 opensrp-connector/bin/src/main/java/org/opensrp/connector/atomfeed/domain/FailedEvent.class create mode 100644 opensrp-connector/bin/src/main/java/org/opensrp/connector/atomfeed/domain/Marker.class create mode 100644 opensrp-connector/bin/src/main/java/org/opensrp/connector/dhis2/DHIS2AggregateConnector.class create mode 100644 opensrp-connector/bin/src/main/java/org/opensrp/connector/dhis2/DHIS2DatasetPush.class create mode 100644 opensrp-connector/bin/src/main/java/org/opensrp/connector/dhis2/DHIS2Service.class create mode 100644 opensrp-connector/bin/src/main/java/org/opensrp/connector/dhis2/Dhis2HttpUtils.class create mode 100644 opensrp-connector/bin/src/main/java/org/opensrp/connector/dhis2/Dhis2TrackCaptureConnector.class create mode 100644 opensrp-connector/bin/src/main/java/org/opensrp/connector/dhis2/DhisSchedulerConfig.class create mode 100644 opensrp-connector/bin/src/main/java/org/opensrp/connector/dhis2/TurnOffCertificateValidation.class create mode 100644 opensrp-connector/bin/src/main/java/org/opensrp/connector/openmrs/EncounterAtomfeed.class create mode 100644 opensrp-connector/bin/src/main/java/org/opensrp/connector/openmrs/PatientAtomfeed.class create mode 100644 opensrp-connector/bin/src/main/java/org/opensrp/connector/openmrs/constants/OpenmrsConstants$SchedulerConfig.class create mode 100644 opensrp-connector/bin/src/main/java/org/opensrp/connector/openmrs/constants/OpenmrsConstants.class create mode 100644 opensrp-connector/bin/src/main/java/org/opensrp/connector/openmrs/constants/OpenmrsHouseHold$HouseholdMember.class create mode 100644 opensrp-connector/bin/src/main/java/org/opensrp/connector/openmrs/constants/OpenmrsHouseHold.class create mode 100644 opensrp-connector/bin/src/main/java/org/opensrp/connector/openmrs/schedule/OpenmrsAtomfeedListener.class create mode 100644 opensrp-connector/bin/src/main/java/org/opensrp/connector/openmrs/schedule/OpenmrsSyncerListener.class create mode 100644 opensrp-connector/bin/src/main/java/org/opensrp/connector/openmrs/schedule/OpenmrsValidateDataSync.class create mode 100644 opensrp-connector/bin/src/main/java/org/opensrp/connector/openmrs/service/EncounterService.class create mode 100644 opensrp-connector/bin/src/main/java/org/opensrp/connector/openmrs/service/HouseholdService.class create mode 100644 opensrp-connector/bin/src/main/java/org/opensrp/connector/openmrs/service/OpenmrsLocationService$AllowedLevels.class create mode 100644 opensrp-connector/bin/src/main/java/org/opensrp/connector/openmrs/service/OpenmrsLocationService.class create mode 100644 opensrp-connector/bin/src/main/java/org/opensrp/connector/openmrs/service/OpenmrsReportingService.class create mode 100644 opensrp-connector/bin/src/main/java/org/opensrp/connector/openmrs/service/OpenmrsSchedulerService.class create mode 100644 opensrp-connector/bin/src/main/java/org/opensrp/connector/openmrs/service/OpenmrsService.class create mode 100644 opensrp-connector/bin/src/main/java/org/opensrp/connector/openmrs/service/OpenmrsUserService.class create mode 100644 opensrp-connector/bin/src/main/java/org/opensrp/connector/openmrs/service/PatientService.class create mode 100644 opensrp-connector/bin/src/main/resources/applicationContext-connector.xml create mode 100644 opensrp-connector/bin/src/test/java/org/opensrp/connector/SpringApplicationContextProvider.class create mode 100644 opensrp-connector/bin/src/test/java/org/opensrp/connector/dhis2/DHIS2DatasetPushTest.class create mode 100644 opensrp-connector/bin/src/test/java/org/opensrp/connector/openmrs/AllMarkerIntegrationTest.class create mode 100644 opensrp-connector/bin/src/test/java/org/opensrp/connector/openmrs/AtomFeedTest.class create mode 100644 opensrp-connector/bin/src/test/java/org/opensrp/connector/openmrs/service/EncounterTest.class create mode 100644 opensrp-connector/bin/src/test/java/org/opensrp/connector/openmrs/service/HouseHoldTest.class create mode 100644 opensrp-connector/bin/src/test/java/org/opensrp/connector/openmrs/service/OpenmrsLocationTest.class create mode 100644 opensrp-connector/bin/src/test/java/org/opensrp/connector/openmrs/service/OpenmrsSchedulerServiceTest.class create mode 100644 opensrp-connector/bin/src/test/java/org/opensrp/connector/openmrs/service/OpenmrsUserServiceTest.class create mode 100644 opensrp-connector/bin/src/test/java/org/opensrp/connector/openmrs/service/PatientTest.class create mode 100644 opensrp-connector/bin/src/test/java/org/opensrp/connector/openmrs/service/TestResourceLoader.class create mode 100644 opensrp-connector/bin/src/test/resources/form/basic_reg/form.json create mode 100644 opensrp-connector/bin/src/test/resources/form/basic_reg/form.xml create mode 100644 opensrp-connector/bin/src/test/resources/form/basic_reg/form_definition.json create mode 100644 opensrp-connector/bin/src/test/resources/form/basic_reg/form_submission.json create mode 100644 opensrp-connector/bin/src/test/resources/form/basic_reg/model.xml create mode 100644 opensrp-connector/bin/src/test/resources/form/child_enrollment/form.json create mode 100644 opensrp-connector/bin/src/test/resources/form/child_enrollment/form.xml create mode 100644 opensrp-connector/bin/src/test/resources/form/child_enrollment/form_definition.json create mode 100644 opensrp-connector/bin/src/test/resources/form/child_enrollment/form_submission.json create mode 100644 opensrp-connector/bin/src/test/resources/form/child_enrollment/model.xml create mode 100644 opensrp-connector/bin/src/test/resources/form/child_followup/form.json create mode 100644 opensrp-connector/bin/src/test/resources/form/child_followup/form.xml create mode 100644 opensrp-connector/bin/src/test/resources/form/child_followup/form_definition.json create mode 100644 opensrp-connector/bin/src/test/resources/form/child_followup/model.xml create mode 100644 opensrp-connector/bin/src/test/resources/form/new_household_registration/form.json create mode 100644 opensrp-connector/bin/src/test/resources/form/new_household_registration/form.xml create mode 100644 opensrp-connector/bin/src/test/resources/form/new_household_registration/form_definition.json create mode 100644 opensrp-connector/bin/src/test/resources/form/new_household_registration/form_submission1.json create mode 100644 opensrp-connector/bin/src/test/resources/form/new_household_registration/form_submission2.json create mode 100644 opensrp-connector/bin/src/test/resources/form/new_household_registration/form_submission3.json create mode 100644 opensrp-connector/bin/src/test/resources/form/new_household_registration/form_submission4.json create mode 100644 opensrp-connector/bin/src/test/resources/form/new_household_registration/form_submission5.json create mode 100644 opensrp-connector/bin/src/test/resources/form/new_household_registration/form_submission6.json create mode 100644 opensrp-connector/bin/src/test/resources/form/new_household_registration/form_submission7.json create mode 100644 opensrp-connector/bin/src/test/resources/form/new_household_registration/form_submission8.json create mode 100644 opensrp-connector/bin/src/test/resources/form/new_household_registration/model.xml create mode 100644 opensrp-connector/bin/src/test/resources/form/new_household_registration_with_grouped_subform_data/form.json create mode 100644 opensrp-connector/bin/src/test/resources/form/new_household_registration_with_grouped_subform_data/form.xml create mode 100644 opensrp-connector/bin/src/test/resources/form/new_household_registration_with_grouped_subform_data/form_definition.json create mode 100644 opensrp-connector/bin/src/test/resources/form/new_household_registration_with_grouped_subform_data/form_submission1.json create mode 100644 opensrp-connector/bin/src/test/resources/form/new_household_registration_with_grouped_subform_data/model.xml create mode 100644 opensrp-connector/bin/src/test/resources/form/offsite_child_followup/form.json create mode 100644 opensrp-connector/bin/src/test/resources/form/offsite_child_followup/form.xml create mode 100644 opensrp-connector/bin/src/test/resources/form/offsite_child_followup/form_definition.json create mode 100644 opensrp-connector/bin/src/test/resources/form/offsite_child_followup/model.xml create mode 100644 opensrp-connector/bin/src/test/resources/form/offsite_woman_followup/form.json create mode 100644 opensrp-connector/bin/src/test/resources/form/offsite_woman_followup/form.xml create mode 100644 opensrp-connector/bin/src/test/resources/form/offsite_woman_followup/form_definition.json create mode 100644 opensrp-connector/bin/src/test/resources/form/offsite_woman_followup/model.xml create mode 100644 opensrp-connector/bin/src/test/resources/form/pnc_1st_registration/form.json create mode 100644 opensrp-connector/bin/src/test/resources/form/pnc_1st_registration/form.xml create mode 100644 opensrp-connector/bin/src/test/resources/form/pnc_1st_registration/form_definition.json create mode 100644 opensrp-connector/bin/src/test/resources/form/pnc_1st_registration/form_submission.json create mode 100644 opensrp-connector/bin/src/test/resources/form/pnc_1st_registration/model.xml create mode 100644 opensrp-connector/bin/src/test/resources/form/psrf_form/form.json create mode 100644 opensrp-connector/bin/src/test/resources/form/psrf_form/form_definition.json create mode 100644 opensrp-connector/bin/src/test/resources/form/psrf_form/form_submission.json create mode 100644 opensrp-connector/bin/src/test/resources/form/psrf_form/model.xml create mode 100644 opensrp-connector/bin/src/test/resources/form/repeatform/form.json create mode 100644 opensrp-connector/bin/src/test/resources/form/repeatform/form_definition.json create mode 100644 opensrp-connector/bin/src/test/resources/form/repeatform/form_submission.json create mode 100644 opensrp-connector/bin/src/test/resources/form/repeatform/model.xml create mode 100644 opensrp-connector/bin/src/test/resources/form/vaccine_stock_position/form.json create mode 100644 opensrp-connector/bin/src/test/resources/form/vaccine_stock_position/form.xml create mode 100644 opensrp-connector/bin/src/test/resources/form/vaccine_stock_position/form_definition.json create mode 100644 opensrp-connector/bin/src/test/resources/form/vaccine_stock_position/model.xml create mode 100644 opensrp-connector/bin/src/test/resources/form/woman_enrollment/form.json create mode 100644 opensrp-connector/bin/src/test/resources/form/woman_enrollment/form.xml create mode 100644 opensrp-connector/bin/src/test/resources/form/woman_enrollment/form_definition.json create mode 100644 opensrp-connector/bin/src/test/resources/form/woman_enrollment/form_submission.json create mode 100644 opensrp-connector/bin/src/test/resources/form/woman_enrollment/model.xml create mode 100644 opensrp-connector/bin/src/test/resources/form/woman_followup/form.json create mode 100644 opensrp-connector/bin/src/test/resources/form/woman_followup/form.xml create mode 100644 opensrp-connector/bin/src/test/resources/form/woman_followup/form_definition.json create mode 100644 opensrp-connector/bin/src/test/resources/form/woman_followup/model.xml create mode 100644 opensrp-connector/bin/src/test/resources/test-applicationContext-opensrp-connector.xml create mode 100644 opensrp-core/bin/jacoco.exec create mode 100644 opensrp-core/bin/pom.xml create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/Address.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/AppStateToken.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/BaseDataObject.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/BaseEntity.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/Client.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/ContactPoint.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/ErrorTrace.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/ErrorTraceForm.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/Event.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/Form.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/FormDefinition.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/FormField.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/Hia2Indicator.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/Multimedia.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/Obs.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/Photo.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/Provider.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/Report.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/Search.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/Stock.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/SubFormDefinition.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/UniqueId.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/User.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/Action.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ActionExample$Criteria.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ActionExample$Criterion.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ActionExample$GeneratedCriteria.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ActionExample.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ActionMetadata.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ActionMetadataExample$Criteria.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ActionMetadataExample$Criterion.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ActionMetadataExample$GeneratedCriteria.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ActionMetadataExample.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/Alert.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/AlertExample$Criteria.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/AlertExample$Criterion.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/AlertExample$GeneratedCriteria.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/AlertExample.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/AlertMetadata.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/AlertMetadataExample$Criteria.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/AlertMetadataExample$Criterion.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/AlertMetadataExample$GeneratedCriteria.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/AlertMetadataExample.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/AppStateToken.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/AppStateTokenExample$Criteria.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/AppStateTokenExample$Criterion.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/AppStateTokenExample$GeneratedCriteria.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/AppStateTokenExample.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/Client.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ClientExample$Criteria.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ClientExample$Criterion.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ClientExample$GeneratedCriteria.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ClientExample.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ClientMetadata.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ClientMetadataExample$Criteria.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ClientMetadataExample$Criterion.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ClientMetadataExample$GeneratedCriteria.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ClientMetadataExample.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ErrorTrace.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ErrorTraceExample$Criteria.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ErrorTraceExample$Criterion.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ErrorTraceExample$GeneratedCriteria.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ErrorTraceExample.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/Event.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/EventExample$Criteria.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/EventExample$Criterion.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/EventExample$GeneratedCriteria.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/EventExample.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/EventMetadata.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/EventMetadataExample$Criteria.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/EventMetadataExample$Criterion.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/EventMetadataExample$GeneratedCriteria.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/EventMetadataExample.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/MultiMedia.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/MultiMediaExample$Criteria.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/MultiMediaExample$Criterion.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/MultiMediaExample$GeneratedCriteria.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/MultiMediaExample.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/Report.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ReportExample$Criteria.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ReportExample$Criterion.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ReportExample$GeneratedCriteria.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ReportExample.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ReportMetadata.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ReportMetadataExample$Criteria.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ReportMetadataExample$Criterion.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ReportMetadataExample$GeneratedCriteria.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ReportMetadataExample.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/Stock.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/StockExample$Criteria.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/StockExample$Criterion.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/StockExample$GeneratedCriteria.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/StockExample.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/StockMetadata.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/StockMetadataExample$Criteria.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/StockMetadataExample$Criterion.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/StockMetadataExample$GeneratedCriteria.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/StockMetadataExample.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ViewConfiguration.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ViewConfigurationExample$Criteria.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ViewConfigurationExample$Criterion.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ViewConfigurationExample$GeneratedCriteria.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ViewConfigurationExample.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ViewConfigurationMetadata.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ViewConfigurationMetadataExample$Criteria.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ViewConfigurationMetadataExample$Criterion.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ViewConfigurationMetadataExample$GeneratedCriteria.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ViewConfigurationMetadataExample.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/setting/Setting.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/setting/SettingConfiguration.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/viewconfiguration/BaseConfiguration.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/viewconfiguration/LoginConfiguration$Background.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/viewconfiguration/LoginConfiguration.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/viewconfiguration/MainConfiguration.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/viewconfiguration/RegisterConfiguration.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/viewconfiguration/View$Residence.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/viewconfiguration/View.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/domain/viewconfiguration/ViewConfiguration.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/AppStateTokensRepository.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/BaseRepository.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/ClientsRepository.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/ErrorTraceRepository.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/EventsRepository.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/MultimediaRepository.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/ReportsRepository.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/SearchRepository.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/StocksRepository.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/UniqueIdRepository$UniqueIdRowMapper.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/UniqueIdRepository.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/ViewConfigurationRepository.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/couch/AllAppStateTokens.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/couch/AllClients.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/couch/AllErrorTrace.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/couch/AllEvents.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/couch/AllReports.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/couch/AllStocks.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/couch/MultimediaRepositoryImpl.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/couch/SearchRepositoryImpl.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/couch/SettingRepositoryImpl.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/couch/ViewConfigurationRepositoryImpl.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/lucene/FilterType.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/lucene/LuceneActionRepository.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/lucene/LuceneClientRepository.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/lucene/LuceneDbConnector.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/lucene/LuceneEventRepository.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/lucene/LuceneReportRepository.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/lucene/LuceneSearchRepository.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/lucene/LuceneStockRepository.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/lucene/Query.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/ActionRepositoryImpl.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/AlertsRepositoryImpl.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/AppStateTokensRepositoryImpl.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/BaseRepositoryImpl.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/ClientsRepositoryImpl.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/ErrorTraceRepositoryImpl.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/EventsRepositoryImpl.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/MultimediaRepositoryImpl.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/ReportsRepositoryImpl.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/SearchRepositoryImpl.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/StocksRepositoryImpl.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/ViewConfigurationRepositoryImpl.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/handler/ActionTypeHandler.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/handler/AlertTypeHandler.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/handler/BaseTypeHandler.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/handler/ClientTypeHandler.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/handler/DateTimeTypeHandler.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/handler/EventTypeHandler.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/handler/ReportTypeHandler.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/handler/StockTypeHandler.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/handler/ViewConfigurationTypeHandler.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/ActionMapper.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/ActionMetadataMapper.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/AlertMapper.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/AlertMetadataMapper.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/AppStateTokenMapper.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/ClientMapper.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/ClientMetadataMapper.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/ErrorTraceMapper.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/EventMapper.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/EventMetadataMapper.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/MultiMediaMapper.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/ReportMapper.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/ReportMetadataMapper.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/SettingsMapper.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/SettingsMetadataMapper.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/StockMapper.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/StockMetadataMapper.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/ViewConfigurationMapper.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/ViewConfigurationMetadataMapper.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/CustomActionMapper.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/CustomActionMetadataMapper.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/CustomAlertMapper.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/CustomAlertMetadataMapper.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/CustomClientMapper.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/CustomClientMetadataMapper.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/CustomErrorTraceMapper.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/CustomEventMapper.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/CustomEventMetadataMapper.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/CustomMultiMediaMapper.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/CustomReportMapper.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/CustomReportMetadataMapper.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/CustomStockMapper.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/CustomStockMetadataMapper.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/CustomViewConfigurationMapper.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/CustomViewConfigurationMetadataMapper.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/xml/CustomActionMapper.xml create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/xml/CustomActionMetadataMapper.xml create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/xml/CustomAlertMapper.xml create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/xml/CustomAlertMetadataMapper.xml create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/xml/CustomClientMapper.xml create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/xml/CustomClientMetadataMapper.xml create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/xml/CustomErrorTraceMapper.xml create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/xml/CustomEventMapper.xml create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/xml/CustomEventMetadataMapper.xml create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/xml/CustomMultiMediaMapper.xml create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/xml/CustomReportMapper.xml create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/xml/CustomReportMetadataMapper.xml create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/xml/CustomStockMapper.xml create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/xml/CustomStockMetadataMapper.xml create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/xml/CustomViewConfigurationMapper.xml create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/xml/CustomViewConfigurationMetadataMapper.xml create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/xml/ActionMapper.xml create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/xml/ActionMetadataMapper.xml create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/xml/AlertMapper.xml create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/xml/AlertMetadataMapper.xml create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/xml/AppStateTokenMapper.xml create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/xml/ClientMapper.xml create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/xml/ClientMetadataMapper.xml create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/xml/ErrorTraceMapper.xml create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/xml/EventMapper.xml create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/xml/EventMetadataMapper.xml create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/xml/MultiMediaMapper.xml create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/xml/ReportMapper.xml create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/xml/ReportMetadataMapper.xml create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/xml/StockMapper.xml create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/xml/StockMetadataMapper.xml create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/xml/ViewConfigurationMapper.xml create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/xml/ViewConfigurationMetadataMapper.xml create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/scheduler/Action.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/scheduler/Alert$AlertType.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/scheduler/Alert$TriggerType.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/scheduler/Alert.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/scheduler/AlertCreationAction.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/scheduler/AlertHandler.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/scheduler/AlertRouter.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/scheduler/ECAlertCreationAction.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/scheduler/HealthSchedulerService$MetadataField.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/scheduler/HealthSchedulerService.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/scheduler/HookedEvent.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/scheduler/Matcher$AnyMatcher.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/scheduler/Matcher$AnyOfMatcher.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/scheduler/Matcher$EqMatcher.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/scheduler/Matcher.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/scheduler/MilestoneEvent.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/scheduler/NoRoutesMatchException.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/scheduler/RepeatingCronSchedule.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/scheduler/RepeatingSchedule.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/scheduler/Route.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/scheduler/Schedule$ActionType.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/scheduler/Schedule.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/scheduler/ScheduleConfig.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/scheduler/SystemEvent.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/scheduler/TaskSchedulerService.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/scheduler/repository/ActionsRepository.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/scheduler/repository/AlertsRepository.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/scheduler/repository/couch/AllActions.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/scheduler/repository/couch/AllAlerts.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/scheduler/service/ActionService.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/scheduler/service/AllEnrollmentWrapper.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/scheduler/service/AllScheduleWrapper.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/scheduler/service/ScheduleService.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/search/AddressSearchBean.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/search/ClientSearchBean.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/search/EventSearchBean.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/search/StockSearchBean.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/service/ClientService.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/service/ConfigService.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/service/ErrorTraceService.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/service/EventService.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/service/FormSubmissionDataMigrationService$MigrateFormSubmissionsTask.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/service/FormSubmissionDataMigrationService$MigrationType.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/service/FormSubmissionDataMigrationService.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/service/MultimediaService.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/service/OpenmrsIDService.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/service/RapidProService.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/service/RapidProServiceImpl.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/service/ReportService.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/service/SearchService.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/service/SettingService.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/service/StockService.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/service/ViewConfigurationService.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/service/XlsFormDownloaderService.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/service/formSubmission/EventsListener.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/service/formSubmission/FormEntityConverter.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/service/formSubmission/FormSubmissionListener.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/service/formSubmission/FormSubmissionProcessor.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/service/formSubmission/handler/CustomFormSubmissionHandler.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/service/formSubmission/handler/EventsHandler.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/service/formSubmission/handler/EventsRouter.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/service/formSubmission/handler/FormSubmissionProcessedListener.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/service/formSubmission/handler/FormSubmissionRouter.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/service/formSubmission/handler/HandlerMapper.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/service/formSubmission/handler/IHandlerMapper.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/service/formSubmission/ziggy/EntityDataMap.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/service/formSubmission/ziggy/ZiggyDataHandler.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/service/formSubmission/ziggy/ZiggyFileLoader.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/service/formSubmission/ziggy/ZiggyService.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/util/DataQuery.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/util/DateTimeDeserializer.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/util/DateTimeTypeConverter.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/util/FileCreator.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/util/JsonParser.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/util/NetClientGet.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/util/OpenSRPHttpClientFactoryBean.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/util/SafeMap.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/util/Utils$DatabaseConnectionParams.class create mode 100644 opensrp-core/bin/src/main/java/org/opensrp/util/Utils.class create mode 100644 opensrp-core/bin/src/main/resources/applicationContext-opensrp.xml create mode 100644 opensrp-core/bin/src/main/resources/persistence_couchdb.xml create mode 100644 opensrp-core/bin/src/main/resources/persistence_postgres.xml create mode 100644 opensrp-core/bin/src/main/resources/queries/lucene-client-query create mode 100644 opensrp-core/bin/src/main/resources/queries/lucene-event-query create mode 100644 opensrp-core/bin/src/main/resources/queries/lucene-formsubmission-query create mode 100644 opensrp-core/bin/src/main/resources/ziggy/ziggy.min.js create mode 100644 opensrp-core/bin/src/test/java/org/opensrp/BaseIntegrationTest.class create mode 100644 opensrp-core/bin/src/test/java/org/opensrp/FormSubmissionProcessorTest.class create mode 100644 opensrp-core/bin/src/test/java/org/opensrp/MultimediaServiceTest.class create mode 100644 opensrp-core/bin/src/test/java/org/opensrp/SpringApplicationContextProvider.class create mode 100644 opensrp-core/bin/src/test/java/org/opensrp/domain/AddressTest.class create mode 100644 opensrp-core/bin/src/test/java/org/opensrp/domain/AppStateTokenTest.class create mode 100644 opensrp-core/bin/src/test/java/org/opensrp/domain/BaseEntityTest.class create mode 100644 opensrp-core/bin/src/test/java/org/opensrp/domain/ClientTest.class create mode 100644 opensrp-core/bin/src/test/java/org/opensrp/domain/ContactPointTest.class create mode 100644 opensrp-core/bin/src/test/java/org/opensrp/domain/ErrorTraceFormTest.class create mode 100644 opensrp-core/bin/src/test/java/org/opensrp/domain/ErrorTraceTest.class create mode 100644 opensrp-core/bin/src/test/java/org/opensrp/domain/EventTest.class create mode 100644 opensrp-core/bin/src/test/java/org/opensrp/domain/FormDefinitionTest.class create mode 100644 opensrp-core/bin/src/test/java/org/opensrp/domain/FormFieldTest.class create mode 100644 opensrp-core/bin/src/test/java/org/opensrp/domain/FormTest.class create mode 100644 opensrp-core/bin/src/test/java/org/opensrp/domain/MultimediaTest.class create mode 100644 opensrp-core/bin/src/test/java/org/opensrp/domain/ObsTest.class create mode 100644 opensrp-core/bin/src/test/java/org/opensrp/domain/PhotoTest.class create mode 100644 opensrp-core/bin/src/test/java/org/opensrp/domain/ProviderTest.class create mode 100644 opensrp-core/bin/src/test/java/org/opensrp/domain/SearchTest.class create mode 100644 opensrp-core/bin/src/test/java/org/opensrp/domain/SubFormDefinitionTest.class create mode 100644 opensrp-core/bin/src/test/java/org/opensrp/domain/UniqueIdTest.class create mode 100644 opensrp-core/bin/src/test/java/org/opensrp/domain/UserTest.class create mode 100644 opensrp-core/bin/src/test/java/org/opensrp/repository/it/ActionCreationIntegrationTest.class create mode 100644 opensrp-core/bin/src/test/java/org/opensrp/repository/it/AllActionsIntegrationTest.class create mode 100644 opensrp-core/bin/src/test/java/org/opensrp/repository/it/AllAlertsIntegrationTest.class create mode 100644 opensrp-core/bin/src/test/java/org/opensrp/repository/it/AllClientsIntegrationTest.class create mode 100644 opensrp-core/bin/src/test/java/org/opensrp/repository/it/AllErrorTraceIntegrationTest.class create mode 100644 opensrp-core/bin/src/test/java/org/opensrp/repository/it/AllEventsIntegrationTest.class create mode 100644 opensrp-core/bin/src/test/java/org/opensrp/repository/it/ConfigServiceIntegrationTest$TestToken.class create mode 100644 opensrp-core/bin/src/test/java/org/opensrp/repository/it/ConfigServiceIntegrationTest.class create mode 100644 opensrp-core/bin/src/test/java/org/opensrp/repository/it/FormLifeCycleTest.class create mode 100644 opensrp-core/bin/src/test/java/org/opensrp/repository/it/ScheduleLifeCycleTest.class create mode 100644 opensrp-core/bin/src/test/java/org/opensrp/repository/it/ZiggyServiceTest.class create mode 100644 opensrp-core/bin/src/test/java/org/opensrp/repository/postgres/ActionsRepositoryTest.class create mode 100644 opensrp-core/bin/src/test/java/org/opensrp/repository/postgres/AlertsRepositoryTest.class create mode 100644 opensrp-core/bin/src/test/java/org/opensrp/repository/postgres/AppStateTokensRepositoryTest.class create mode 100644 opensrp-core/bin/src/test/java/org/opensrp/repository/postgres/BaseRepositoryTest.class create mode 100644 opensrp-core/bin/src/test/java/org/opensrp/repository/postgres/ClientsRepositoryTest.class create mode 100644 opensrp-core/bin/src/test/java/org/opensrp/repository/postgres/ErrorTraceRepositoryTest.class create mode 100644 opensrp-core/bin/src/test/java/org/opensrp/repository/postgres/EventsRepositoryTest.class create mode 100644 opensrp-core/bin/src/test/java/org/opensrp/repository/postgres/MultimediaRepositoryTest.class create mode 100644 opensrp-core/bin/src/test/java/org/opensrp/repository/postgres/ReportsRepositoryTest.class create mode 100644 opensrp-core/bin/src/test/java/org/opensrp/repository/postgres/SearchRepositoryTest.class create mode 100644 opensrp-core/bin/src/test/java/org/opensrp/repository/postgres/StocksRepositoryTest.class create mode 100644 opensrp-core/bin/src/test/java/org/opensrp/repository/postgres/ViewConfigurationRepositoryTest.class create mode 100644 opensrp-core/bin/src/test/java/org/opensrp/scheduler/ActionTest.class create mode 100644 opensrp-core/bin/src/test/java/org/opensrp/scheduler/AlertTest.class create mode 100644 opensrp-core/bin/src/test/java/org/opensrp/scheduler/FormEventListenerTest.class create mode 100644 opensrp-core/bin/src/test/java/org/opensrp/scheduler/RepeatingCornScheduleTest.class create mode 100644 opensrp-core/bin/src/test/java/org/opensrp/scheduler/RepeatingScheduleTest.class create mode 100644 opensrp-core/bin/src/test/java/org/opensrp/scheduler/ScheduleConfigTest.class create mode 100644 opensrp-core/bin/src/test/java/org/opensrp/scheduler/ScheduleTest.class create mode 100644 opensrp-core/bin/src/test/java/org/opensrp/scheduler/SystemEventTest.class create mode 100644 opensrp-core/bin/src/test/java/org/opensrp/scheduler/TaskSchedulerServiceTest.class create mode 100644 opensrp-core/bin/src/test/java/org/opensrp/scheduler/router/AlertCreationActionTest.class create mode 100644 opensrp-core/bin/src/test/java/org/opensrp/scheduler/router/AlertHandlerRoutesTest$Event$Expectation.class create mode 100644 opensrp-core/bin/src/test/java/org/opensrp/scheduler/router/AlertHandlerRoutesTest$Event.class create mode 100644 opensrp-core/bin/src/test/java/org/opensrp/scheduler/router/AlertHandlerRoutesTest.class create mode 100644 opensrp-core/bin/src/test/java/org/opensrp/scheduler/router/AlertRouterTest.class create mode 100644 opensrp-core/bin/src/test/java/org/opensrp/scheduler/router/HealthSchedulesTest.class create mode 100644 opensrp-core/bin/src/test/java/org/opensrp/scheduler/router/MatcherTest.class create mode 100644 opensrp-core/bin/src/test/java/org/opensrp/scheduler/service/ActionServiceTest.class create mode 100644 opensrp-core/bin/src/test/java/org/opensrp/scheduler/service/ECAlertCreationTest.class create mode 100644 opensrp-core/bin/src/test/java/org/opensrp/scheduler/service/ScheduleServiceTest.class create mode 100644 opensrp-core/bin/src/test/java/org/opensrp/service/ClientServiceTest.class create mode 100644 opensrp-core/bin/src/test/java/org/opensrp/service/EventServiceTest.class create mode 100644 opensrp-core/bin/src/test/java/org/opensrp/service/MultiMediaServiceTest.class create mode 100644 opensrp-core/bin/src/test/java/org/opensrp/service/OpenmrsIDServiceTest.class create mode 100644 opensrp-core/bin/src/test/java/org/opensrp/service/OpenmrsIDServiceUsingMockTest.class create mode 100644 opensrp-core/bin/src/test/java/org/opensrp/service/StockServiceTest.class create mode 100644 opensrp-core/bin/src/test/java/org/opensrp/service/formSubmission/EventListenerTest.class create mode 100644 opensrp-core/bin/src/test/java/org/opensrp/service/formSubmission/FormEntityConverterTest.class create mode 100644 opensrp-core/bin/src/test/java/org/opensrp/service/formSubmission/FormEntityServiceTest.class create mode 100644 opensrp-core/bin/src/test/java/org/opensrp/service/formSubmission/FormSubmissionDataMigrationIntegrationTest.class create mode 100644 opensrp-core/bin/src/test/java/org/opensrp/service/formSubmission/FormSubmissionProcessorScheduleTest.class create mode 100644 opensrp-core/bin/src/test/java/org/opensrp/service/formSubmission/StubAllAppStateToken.class create mode 100644 opensrp-core/bin/src/test/java/org/opensrp/service/formSubmission/StubAllFormSubmission.class create mode 100644 opensrp-core/bin/src/test/java/org/opensrp/services/RapidProServiceTest.class create mode 100644 opensrp-core/bin/src/test/java/org/opensrp/services/it/RapidProServiceIntegrationTest.class create mode 100644 opensrp-core/bin/src/test/java/org/opensrp/util/Event.class create mode 100644 opensrp-core/bin/src/test/java/org/opensrp/util/EventBuilder.class create mode 100644 opensrp-core/bin/src/test/java/org/opensrp/util/Matcher.class create mode 100644 opensrp-core/bin/src/test/java/org/opensrp/util/ScheduleBuilder.class create mode 100644 opensrp-core/bin/src/test/java/org/opensrp/util/TestResourceLoader.class create mode 100644 opensrp-core/bin/src/test/java/org/opensrp/util/UtilTest.class create mode 100644 opensrp-core/bin/src/test/java/org/opensrp/util/it/UtilsIntegrationTest.class create mode 100644 opensrp-core/bin/src/test/resources/form/basic_reg/form.json create mode 100644 opensrp-core/bin/src/test/resources/form/basic_reg/form.xml create mode 100644 opensrp-core/bin/src/test/resources/form/basic_reg/form_definition.json create mode 100644 opensrp-core/bin/src/test/resources/form/basic_reg/form_submission.json create mode 100644 opensrp-core/bin/src/test/resources/form/basic_reg/model.xml create mode 100644 opensrp-core/bin/src/test/resources/form/child_enrollment/form.json create mode 100644 opensrp-core/bin/src/test/resources/form/child_enrollment/form.xml create mode 100644 opensrp-core/bin/src/test/resources/form/child_enrollment/form_definition.json create mode 100644 opensrp-core/bin/src/test/resources/form/child_enrollment/form_submission1.json create mode 100644 opensrp-core/bin/src/test/resources/form/child_enrollment/form_submission2.json create mode 100644 opensrp-core/bin/src/test/resources/form/child_enrollment/form_submission3.json create mode 100644 opensrp-core/bin/src/test/resources/form/child_enrollment/model.xml create mode 100644 opensrp-core/bin/src/test/resources/form/child_followup/form.json create mode 100644 opensrp-core/bin/src/test/resources/form/child_followup/form.xml create mode 100644 opensrp-core/bin/src/test/resources/form/child_followup/form_definition.json create mode 100644 opensrp-core/bin/src/test/resources/form/child_followup/form_submission.json create mode 100644 opensrp-core/bin/src/test/resources/form/child_followup/model.xml create mode 100644 opensrp-core/bin/src/test/resources/form/entity_relationship.json create mode 100644 opensrp-core/bin/src/test/resources/form/new_household_registration/form.json create mode 100644 opensrp-core/bin/src/test/resources/form/new_household_registration/form.xml create mode 100644 opensrp-core/bin/src/test/resources/form/new_household_registration/form_definition.json create mode 100644 opensrp-core/bin/src/test/resources/form/new_household_registration/form_submission1.json create mode 100644 opensrp-core/bin/src/test/resources/form/new_household_registration/form_submission2.json create mode 100644 opensrp-core/bin/src/test/resources/form/new_household_registration/form_submission3.json create mode 100644 opensrp-core/bin/src/test/resources/form/new_household_registration/form_submission4.json create mode 100644 opensrp-core/bin/src/test/resources/form/new_household_registration/form_submission5.json create mode 100644 opensrp-core/bin/src/test/resources/form/new_household_registration/form_submission6.json create mode 100644 opensrp-core/bin/src/test/resources/form/new_household_registration/form_submission7.json create mode 100644 opensrp-core/bin/src/test/resources/form/new_household_registration/form_submission8.json create mode 100644 opensrp-core/bin/src/test/resources/form/new_household_registration/form_submission9.json create mode 100644 opensrp-core/bin/src/test/resources/form/new_household_registration/model.xml create mode 100644 opensrp-core/bin/src/test/resources/form/new_household_registration_with_grouped_subform_data/form.json create mode 100644 opensrp-core/bin/src/test/resources/form/new_household_registration_with_grouped_subform_data/form.xml create mode 100644 opensrp-core/bin/src/test/resources/form/new_household_registration_with_grouped_subform_data/form_definition.json create mode 100644 opensrp-core/bin/src/test/resources/form/new_household_registration_with_grouped_subform_data/form_submission1.json create mode 100644 opensrp-core/bin/src/test/resources/form/new_household_registration_with_grouped_subform_data/model.xml create mode 100644 opensrp-core/bin/src/test/resources/form/offsite_child_followup/form.json create mode 100644 opensrp-core/bin/src/test/resources/form/offsite_child_followup/form.xml create mode 100644 opensrp-core/bin/src/test/resources/form/offsite_child_followup/form_definition.json create mode 100644 opensrp-core/bin/src/test/resources/form/offsite_child_followup/model.xml create mode 100644 opensrp-core/bin/src/test/resources/form/offsite_woman_followup/form.json create mode 100644 opensrp-core/bin/src/test/resources/form/offsite_woman_followup/form.xml create mode 100644 opensrp-core/bin/src/test/resources/form/offsite_woman_followup/form_definition.json create mode 100644 opensrp-core/bin/src/test/resources/form/offsite_woman_followup/model.xml create mode 100644 opensrp-core/bin/src/test/resources/form/pnc_1st_registration/form.json create mode 100644 opensrp-core/bin/src/test/resources/form/pnc_1st_registration/form.xml create mode 100644 opensrp-core/bin/src/test/resources/form/pnc_1st_registration/form_definition.json create mode 100644 opensrp-core/bin/src/test/resources/form/pnc_1st_registration/form_submission.json create mode 100644 opensrp-core/bin/src/test/resources/form/pnc_1st_registration/model.xml create mode 100644 opensrp-core/bin/src/test/resources/form/pnc_reg_form/form.json create mode 100644 opensrp-core/bin/src/test/resources/form/pnc_reg_form/form_definition.json create mode 100644 opensrp-core/bin/src/test/resources/form/pnc_reg_form/form_submission.json create mode 100644 opensrp-core/bin/src/test/resources/form/pnc_reg_form/model.xml create mode 100644 opensrp-core/bin/src/test/resources/form/vaccine_stock_position/form.json create mode 100644 opensrp-core/bin/src/test/resources/form/vaccine_stock_position/form.xml create mode 100644 opensrp-core/bin/src/test/resources/form/vaccine_stock_position/form_definition.json create mode 100644 opensrp-core/bin/src/test/resources/form/vaccine_stock_position/model.xml create mode 100644 opensrp-core/bin/src/test/resources/form/woman_enrollment/form.json create mode 100644 opensrp-core/bin/src/test/resources/form/woman_enrollment/form.xml create mode 100644 opensrp-core/bin/src/test/resources/form/woman_enrollment/form_definition.json create mode 100644 opensrp-core/bin/src/test/resources/form/woman_enrollment/form_submission.json create mode 100644 opensrp-core/bin/src/test/resources/form/woman_enrollment/model.xml create mode 100644 opensrp-core/bin/src/test/resources/form/woman_followup/form.json create mode 100644 opensrp-core/bin/src/test/resources/form/woman_followup/form.xml create mode 100644 opensrp-core/bin/src/test/resources/form/woman_followup/form_definition.json create mode 100644 opensrp-core/bin/src/test/resources/form/woman_followup/model.xml create mode 100644 opensrp-core/bin/src/test/resources/report-definition.json create mode 100644 opensrp-core/bin/src/test/resources/report-fields-definition.json create mode 100644 opensrp-core/bin/src/test/resources/sampleXLS/emptyXLS.xls create mode 100644 opensrp-core/bin/src/test/resources/sampleXLS/invalidXLS.xls create mode 100644 opensrp-core/bin/src/test/resources/sampleXLS/validXLS.xls create mode 100644 opensrp-core/bin/src/test/resources/schedules/child-bcg.json create mode 100644 opensrp-core/bin/src/test/resources/schedules/child-boosters.json create mode 100644 opensrp-core/bin/src/test/resources/schedules/child-dpt-booster1.json create mode 100644 opensrp-core/bin/src/test/resources/schedules/child-dpt-booster2.json create mode 100644 opensrp-core/bin/src/test/resources/schedules/child-measles-booster.json create mode 100644 opensrp-core/bin/src/test/resources/schedules/child-measles.json create mode 100644 opensrp-core/bin/src/test/resources/schedules/child-measles1.json create mode 100644 opensrp-core/bin/src/test/resources/schedules/child-measles2.json create mode 100644 opensrp-core/bin/src/test/resources/schedules/child-opv-booster.json create mode 100644 opensrp-core/bin/src/test/resources/schedules/child-opv0.json create mode 100644 opensrp-core/bin/src/test/resources/schedules/child-opv1.json create mode 100644 opensrp-core/bin/src/test/resources/schedules/child-opv2.json create mode 100644 opensrp-core/bin/src/test/resources/schedules/child-opv3.json create mode 100644 opensrp-core/bin/src/test/resources/schedules/child-pentavalent-1.json create mode 100644 opensrp-core/bin/src/test/resources/schedules/child-pentavalent-2.json create mode 100644 opensrp-core/bin/src/test/resources/schedules/child-pentavalent-3.json create mode 100644 opensrp-core/bin/src/test/resources/schedules/child-pentavalent1.json create mode 100644 opensrp-core/bin/src/test/resources/schedules/child-pentavalent2.json create mode 100644 opensrp-core/bin/src/test/resources/schedules/child-pentavalent3.json create mode 100644 opensrp-core/bin/src/test/resources/schedules/delivery-plan.json create mode 100644 opensrp-core/bin/src/test/resources/schedules/ec-condom-refill.json create mode 100644 opensrp-core/bin/src/test/resources/schedules/ec-dmpa-injectable-refill.json create mode 100644 opensrp-core/bin/src/test/resources/schedules/ec-female-sterilization-followup.json create mode 100644 opensrp-core/bin/src/test/resources/schedules/ec-fp-followup.json create mode 100644 opensrp-core/bin/src/test/resources/schedules/ec-fp-referral-followup.json create mode 100644 opensrp-core/bin/src/test/resources/schedules/ec-iud-followup.json create mode 100644 opensrp-core/bin/src/test/resources/schedules/ec-male-sterilization-followup.json create mode 100644 opensrp-core/bin/src/test/resources/schedules/ec-ocp-refill.json create mode 100644 opensrp-core/bin/src/test/resources/schedules/fw-census.json create mode 100644 opensrp-core/bin/src/test/resources/schedules/mother-anc-normal.json create mode 100644 opensrp-core/bin/src/test/resources/schedules/mother-auto-close-pnc.json create mode 100644 opensrp-core/bin/src/test/resources/schedules/mother-expected-date-of-delivery.json create mode 100644 opensrp-core/bin/src/test/resources/schedules/mother-hb-followup-test.json create mode 100644 opensrp-core/bin/src/test/resources/schedules/mother-hb-test-1.json create mode 100644 opensrp-core/bin/src/test/resources/schedules/mother-hb-test-2.json create mode 100644 opensrp-core/bin/src/test/resources/schedules/mother-ifa-1.json create mode 100644 opensrp-core/bin/src/test/resources/schedules/mother-ifa-2.json create mode 100644 opensrp-core/bin/src/test/resources/schedules/mother-ifa-3.json create mode 100644 opensrp-core/bin/src/test/resources/schedules/mother-lab-reminder.json create mode 100644 opensrp-core/bin/src/test/resources/schedules/schedule-config.xls create mode 100644 opensrp-core/bin/src/test/resources/schedules/woman-tt1.json create mode 100644 opensrp-core/bin/src/test/resources/schedules/woman-tt2.json create mode 100644 opensrp-core/bin/src/test/resources/schedules/woman-tt3.json create mode 100644 opensrp-core/bin/src/test/resources/schedules/woman-tt4.json create mode 100644 opensrp-core/bin/src/test/resources/schedules/woman-tt5.json create mode 100644 opensrp-core/bin/src/test/resources/test-applicationContext-opensrp.xml create mode 100644 opensrp-core/bin/src/test/resources/test-persistence-postgres.xml create mode 100644 opensrp-core/bin/src/test/resources/test-scripts/action.sql create mode 100644 opensrp-core/bin/src/test/resources/test-scripts/alert.sql create mode 100644 opensrp-core/bin/src/test/resources/test-scripts/app_state_token.sql create mode 100644 opensrp-core/bin/src/test/resources/test-scripts/client.sql create mode 100644 opensrp-core/bin/src/test/resources/test-scripts/error.sql create mode 100644 opensrp-core/bin/src/test/resources/test-scripts/event.sql create mode 100644 opensrp-core/bin/src/test/resources/test-scripts/multimedia.sql create mode 100644 opensrp-core/bin/src/test/resources/test-scripts/report.sql create mode 100644 opensrp-core/bin/src/test/resources/test-scripts/stock.sql create mode 100644 opensrp-core/bin/src/test/resources/test-scripts/view_configuration.sql create mode 100644 opensrp-core/src/main/java/org/opensrp/domain/postgres/Settings.java create mode 100644 opensrp-core/src/main/java/org/opensrp/domain/postgres/SettingsExample.java create mode 100644 opensrp-core/src/main/java/org/opensrp/domain/postgres/SettingsMetadata.java create mode 100644 opensrp-core/src/main/java/org/opensrp/domain/postgres/SettingsMetadataExample.java create mode 100644 opensrp-core/src/main/java/org/opensrp/domain/setting/Setting.java create mode 100644 opensrp-core/src/main/java/org/opensrp/repository/SettingRepository.java create mode 100644 opensrp-core/src/main/java/org/opensrp/repository/couch/SettingRepositoryImpl.java create mode 100644 opensrp-core/src/main/java/org/opensrp/repository/postgres/SettingRepositoryImpl.java create mode 100644 opensrp-core/src/main/java/org/opensrp/repository/postgres/handler/SettingTypeHandler.java create mode 100644 opensrp-core/src/main/java/org/opensrp/repository/postgres/mapper/SettingsMapper.java create mode 100644 opensrp-core/src/main/java/org/opensrp/repository/postgres/mapper/SettingsMetadataMapper.java create mode 100644 opensrp-core/src/main/java/org/opensrp/repository/postgres/mapper/custom/CustomSettingMapper.java create mode 100644 opensrp-core/src/main/java/org/opensrp/repository/postgres/mapper/custom/CustomSettingMetadataMapper.java create mode 100644 opensrp-core/src/main/java/org/opensrp/repository/postgres/mapper/custom/xml/CustomSettingsMapper.xml create mode 100644 opensrp-core/src/main/java/org/opensrp/repository/postgres/mapper/custom/xml/CustomSettingsMetadataMapper.xml create mode 100644 opensrp-core/src/main/java/org/opensrp/repository/postgres/mapper/xml/SettingsMapper.xml create mode 100644 opensrp-core/src/main/java/org/opensrp/repository/postgres/mapper/xml/SettingsMetadataMapper.xml create mode 100644 opensrp-core/src/main/java/org/opensrp/service/SettingService.java create mode 100644 opensrp-register/bin/src/main/java/org/opensrp/register/service/handler/ANCScheduleHandler.class create mode 100644 opensrp-register/bin/src/main/java/org/opensrp/register/service/handler/BNFScheduleHandler.class create mode 100644 opensrp-register/bin/src/main/java/org/opensrp/register/service/handler/BaseScheduleHandler$ActionType.class create mode 100644 opensrp-register/bin/src/main/java/org/opensrp/register/service/handler/BaseScheduleHandler.class create mode 100644 opensrp-register/bin/src/main/java/org/opensrp/register/service/handler/ChildScheduleHandler.class create mode 100644 opensrp-register/bin/src/main/java/org/opensrp/register/service/handler/ElcoScheduleHandler.class create mode 100644 opensrp-register/bin/src/main/java/org/opensrp/register/service/handler/EventsHandlerMapper.class create mode 100644 opensrp-register/bin/src/main/java/org/opensrp/register/service/handler/HHScheduleHandler.class create mode 100644 opensrp-register/bin/src/main/java/org/opensrp/register/service/handler/PNCScheduleHandler.class create mode 100644 opensrp-register/bin/src/main/java/org/opensrp/register/service/handler/VaccinesScheduleHandler.class create mode 100644 opensrp-register/bin/src/main/java/org/opensrp/register/service/scheduling/AnteNatalCareSchedulesService.class create mode 100644 opensrp-register/bin/src/main/java/org/opensrp/register/service/scheduling/BNFSchedulesService.class create mode 100644 opensrp-register/bin/src/main/java/org/opensrp/register/service/scheduling/ELCOScheduleService.class create mode 100644 opensrp-register/bin/src/main/java/org/opensrp/register/service/scheduling/ENCCSchedulesService.class create mode 100644 opensrp-register/bin/src/main/java/org/opensrp/register/service/scheduling/HHSchedulesService.class create mode 100644 opensrp-register/bin/src/main/java/org/opensrp/register/service/scheduling/PNCSchedulesService.class create mode 100644 opensrp-register/bin/src/main/java/org/opensrp/register/thrivepk/FormSubmissionView.class create mode 100644 opensrp-register/bin/src/main/java/org/opensrp/register/thrivepk/RegisterConstants$Form.class create mode 100644 opensrp-register/bin/src/main/java/org/opensrp/register/thrivepk/RegisterConstants.class create mode 100644 opensrp-register/bin/src/main/java/org/opensrp/register/thrivepk/Schedule.class create mode 100644 opensrp-register/bin/src/test/java/org/opensrp/register/it/CreateFormSubmissions.class create mode 100644 opensrp-register/bin/src/test/java/org/opensrp/register/service/handler/ANCScheduleHandlerTest.class create mode 100644 opensrp-register/bin/src/test/java/org/opensrp/register/service/handler/BNFScheduleHandlerTest.class create mode 100644 opensrp-register/bin/src/test/java/org/opensrp/register/service/handler/BaseScheduleHandlerTest.class create mode 100644 opensrp-register/bin/src/test/java/org/opensrp/register/service/handler/ChildScheduleHandlerTest.class create mode 100644 opensrp-register/bin/src/test/java/org/opensrp/register/service/handler/ElcoScheduleHandlerTest.class create mode 100644 opensrp-register/bin/src/test/java/org/opensrp/register/service/handler/HHScheduleHandlerTest.class create mode 100644 opensrp-register/bin/src/test/java/org/opensrp/register/service/handler/PNCScheduleHandlerTest.class create mode 100644 opensrp-register/bin/src/test/java/org/opensrp/register/service/handler/TestResourceLoader.class create mode 100644 opensrp-register/bin/src/test/java/org/opensrp/register/service/handler/VaccinesScheduleHandlerTest.class create mode 100644 opensrp-register/bin/src/test/java/org/opensrp/register/service/scheduling/AnteNatalCareSchedulesServiceTest.class create mode 100644 opensrp-register/bin/src/test/java/org/opensrp/register/service/scheduling/BNFSchedulesServiceTest.class create mode 100644 opensrp-register/bin/src/test/java/org/opensrp/register/service/scheduling/ENCCSchedulesServiceTest.class create mode 100644 opensrp-register/bin/src/test/java/org/opensrp/register/service/scheduling/ElcoSchedulesServiceTest.class create mode 100644 opensrp-register/bin/src/test/java/org/opensrp/register/service/scheduling/HHSchedulesServiceTest.class create mode 100644 opensrp-register/bin/src/test/java/org/opensrp/register/service/scheduling/PNCSchedulesServiceTest.class create mode 100644 opensrp-register/bin/src/test/java/org/opensrp/register/util/Event.class create mode 100644 opensrp-register/bin/src/test/java/org/opensrp/register/util/EventBuilder.class create mode 100644 opensrp-register/bin/src/test/java/org/opensrp/register/util/FormSubmissionBuilder.class create mode 100644 opensrp-register/bin/src/test/java/org/opensrp/register/util/Matcher.class create mode 100644 opensrp-web/bin/doc/schedules/child-bcg.html create mode 100644 opensrp-web/bin/doc/schedules/child-boosters.html create mode 100644 opensrp-web/bin/doc/schedules/child-dpt-booster1.html create mode 100644 opensrp-web/bin/doc/schedules/child-dpt-booster2.html create mode 100644 opensrp-web/bin/doc/schedules/child-measles-and-vitamins.html create mode 100644 opensrp-web/bin/doc/schedules/child-measles-booster.html create mode 100644 opensrp-web/bin/doc/schedules/child-measles-boosters.html create mode 100644 opensrp-web/bin/doc/schedules/child-measles.html create mode 100644 opensrp-web/bin/doc/schedules/child-opv-0-and-1.html create mode 100644 opensrp-web/bin/doc/schedules/child-opv-0.html create mode 100644 opensrp-web/bin/doc/schedules/child-opv-2.html create mode 100644 opensrp-web/bin/doc/schedules/child-opv-3.html create mode 100644 opensrp-web/bin/doc/schedules/child-opv-booster.html create mode 100644 opensrp-web/bin/doc/schedules/child-pentavalent-1.html create mode 100644 opensrp-web/bin/doc/schedules/child-pentavalent-2.html create mode 100644 opensrp-web/bin/doc/schedules/child-pentavalent-3.html create mode 100644 opensrp-web/bin/doc/schedules/ec-condom-refill.html create mode 100644 opensrp-web/bin/doc/schedules/ec-dmpa-injectable-refill.html create mode 100644 opensrp-web/bin/doc/schedules/ec-female-sterilization-followup.html create mode 100644 opensrp-web/bin/doc/schedules/ec-fp-followup.html create mode 100644 opensrp-web/bin/doc/schedules/ec-fp-referral-followup.html create mode 100644 opensrp-web/bin/doc/schedules/ec-iud-followup.html create mode 100644 opensrp-web/bin/doc/schedules/ec-male-sterilization-followup.html create mode 100644 opensrp-web/bin/doc/schedules/ec-ocp-refill.html create mode 100644 opensrp-web/bin/doc/schedules/mother-anc-normal.html create mode 100644 opensrp-web/bin/doc/schedules/mother-auto-close-pnc.html create mode 100644 opensrp-web/bin/doc/schedules/mother-delivery-plan.html create mode 100644 opensrp-web/bin/doc/schedules/mother-expected-date-of-delivery.html create mode 100644 opensrp-web/bin/doc/schedules/mother-hb-followup-test.html create mode 100644 opensrp-web/bin/doc/schedules/mother-hb-test-1.html create mode 100644 opensrp-web/bin/doc/schedules/mother-hb-test-2.html create mode 100644 opensrp-web/bin/doc/schedules/mother-hb-test.html create mode 100644 opensrp-web/bin/doc/schedules/mother-ifa-1.html create mode 100644 opensrp-web/bin/doc/schedules/mother-ifa-2.html create mode 100644 opensrp-web/bin/doc/schedules/mother-ifa-3.html create mode 100644 opensrp-web/bin/doc/schedules/mother-lab-reminder.html create mode 100644 opensrp-web/bin/doc/schedules/mother-pnc-close.html create mode 100644 opensrp-web/bin/doc/schedules/mother-tt-1.html create mode 100644 opensrp-web/bin/doc/schedules/mother-tt-2.html create mode 100644 opensrp-web/bin/doc/schedules/schedule.js create mode 100644 opensrp-web/bin/pom.xml create mode 100644 opensrp-web/bin/src/main/java/org/opensrp/web/AuthenticationFilter.class create mode 100644 opensrp-web/bin/src/main/java/org/opensrp/web/GZipCompressionFilter.class create mode 100644 opensrp-web/bin/src/main/java/org/opensrp/web/GzipResponseStream.class create mode 100644 opensrp-web/bin/src/main/java/org/opensrp/web/GzipResponseWrapper.class create mode 100644 opensrp-web/bin/src/main/java/org/opensrp/web/HttpHeaderFactory.class create mode 100644 opensrp-web/bin/src/main/java/org/opensrp/web/controller/ANMLocationController.class create mode 100644 opensrp-web/bin/src/main/java/org/opensrp/web/controller/ActionController.class create mode 100644 opensrp-web/bin/src/main/java/org/opensrp/web/controller/ActionConvertor.class create mode 100644 opensrp-web/bin/src/main/java/org/opensrp/web/controller/AuditMessageController$AuditMessageItem.class create mode 100644 opensrp-web/bin/src/main/java/org/opensrp/web/controller/AuditMessageController.class create mode 100644 opensrp-web/bin/src/main/java/org/opensrp/web/controller/DHIS2Controller.class create mode 100644 opensrp-web/bin/src/main/java/org/opensrp/web/controller/ErrorTraceController.class create mode 100644 opensrp-web/bin/src/main/java/org/opensrp/web/controller/FormDownLoadController.class create mode 100644 opensrp-web/bin/src/main/java/org/opensrp/web/controller/FormSubmissionController.class create mode 100644 opensrp-web/bin/src/main/java/org/opensrp/web/controller/LocationController.class create mode 100644 opensrp-web/bin/src/main/java/org/opensrp/web/controller/MultimediaController.class create mode 100644 opensrp-web/bin/src/main/java/org/opensrp/web/controller/ReportController.class create mode 100644 opensrp-web/bin/src/main/java/org/opensrp/web/controller/UniqueIdController.class create mode 100644 opensrp-web/bin/src/main/java/org/opensrp/web/controller/UserController.class create mode 100644 opensrp-web/bin/src/main/java/org/opensrp/web/controller/XlsDataImportController.class create mode 100644 opensrp-web/bin/src/main/java/org/opensrp/web/controller/XlsFormDownloaderController.class create mode 100644 opensrp-web/bin/src/main/java/org/opensrp/web/controller/fake/FakeActionController.class create mode 100644 opensrp-web/bin/src/main/java/org/opensrp/web/controller/fake/FakeTimeController.class create mode 100644 opensrp-web/bin/src/main/java/org/opensrp/web/listener/ApplicationStartupListener.class create mode 100644 opensrp-web/bin/src/main/java/org/opensrp/web/rest/ClientResource.class create mode 100644 opensrp-web/bin/src/main/java/org/opensrp/web/rest/EventResource.class create mode 100644 opensrp-web/bin/src/main/java/org/opensrp/web/rest/ExportResource.class create mode 100644 opensrp-web/bin/src/main/java/org/opensrp/web/rest/FormSubmissionResource.class create mode 100644 opensrp-web/bin/src/main/java/org/opensrp/web/rest/ProviderResource.class create mode 100644 opensrp-web/bin/src/main/java/org/opensrp/web/rest/ReportResource.class create mode 100644 opensrp-web/bin/src/main/java/org/opensrp/web/rest/ResponseUtil.class create mode 100644 opensrp-web/bin/src/main/java/org/opensrp/web/rest/RestResource.class create mode 100644 opensrp-web/bin/src/main/java/org/opensrp/web/rest/RestUtils.class create mode 100644 opensrp-web/bin/src/main/java/org/opensrp/web/rest/SearchResource$ChildMother.class create mode 100644 opensrp-web/bin/src/main/java/org/opensrp/web/rest/SearchResource.class create mode 100644 opensrp-web/bin/src/main/java/org/opensrp/web/rest/StockResource.class create mode 100644 opensrp-web/bin/src/main/java/org/opensrp/web/rest/ValidateResource.class create mode 100644 opensrp-web/bin/src/main/java/org/opensrp/web/rest/ViewConfigurationResource.class create mode 100644 opensrp-web/bin/src/main/java/org/opensrp/web/rest/rapid/RapidClientResource.class create mode 100644 opensrp-web/bin/src/main/java/org/opensrp/web/rest/rapid/SimpleRestResource.class create mode 100644 opensrp-web/bin/src/main/java/org/opensrp/web/security/DrishtiAuthenticationProvider.class create mode 100644 opensrp-web/bin/src/main/java/org/opensrp/web/utils/PdfUtil.class create mode 100644 opensrp-web/bin/src/main/resources/mcts-report-definition.json create mode 100644 opensrp-web/bin/src/main/resources/quartz.properties create mode 100644 opensrp-web/bin/src/main/resources/report-definition.json create mode 100644 opensrp-web/bin/src/main/resources/report-fields-definition.json create mode 100644 opensrp-web/bin/src/main/resources/sms-http-template.json create mode 100644 opensrp-web/bin/src/main/resources/sms-http.properties create mode 100644 opensrp-web/bin/src/main/resources/spring/applicationContext-opensrp-web.xml create mode 100644 opensrp-web/bin/src/main/resources/spring/listener-context.xml create mode 100644 opensrp-web/bin/src/main/resources/spring/securityContext.xml create mode 100644 opensrp-web/bin/src/main/webapp/META-INF/context.xml create mode 100644 opensrp-web/bin/src/main/webapp/WEB-INF/home_error.jsp create mode 100644 opensrp-web/bin/src/main/webapp/WEB-INF/solvederrors.jsp create mode 100644 opensrp-web/bin/src/main/webapp/WEB-INF/spring/listener-context.xml create mode 100644 opensrp-web/bin/src/main/webapp/WEB-INF/spring/webmvc-config.xml create mode 100644 opensrp-web/bin/src/main/webapp/WEB-INF/unsolvederrors.jsp create mode 100644 opensrp-web/bin/src/main/webapp/WEB-INF/view_error.jsp create mode 100644 opensrp-web/bin/src/main/webapp/WEB-INF/web.xml create mode 100644 opensrp-web/bin/src/main/webapp/WEB-INF/xlsformdownloader.jsp create mode 100644 opensrp-web/bin/src/main/webapp/audit/log.html create mode 100644 opensrp-web/bin/src/main/webapp/index.html create mode 100644 opensrp-web/bin/src/main/webapp/js/auditlog.js create mode 100644 opensrp-web/bin/src/main/webapp/js/domain/auditmessage.js create mode 100644 opensrp-web/bin/src/main/webapp/js/fakeactions.js create mode 100644 opensrp-web/bin/src/main/webapp/js/faketime.js create mode 100644 opensrp-web/bin/src/main/webapp/js/handlebars-1.0.0.beta.6.js create mode 100644 opensrp-web/bin/src/main/webapp/js/jquery.color.min.js create mode 100644 opensrp-web/bin/src/main/webapp/js/jquery.min.js create mode 100644 opensrp-web/bin/src/main/webapp/resources/css/bootstrap-theme.min.css create mode 100644 opensrp-web/bin/src/main/webapp/resources/css/bootstrap.min.css create mode 100644 opensrp-web/bin/src/main/webapp/resources/css/jquery.dataTables.min.css create mode 100644 opensrp-web/bin/src/main/webapp/resources/css/style.css create mode 100644 opensrp-web/bin/src/main/webapp/resources/fonts/glyphicons-halflings-regular.eot create mode 100644 opensrp-web/bin/src/main/webapp/resources/fonts/glyphicons-halflings-regular.svg create mode 100644 opensrp-web/bin/src/main/webapp/resources/fonts/glyphicons-halflings-regular.ttf create mode 100644 opensrp-web/bin/src/main/webapp/resources/fonts/glyphicons-halflings-regular.woff create mode 100644 opensrp-web/bin/src/main/webapp/resources/fonts/glyphicons-halflings-regular.woff2 create mode 100644 opensrp-web/bin/src/main/webapp/resources/images/Sorting icons.psd create mode 100644 opensrp-web/bin/src/main/webapp/resources/images/favicon.ico create mode 100644 opensrp-web/bin/src/main/webapp/resources/images/sort_asc.png create mode 100644 opensrp-web/bin/src/main/webapp/resources/images/sort_asc_disabled.png create mode 100644 opensrp-web/bin/src/main/webapp/resources/images/sort_both.png create mode 100644 opensrp-web/bin/src/main/webapp/resources/images/sort_desc.png create mode 100644 opensrp-web/bin/src/main/webapp/resources/images/sort_desc_disabled.png create mode 100644 opensrp-web/bin/src/main/webapp/resources/js/bootstrap.min.js create mode 100644 opensrp-web/bin/src/main/webapp/resources/js/jquery.dataTables.js create mode 100644 opensrp-web/bin/src/main/webapp/resources/js/jquery.dataTables.min.js create mode 100644 opensrp-web/bin/src/main/webapp/resources/js/jquery.js create mode 100644 opensrp-web/bin/src/main/webapp/resources/js/jquery.min.js create mode 100644 opensrp-web/bin/src/main/webapp/resources/js/scripts.js create mode 100644 opensrp-web/bin/src/main/webapp/resources/opensrp_logo.png create mode 100644 opensrp-web/bin/src/main/webapp/stylesheets/auditlog.css create mode 100644 opensrp-web/bin/src/main/webapp/stylesheets/fakeforms.css create mode 100644 opensrp-web/bin/src/main/webapp/stylesheets/faketime.css create mode 100644 opensrp-web/bin/src/main/webapp/test/fakeactions.html create mode 100644 opensrp-web/bin/src/main/webapp/test/faketime.html create mode 100644 opensrp-web/bin/src/test/java/org/opensrp/fixtures/csv_to_import.csv create mode 100644 opensrp-web/bin/src/test/java/org/opensrp/integration/ChildImmunizationFields.class create mode 100644 opensrp-web/bin/src/test/java/org/opensrp/integration/ScheduleTrackingSchedulesJSONTest.class create mode 100644 opensrp-web/bin/src/test/java/org/opensrp/integration/SpringApplicationContextProvider.class create mode 100644 opensrp-web/bin/src/test/java/org/opensrp/web/AuthenticationFilterTest.class create mode 100644 opensrp-web/bin/src/test/java/org/opensrp/web/controller/AuditMessageControllerTest.class create mode 100644 opensrp-web/bin/src/test/java/org/opensrp/web/controller/FormDownloadTest.class create mode 100644 opensrp-web/bin/src/test/java/org/opensrp/web/controller/OpenmrsReportingTest.class create mode 100644 opensrp-web/bin/src/test/java/org/opensrp/web/controller/UserControllerTest.class create mode 100644 opensrp-web/bin/src/test/java/org/opensrp/web/controller/XlsDataImportControllerTest.class create mode 100644 opensrp-web/bin/src/test/java/org/opensrp/web/controller/it/ActionControllerTest.class create mode 100644 opensrp-web/bin/src/test/java/org/opensrp/web/controller/it/AuditMessageControllerIntegrationTest.class create mode 100644 opensrp-web/bin/src/test/java/org/opensrp/web/controller/it/ErrorTraceControllerIntegrationTest.class create mode 100644 opensrp-web/bin/src/test/java/org/opensrp/web/controller/it/FormDownloadIntegrationTest.class create mode 100644 opensrp-web/bin/src/test/java/org/opensrp/web/controller/it/FormSubmissionIntegrationTest.class create mode 100644 opensrp-web/bin/src/test/java/org/opensrp/web/controller/it/UserControllerIntegrationTest.class create mode 100644 opensrp-web/bin/src/test/java/org/opensrp/web/it/AtomFeedIntegrationTest.class create mode 100644 opensrp-web/bin/src/test/java/org/opensrp/web/it/DrishtiScheduleConstants$ChildScheduleConstants.class create mode 100644 opensrp-web/bin/src/test/java/org/opensrp/web/it/DrishtiScheduleConstants$ECSchedulesConstants.class create mode 100644 opensrp-web/bin/src/test/java/org/opensrp/web/it/DrishtiScheduleConstants$MotherScheduleConstants.class create mode 100644 opensrp-web/bin/src/test/java/org/opensrp/web/it/DrishtiScheduleConstants.class create mode 100644 opensrp-web/bin/src/test/java/org/opensrp/web/it/DrishtiSchedulesIntegrationTest.class create mode 100644 opensrp-web/bin/src/test/java/org/opensrp/web/rest/it/BaseResourceTest.class create mode 100644 opensrp-web/bin/src/test/java/org/opensrp/web/rest/it/ClientResourceTest.class create mode 100644 opensrp-web/bin/src/test/java/org/opensrp/web/rest/it/EventResourceTest.class create mode 100644 opensrp-web/bin/src/test/java/org/opensrp/web/rest/it/FormSubmissionResourceTest.class create mode 100644 opensrp-web/bin/src/test/java/org/opensrp/web/rest/it/ProviderResourceTest.class create mode 100644 opensrp-web/bin/src/test/java/org/opensrp/web/rest/it/ReportResourceTest.class create mode 100644 opensrp-web/bin/src/test/java/org/opensrp/web/rest/it/ResourceTestUtility.class create mode 100644 opensrp-web/bin/src/test/java/org/opensrp/web/rest/it/SearchResourceTest.class create mode 100644 opensrp-web/bin/src/test/java/org/opensrp/web/rest/it/StockResourceTest.class create mode 100644 opensrp-web/bin/src/test/java/org/opensrp/web/rest/it/TestWebContextLoader.class create mode 100644 opensrp-web/bin/src/test/java/org/opensrp/web/security/DrishtiAuthenticationProviderTest.class create mode 100644 opensrp-web/bin/src/test/java/org/opensrp/web/utils/OpenmrsHttpUtil.class create mode 100644 opensrp-web/bin/src/test/java/org/opensrp/web/utils/PdfUtilTest.class create mode 100644 opensrp-web/bin/src/test/java/org/opensrp/web/utils/RestUtilsTest.class create mode 100644 opensrp-web/bin/src/test/java/org/opensrp/web/utils/TestResourceLoader.class create mode 100644 opensrp-web/bin/src/test/js/auditmessage_spec.js create mode 100644 opensrp-web/bin/src/test/resources/form/child_enrollment/form.json create mode 100644 opensrp-web/bin/src/test/resources/form/child_enrollment/form.xml create mode 100644 opensrp-web/bin/src/test/resources/form/child_enrollment/form_definition.json create mode 100644 opensrp-web/bin/src/test/resources/form/child_enrollment/model.xml create mode 100644 opensrp-web/bin/src/test/resources/form/child_followup/form.json create mode 100644 opensrp-web/bin/src/test/resources/form/child_followup/form.xml create mode 100644 opensrp-web/bin/src/test/resources/form/child_followup/form_definition.json create mode 100644 opensrp-web/bin/src/test/resources/form/child_followup/model.xml create mode 100644 opensrp-web/bin/src/test/resources/form/entity_relationship.json create mode 100644 opensrp-web/bin/src/test/resources/form/new_household_registration/form.json create mode 100644 opensrp-web/bin/src/test/resources/form/new_household_registration/form.xml create mode 100644 opensrp-web/bin/src/test/resources/form/new_household_registration/form_definition.json create mode 100644 opensrp-web/bin/src/test/resources/form/new_household_registration/form_submission1.json create mode 100644 opensrp-web/bin/src/test/resources/form/new_household_registration/form_submission10.json create mode 100644 opensrp-web/bin/src/test/resources/form/new_household_registration/form_submission2.json create mode 100644 opensrp-web/bin/src/test/resources/form/new_household_registration/form_submission3.json create mode 100644 opensrp-web/bin/src/test/resources/form/new_household_registration/form_submission4.json create mode 100644 opensrp-web/bin/src/test/resources/form/new_household_registration/form_submission5.json create mode 100644 opensrp-web/bin/src/test/resources/form/new_household_registration/form_submission6.json create mode 100644 opensrp-web/bin/src/test/resources/form/new_household_registration/form_submission7.json create mode 100644 opensrp-web/bin/src/test/resources/form/new_household_registration/form_submission8.json create mode 100644 opensrp-web/bin/src/test/resources/form/new_household_registration/form_submission9.json create mode 100644 opensrp-web/bin/src/test/resources/form/new_household_registration/model.xml create mode 100644 opensrp-web/bin/src/test/resources/form/offsite_child_followup/form.json create mode 100644 opensrp-web/bin/src/test/resources/form/offsite_child_followup/form.xml create mode 100644 opensrp-web/bin/src/test/resources/form/offsite_child_followup/form_definition.json create mode 100644 opensrp-web/bin/src/test/resources/form/offsite_child_followup/model.xml create mode 100644 opensrp-web/bin/src/test/resources/form/offsite_woman_followup/form.json create mode 100644 opensrp-web/bin/src/test/resources/form/offsite_woman_followup/form.xml create mode 100644 opensrp-web/bin/src/test/resources/form/offsite_woman_followup/form_definition.json create mode 100644 opensrp-web/bin/src/test/resources/form/offsite_woman_followup/model.xml create mode 100644 opensrp-web/bin/src/test/resources/form/vaccine_stock_position/form.json create mode 100644 opensrp-web/bin/src/test/resources/form/vaccine_stock_position/form.xml create mode 100644 opensrp-web/bin/src/test/resources/form/vaccine_stock_position/form_definition.json create mode 100644 opensrp-web/bin/src/test/resources/form/vaccine_stock_position/model.xml create mode 100644 opensrp-web/bin/src/test/resources/form/woman_enrollment/form.json create mode 100644 opensrp-web/bin/src/test/resources/form/woman_enrollment/form.xml create mode 100644 opensrp-web/bin/src/test/resources/form/woman_enrollment/form_definition.json create mode 100644 opensrp-web/bin/src/test/resources/form/woman_enrollment/model.xml create mode 100644 opensrp-web/bin/src/test/resources/form/woman_followup/form.json create mode 100644 opensrp-web/bin/src/test/resources/form/woman_followup/form.xml create mode 100644 opensrp-web/bin/src/test/resources/form/woman_followup/form_definition.json create mode 100644 opensrp-web/bin/src/test/resources/form/woman_followup/model.xml create mode 100644 opensrp-web/bin/src/test/resources/schedules/child-bcg.json create mode 100644 opensrp-web/bin/src/test/resources/schedules/child-dpt-booster1.json create mode 100644 opensrp-web/bin/src/test/resources/schedules/child-dpt-booster2.json create mode 100644 opensrp-web/bin/src/test/resources/schedules/child-ipv.json create mode 100644 opensrp-web/bin/src/test/resources/schedules/child-measles1.json create mode 100644 opensrp-web/bin/src/test/resources/schedules/child-measles2.json create mode 100644 opensrp-web/bin/src/test/resources/schedules/child-opv-booster.json create mode 100644 opensrp-web/bin/src/test/resources/schedules/child-opv0.json create mode 100644 opensrp-web/bin/src/test/resources/schedules/child-opv1.json create mode 100644 opensrp-web/bin/src/test/resources/schedules/child-opv2.json create mode 100644 opensrp-web/bin/src/test/resources/schedules/child-opv3.json create mode 100644 opensrp-web/bin/src/test/resources/schedules/child-pcv1.json create mode 100644 opensrp-web/bin/src/test/resources/schedules/child-pcv2.json create mode 100644 opensrp-web/bin/src/test/resources/schedules/child-pcv3.json create mode 100644 opensrp-web/bin/src/test/resources/schedules/child-pentavalent1.json create mode 100644 opensrp-web/bin/src/test/resources/schedules/child-pentavalent2.json create mode 100644 opensrp-web/bin/src/test/resources/schedules/child-pentavalent3.json create mode 100644 opensrp-web/bin/src/test/resources/schedules/delivery-plan.json create mode 100644 opensrp-web/bin/src/test/resources/schedules/ec-condom-refill.json create mode 100644 opensrp-web/bin/src/test/resources/schedules/ec-dmpa-injectable-refill.json create mode 100644 opensrp-web/bin/src/test/resources/schedules/ec-female-sterilization-followup.json create mode 100644 opensrp-web/bin/src/test/resources/schedules/ec-fp-followup.json create mode 100644 opensrp-web/bin/src/test/resources/schedules/ec-fp-referral-followup.json create mode 100644 opensrp-web/bin/src/test/resources/schedules/ec-iud-followup.json create mode 100644 opensrp-web/bin/src/test/resources/schedules/ec-male-sterilization-followup.json create mode 100644 opensrp-web/bin/src/test/resources/schedules/ec-ocp-refill.json create mode 100644 opensrp-web/bin/src/test/resources/schedules/fw-census.json create mode 100644 opensrp-web/bin/src/test/resources/schedules/mother-anc-normal.json create mode 100644 opensrp-web/bin/src/test/resources/schedules/mother-auto-close-pnc.json create mode 100644 opensrp-web/bin/src/test/resources/schedules/mother-expected-date-of-delivery.json create mode 100644 opensrp-web/bin/src/test/resources/schedules/mother-hb-followup-test.json create mode 100644 opensrp-web/bin/src/test/resources/schedules/mother-hb-test-1.json create mode 100644 opensrp-web/bin/src/test/resources/schedules/mother-hb-test-2.json create mode 100644 opensrp-web/bin/src/test/resources/schedules/mother-ifa-1.json create mode 100644 opensrp-web/bin/src/test/resources/schedules/mother-ifa-2.json create mode 100644 opensrp-web/bin/src/test/resources/schedules/mother-ifa-3.json create mode 100644 opensrp-web/bin/src/test/resources/schedules/mother-lab-reminder.json create mode 100644 opensrp-web/bin/src/test/resources/schedules/schedule-config.xls create mode 100644 opensrp-web/bin/src/test/resources/schedules/woman-tt2.json create mode 100644 opensrp-web/bin/src/test/resources/schedules/woman-tt3.json create mode 100644 opensrp-web/bin/src/test/resources/schedules/woman-tt4.json create mode 100644 opensrp-web/bin/src/test/resources/schedules/woman-tt5.json diff --git a/assets/migrations/generator/generatorConfig.xml b/assets/migrations/generator/generatorConfig.xml index 86bd00cf80..529da738db 100644 --- a/assets/migrations/generator/generatorConfig.xml +++ b/assets/migrations/generator/generatorConfig.xml @@ -2,10 +2,10 @@ + location="/Users/onaio/Workspace/opensrp-server/assets/migrations/drivers/postgresql-42.2.1.jar" /> - @@ -63,6 +63,14 @@ typeHandler="org.opensrp.repository.postgres.handler.ViewConfigurationTypeHandler" /> --> - + + +
+ +
+ + + diff --git a/assets/migrations/scripts/20180423072606_create_view_configurations_metadata_table.sql b/assets/migrations/scripts/20180423072606_create_view_configurations_metadata_table.sql index d1715e7117..6bc095f594 100644 --- a/assets/migrations/scripts/20180423072606_create_view_configurations_metadata_table.sql +++ b/assets/migrations/scripts/20180423072606_create_view_configurations_metadata_table.sql @@ -28,9 +28,8 @@ CREATE TABLE core.view_configuration_metadata ) WITH ( OIDS = FALSE -); +); -- //@UNDO -- SQL to undo the change goes here. DROP TABLE core.view_configuration_metadata; - diff --git a/assets/migrations/scripts/20180904141214_create_settings_table.sql.sql b/assets/migrations/scripts/20180904141214_create_settings_table.sql.sql new file mode 100644 index 0000000000..64474eb79f --- /dev/null +++ b/assets/migrations/scripts/20180904141214_create_settings_table.sql.sql @@ -0,0 +1,33 @@ +-- +-- Copyright 2010-2016 the original author or authors. +-- +-- Licensed under the Apache License, Version 2.0 (the "License"); +-- you may not use this file except in compliance with the License. +-- You may obtain a copy of the License at +-- +-- http://www.apache.org/licenses/LICENSE-2.0 +-- +-- Unless required by applicable law or agreed to in writing, software +-- distributed under the License is distributed on an "AS IS" BASIS, +-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +-- See the License for the specific language governing permissions and +-- limitations under the License. +-- + +-- // create_settings_table.sql +-- Migration SQL that makes the change goes here. +CREATE TABLE core.settings +( + id bigserial NOT NULL, + json jsonb NOT NULL, + PRIMARY KEY (id) +) +WITH ( + OIDS = FALSE +) + + +-- //@UNDO +-- SQL to undo the change goes here. + +DROP TABLE core.settings diff --git a/assets/migrations/scripts/20180904141237_create_settings_metadata_table.sql.sql b/assets/migrations/scripts/20180904141237_create_settings_metadata_table.sql.sql new file mode 100644 index 0000000000..ff66cd356f --- /dev/null +++ b/assets/migrations/scripts/20180904141237_create_settings_metadata_table.sql.sql @@ -0,0 +1,36 @@ +-- +-- Copyright 2010-2016 the original author or authors. +-- +-- Licensed under the Apache License, Version 2.0 (the "License"); +-- you may not use this file except in compliance with the License. +-- You may obtain a copy of the License at +-- +-- http://www.apache.org/licenses/LICENSE-2.0 +-- +-- Unless required by applicable law or agreed to in writing, software +-- distributed under the License is distributed on an "AS IS" BASIS, +-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +-- See the License for the specific language governing permissions and +-- limitations under the License. +-- + +-- // create_settings_metadata_table.sql +-- Migration SQL that makes the change goes here. + +CREATE TABLE core.settings_metadata +( + id bigserial NOT NULL, + settings_id bigint REFERENCES core.settings (id), + document_id character varying UNIQUE NOT NULL, + identifier varchar UNIQUE, + server_version bigint, + PRIMARY KEY (id) +) +WITH ( + OIDS = FALSE +); + +-- //@UNDO +-- SQL to undo the change goes here. + +DROP TABLE core.settings_metadata; diff --git a/opensrp-connector/bin/.gitignore b/opensrp-connector/bin/.gitignore new file mode 100644 index 0000000000..b83d22266a --- /dev/null +++ b/opensrp-connector/bin/.gitignore @@ -0,0 +1 @@ +/target/ diff --git a/opensrp-connector/bin/pom.xml b/opensrp-connector/bin/pom.xml new file mode 100644 index 0000000000..35ef6bc362 --- /dev/null +++ b/opensrp-connector/bin/pom.xml @@ -0,0 +1,210 @@ + + + 4.0.0 + + opensrp + org.opensrp + 0.1-SNAPSHOT + + + opensrp-connector + jar + opensrp-connector + http://github.com/OpenSRP/opensrp-server + + + + 0.1-SNAPSHOT + ${project.basedir}/.. + + + + opensrp-connector + + + src/main/resources + + + ../assets/schedules + schedules + + + ../assets/config + + + ../build + true + + maven.properties + + + + ../opensrp-core/src/main/resources + + + + + + + + + org.springframework + spring-webmvc + ${spring.version} + + + org.springframework + spring-web + ${spring.version} + + + commons-logging + commons-logging + + + + + org.codehaus.jackson + jackson-mapper-asl + 1.9.7 + + + org.codehaus.jackson + jackson-core-asl + 1.9.7 + + + org.opensrp + opensrp-api + ${release.version} + + + org.opensrp + opensrp-core + ${release.version} + + + junit + junit + 4.11 + test + + + org.mockito + mockito-all + 1.8.5 + + + org.powermock + powermock-module-junit4 + 1.4.9 + test + + + org.powermock + powermock-api-mockito + 1.4.9 + test + + + org.javassist + javassist + 3.18.1-GA + + + org.slf4j + slf4j-log4j12 + 1.6.0 + + + + org.ict4h + atomfeed-client + 1.9.1 + + + org.bouncycastle + bcprov-jdk15on + 1.54 + + + org.bouncycastle + bcprov-ext-jdk15on + 1.54 + + + + + diff --git a/opensrp-connector/bin/src/main/java/org/opensrp/connector/MultipartHttpUtil.class b/opensrp-connector/bin/src/main/java/org/opensrp/connector/MultipartHttpUtil.class new file mode 100644 index 0000000000000000000000000000000000000000..a7f40242e4f6863cf86e086b21fc042c48c37cd6 GIT binary patch literal 6684 zcmeHMX>S`v7=G6|d?Yk&O3P7>X?i6EY>ogDK}aP^g(as!aZ-+Nll8=&WOrtnnKjKX z;3px01mF1u{13h(-r05SwY(u?%Lx_Ahh)9G@A=HU*X$pE|MD9EtiyT{3Lbo{m0t@f z7quhWr8TMAH5oCXRaEn(5X?7H)wbin@Q5n&l`+x2;Xx5*J-C{11XQ$ZI|oNd>B0Qx zTyXP+2Q#Z{Pd%93lr2_-vIk28+AXD|D#3!ccz0hYre)A&E#k{C;sG^W3KA)K5U@~x zMk?jK4kP9yV#ErlT4mK#8S$wQ(vSm2o(rjxx*=Q>E?QinJ;4dSI%J9oA2l2*8RGp9 zF}`b&svl6T$srGzPPMccKC-VO>L1fKBP$3-wFgGE55@{xzSY|a`(I_d&}ygUPp?H z_MxI7`%$Xnb6~-}pDT3}V?qih@^B|c5}HItrCblAfcxAK9Y;)IC<$#;Y$KPXv9h{m z!y*EA2v`k?hjUG(DAdXB5ZKd3vHjTu)6^scUCbOcIv=&3b-GHTz^e$6?1( zH3sB4O0s3tMN$Py@X{j8!4(f~tTqO7M9REj=ZvKWwlz=U@PMg3TXQ{FZb+X7PkS}E z_i)y9xc1=F#zZsE2F^2))HvlF<(M&Q*kn)E8rc-QQG%OZ;V*|dDa$nl)ZLmEm-U;X zq)9^TjKno)M4Wta@4eh9FT1q<0H4VXc!bbq7;E27E!IXN>vga2=l?&l&NXPp$U2sE zDpSE_yXY_zd2l79$80drI#(^bPHEEI_}-<2rC~MH$zY|d^t)hPgtt9d$aHiixa}2w za*Vto!53E81|VFR$_zl$(|OtQrtSObEw2aH6bogSZQ-G@XgBdxxZ}b7oT{@n8Vx15 z=Rx4GlbxCi7a|X?r{?Y{%7cNym8Oi9&unh=;O5AAeR2xz!L8oRSr=WdIX23V>=Al$ z=#G8y0-k^M4jea%@Gb`NAPkC7^J z;X1sGPppK8D0dF8se~Ij5*{QH3JKpU@M?x{w$Jxk4&P>TL0Gw=W{E5ItO;niaP5U(HMpPj7Uf%l+> HUVQKm(Z#y= literal 0 HcmV?d00001 diff --git a/opensrp-connector/bin/src/main/java/org/opensrp/connector/MultipartUtility.class b/opensrp-connector/bin/src/main/java/org/opensrp/connector/MultipartUtility.class new file mode 100644 index 0000000000000000000000000000000000000000..7df555656bbfaf8f74fc089bc312f64c300ec669 GIT binary patch literal 7776 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 literal 0 HcmV?d00001 diff --git a/opensrp-connector/bin/src/main/java/org/opensrp/connector/atomfeed/AllFailedEventsCouchImpl.class b/opensrp-connector/bin/src/main/java/org/opensrp/connector/atomfeed/AllFailedEventsCouchImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..027ad5d5c8eeac909eeeb259c914e44a3d1508ae GIT binary patch literal 6966 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 literal 0 HcmV?d00001 diff --git a/opensrp-connector/bin/src/main/java/org/opensrp/connector/atomfeed/AllMarkersCouchImpl.class b/opensrp-connector/bin/src/main/java/org/opensrp/connector/atomfeed/AllMarkersCouchImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..4924ec2b60595136e25576247851de0b5bbae52f GIT binary patch literal 5018 zcmeHLZFAd15Z+6Z$Toq5(3C<;tA@_hfnc=|-kMOFq-h&QAvA9@d_2n+`x@y^b2>Tk zFJlH~;5$DG*pqC_NtKZT>A(j**gna-kM^G3du~s^|MBy$0I&qlEf^#4I8vSyP%fO8 zv`ZbS+KvpFh*ao!QV8a0sT`_haL8E8S@r!bs*ae7)@AH7v?w+;%fhrm>&D1F;%RQie%+O(?YX%19MNEBu$eF^sdzyCqp<+D&E;Ci3^~V$J;`KocZ8!s-eCElcj{rB0cL2U0VygQ+x?TgIWE&r3FqLd8Y< z&{XfSR7Yjd|C27bK5}E7+PW9AT6HVQ#~O`Td6z_$3UD*^Dlj}N zS_S4qIV!MA6sW*vs7VEO+bGh3kzo;ODs*(Nd6z0qQKM?r3(hJP`g3v9R9z7Bg67Yd zV2WyXz}ay@Af=++)n$cLVESm;!+Qs7fJ`S2p?HTbhouu@rf6y1R{>^dS;n)zax&O3@#Rl+AtmoER z&$PMwiW9h*7n++=faY(xqvEt&f!hTBEYT#6dKHvZDY{GLKQ(&ol7_4p5;GMbP^mAt zM#Ye^>Mm~!s$*rc*}uIqAoLL$Ou9xAaWF2h1tM@IpkW2-gg7O5{a;P91`4TbGdzOb zue-SNmls@IlTOkNXD2z&=S*m)C6lw?u&itDK$)p@viqulrKBHJ-~l1GE|0%rc1meMF-$4lDP>fcassto87q%H8VTpW}(2DzDSC;42Iu^RwU~zREb; zELpIEl4L~80(@yPnaE`82f1hsaLz#+AI5e+2W=$>Z2~?;pE3BXKj)?4oIl6= aU*HGe8GdFlXJ5kCungb8x3CK9u<;j?&N*8E literal 0 HcmV?d00001 diff --git a/opensrp-connector/bin/src/main/java/org/opensrp/connector/atomfeed/AllMarkersInMemoryImpl.class b/opensrp-connector/bin/src/main/java/org/opensrp/connector/atomfeed/AllMarkersInMemoryImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..cd500b6feedbcc84b8313079a88733af244d75fc GIT binary patch literal 2856 zcmds3+invv5FNLHO+uh0Pzn^NDYt}6_Jt>ckPsIUDWOtt5|7TtP2B9-E883Bmmz@! z@B9;p@oqwj2-*mt3h@wo?Tn9o&Wt_t<=cl(0Pqle4;BbKGdl1iCZvDBM$A{b@2i+g zqhmi%Qu4qm?K7*Qea?IS(=hBXJ>=T7WQRveAGV@6^q@dsIb9zz+4ncQ2e^*FV#Hzs zrS>ak1|1eR@q1hJC9{d<1TIeIAGde6TFrI_+=Q(&)%OS#o~a)9;531y z=_W69~JLP;8H)eU)M9?^1XXTWKX2O-mF6tiH+`kZbc z+s2q};|JTugzX0HDQ>7#mPX7518Nb3zl)LEQ4kcc;RI~Bvo&%cvy+G@R@zc$D+2p) zKm#V-HeF69O#a-^#9GMyzGe}BtMo7rJ3Y1Jb}qZbig2dkG%#lTO|7Dg+QXQaOXFC` zvBH4JvB;t&$H)bz2!y33iMht$kjCo7g*44#v{t9W&_wq5zL31vpq<26=i_u)cu0jD zsUfEfy)*b3;h3o$t8SYkuC?g#9C_#RLB1>hMQZt{-nQ(JqaxE@MAITfpxOZEXfxbtc+Xxb_>g!Vk3d8EC6B&=!%qW4Zx1 Uum@=1?+kLe3AdpJcai`7@A|WJqyPW_ literal 0 HcmV?d00001 diff --git a/opensrp-connector/bin/src/main/java/org/opensrp/connector/atomfeed/AtomfeedService.class b/opensrp-connector/bin/src/main/java/org/opensrp/connector/atomfeed/AtomfeedService.class new file mode 100644 index 0000000000000000000000000000000000000000..6fa935c82aa7260947a149c15459bca681810cac GIT binary patch literal 570 zcmah`J5R$f5Iz@ZLwK~5$80eHL$WYIg@h1H6$}L=M%Oul!LcL9t@uy;03?uL=SLyV zQJ{#0!FRsz9{Rq!kI$Dk0N97E4zw5yDksxID3jicsYtEMQ(K~`T$xI13`%cZD!eUj z5wrBT`Hav_mBbFrGw9WgT9`b&7~fL^gJ>YNGRhw@nA_RCW-xzZGpb%>(4AGEI%i!3 zOAMZ_jKj+6DP~;SqEuRVWeqQ#9cwHOc)WOdhde{6g`=8M$On-l-zK_ALpS-Mn|#yV z=9$Hc8|!%?yu9O{hTvmK9Dfg?4J2U$NuZYeGct}Lf|X@hg)W2kpi#NGGo0xfd8bT% z7<6}s%Ha8=7^AxsB!xkLXr<8C!l@89;0g(qSXHM}G`?c6-o$4@Y0SRScw{F|;u&EK zHvXKVCf{a28>j06*$5V(O>u{!y#|e6A-d_u&#?SXXbXB|Lk-YdtC4WgK4HPH2Tz%e HIEB^;LyS^!8iKVHT$uNDeS1XD>1CJO2I8pMM2_4S0})41v3m^vVI{ zVfh*D(z1}vvS_m~lI^l5!jO4N$TC$Tc*`|hjO1aw!17;Imi+y7+s%+&GN&e zXQ)HKd1_=TcuDpME-a!+lvk_ZMuF|UO|)A_e69Jkqh9(j@nJj5tTi;!mTwqJOxZ7TkB;l$H%9%GAz z!6p%s^XS_vn`T~xAXx~;HwN=tJ?5k&kvWeUNzeqw2WWDRJ?tW1;f?>cFXfXJMiQ^` zumo?-K>;ojSSg-nXPQDS)Og4qbb=!$_bIX>P2+?|{X;6b-uG{2Rf{8stJGeSR3alh zv{+KZG?on^88K4N=lC0DA*P$BJ*jF}W}8g)_^alo$Po7&SR=4{HVZ@&h*3aQ!yAXx zbh)^G`ZW%GOu#=I&#=lQ*-4aV0(tG#fMU-^aTl}2J(EJbdD3{T^Ju`kF%ZbS^C&dD zl`WcpE%DHkOfv=jzH0jq{x9&v0&6+Ql#84i0{OTf9aLDUhB&@PJksOyE@zTTuXUV*T>{ItAuIr6-FkKf#;78LYSQd)hp~D#Gizo)o+b@8J$z zg!l1#fG~yk(jt5SZVX{$!>YxGOI8~`gpaHUmn;bDR)kMdAY8E`6k$DPgU(Pd4mK~Y zSrI;ki!p@E5W(ifbt}SWa5;u>b|i0D5w1WfhA^_h=EZF*Lit}R%7##}B3w=3#kLjU zS_&_!R)o(})I;5h@I{Jjes4wCNMXZ)72$dcgeO*nFH?B&gB9Vc6bRIc@O26VW<|IG zH)B;jIv1Ok{=lsWw=t3#xPxa>_rkll4m#cl?HdbPXhFLG_fS6rTd;#GKpj60cHeKI H3g7(=HHZ;I literal 0 HcmV?d00001 diff --git a/opensrp-connector/bin/src/main/java/org/opensrp/connector/atomfeed/domain/Marker.class b/opensrp-connector/bin/src/main/java/org/opensrp/connector/atomfeed/domain/Marker.class new file mode 100644 index 0000000000000000000000000000000000000000..0ec9d0748e60c1e95d0e916f18471e03e2640685 GIT binary patch literal 3446 zcmeHKTTc@~6h6}e+m!^v768m($8 zFrii8xKaq_8mSy=r2mDns#BGb=nhp!Oj$5MU^Lq1QBiX~RSr>{fE9}FD^4I+YOU@X z#YJtMz=%h+DKlE#5=NaBs{|&a4dvptRHgPc0z(^IaPyi#GQV^{VBnpsG7D}YNDFvN zDXCI0LI%I?3&phbPFU4;r5|vQ8ZLz$C|U8Cuh;BMdausxDsw%mP$;185v?(M9@Q?K zt6jKIyUfs&y^7kODhGKL%GJhLXNC%&nuzLTAQrI1AV&*RJ9|7ic3DBV`+DQ`?|q zCcP6OzNMONQbQY2a>bTLu=Gs`_3qnQeOB$}xOAUQaCI>4my5e+!qC&LQHmkbGLVHkSx7^Uz(l^YP=xpWNQn#f@z}30wMX#^4=ajvsdqpX55LbR z2TYx70vo04*D|b2&+;X-v%_7pT5nZ6*W*l>%Y|<}e!0VzW z{kH%`R=SN<4k=zLs9~|qp+v{zbW@qQB0Sy1j9W|@+2{rcJVhgPYe8gs5&YVM1?1J4 z6)9LG?%KQQVxy2E02}Swt1LK!wttpeF}k@^06@7XGL+sHOJ(76E+`F1BJOY zR@(cw>SM|bo>1=?ktT`)yC%)G!CZOInWD}#|7OY(A92*H>!Ak;*T}BXr z><-r&Tgs4_hB?3{5&POCBw!GR@GSw>`Iw5vG|r?UgL1=B|C_`&fXolbe$L(g2BW{C zJ!AMBidK+2zGoX!FadY*iy*=zKAQ*$oa+_g9!#|%v^Y%1aF~kaa36AQ2rUkA2(z&W zvpsN_i$!?Q1BZoJgoizFSc*lkd*HAfi!cZC7!{AuivwuU#}|HWdF4rrS5{)Ml8{G~ V1T4Waj^Y0mMh2o55cN5{_zMN=+`Rw* literal 0 HcmV?d00001 diff --git a/opensrp-connector/bin/src/main/java/org/opensrp/connector/dhis2/DHIS2AggregateConnector.class b/opensrp-connector/bin/src/main/java/org/opensrp/connector/dhis2/DHIS2AggregateConnector.class new file mode 100644 index 0000000000000000000000000000000000000000..3f97c7847d1b6bdc7a414cfccf17b71625cc633c GIT binary patch literal 8338 zcmeHM-ESL35TAA2+IMxEHjq-<0@qN$;loB1LV_Sr%rh zqh3iZ8i>9AjSQvvmcdGK^96%!MKweYZZcTy4ldwfv%IUd(s@{AtH1sjY7wiTBO0Es zT9FL8tX`xQifP4Pd#-bMB)o?31C9c`i2E;jQ+OL_rBdHYrGb@7T`O&P4JBd^RrFfi z_(z^W25}OhAx9a|TqSGul2xoUjjyMJY(+{NuZuR~#CSfpX7K95I~&6|ux(_pc%U83 zaje2L$@9SVCxs$tar>0O5AhfwcZxRU0 z_Ec%~QYm6*nh>(>UL%mYXbAQuK;|(e6&{GN!F9^aO@X=2l$SlH(&1WiJPGFo-RI^g zVF0c}v)ClBGG zBPe}Pj}z!eRZd5c#1Kv#lFwSGupQOL9hzdGi6G*3s7;w<;`uv;!X7V_19BD|X`-&& zxpujuCah!17Qd1XWw~_5($7(kY|TRqvRo*@odP(p#$dfz9p>r1AYjYp@vBuCif8Rs zUFbs_kl0Fr@_F#0AE5LfW(}4p7*wh=)*{AB8dysBDnXZV?Z%&2eb<}93`j9Ta$UNpWHC^h}V5Y$4l}Akx*>lRnL~faKU1nmo zjF8S(phrUhf^A5r3kkGPVH2~d(cw=7EmJPijLsC&Tp32fI$ow+X;rTO<keeqPD9oLJtM&aJT!+ zfw%C<8ABGI&B|~O-bOk1@yjeSJs5BewRtB&8!u6t_fomM1g`HAxi;YaM7=VDF+LvW fVwD8075EUp$-qYg`xo)PYglA;Isb#@v_Qf literal 0 HcmV?d00001 diff --git a/opensrp-connector/bin/src/main/java/org/opensrp/connector/dhis2/DHIS2DatasetPush.class b/opensrp-connector/bin/src/main/java/org/opensrp/connector/dhis2/DHIS2DatasetPush.class new file mode 100644 index 0000000000000000000000000000000000000000..d72d0eb8b4d976c01ac6ef168b3bd78bd5056d50 GIT binary patch literal 8554 zcmeHMTX)+;5FVvzzH+ID9KPww$QZn!2Zb$U_`yHT&((%(}dyYm_t1=xJJ`LD#pRXmr+GW6TrW@`Q;7d^p2d)90eySxO`tAaQLi z^n}x3WpB?3oGq8ldY&&V;rL#l(HrJ$DEy}mXEn$UL9=bAE(e;6o?5v0bV(}T-~q;s z`nE^BY_6n!L7z7x^DGL{To;au(WcBEj3Q0j?hCZ*mAS>z{JL3M+l&mpIX_#S-CSL- zEN)iTA3QA0RW&+qM$U3AuU@PO?s#={JOf<<0h?`DZpd=@n&=$uqq z#y2#&dDwTW7PlHqFy7@v-Hc`iRZs6p6|r9C{2J5gLwK@dkP_!U&(TNPx%#@tS>U^S ztY+ALqv^PjPmLz`u|OKZl#w5JImxT97boOD-Z~ix~$v1*0qs zComkZhQ(wHcORd&8E2l2LAJTy!28dkTxdqYcC8>VwjGxRsRNa~u<^3Th?hs-N2xI= zCzWhk_7khlj2nm?g;wM!v?E6$+8Q^En$H45nzCUDd&dwkI(ycH{gMdSGzA%n3Xv<0 z!;7uyG-L=cq@aaq0Q0E7x+Ei9!Jdi!3WnJAN{D?GR99O{?)o(=YmSjz;Crt^uC;Ph zhCUGu-0jI-6;r7THsv9*Eu-#JpFdH;emPyrji&3^jxd6-$vDC`&NLoM7GlV7ITpvW z+X%p7Tn6IMtFdjzlff4vc(y_p`@7SvU@V1!kY6BWSe^_#@dyc_{O}yk2j2thNYUL8 zzF|eDM1DBtDoR2NmYnu}iY$hcN5jlvMs+VmHaU0~E$X9en;d0gCP-I?tSaVQl7aOJ zGo7ksfIs)7OnRVyLaO$OI8Q&O{`vv+&zKJ@E6b&4Hfu`0-w$I+z?H3CFq8~5$sa*g zcl?@BXQCaRV%5fDMkwh{#4+c)$bQTm1G&7UM8gRJ1mRe+Gk$)!7v-evEaz5Q)Jd-6 z4t|Dy{q>QONn6*Iqh#)|0)6#({}g?Fk)r!)io+F;wOFwi1VI9URdG>InMTsTYDUBr zz-1C~!RNSIyaLRFL_x;T|L;WF4+KlQA?AnG%oC*sGG^8nr z#_b#V84$kX$5f7TJqfDDR~5Nlw8`?6vJ$<}NENr`=_ZYj(0lYTl1nLhAerMiYl40+ zhm9@9t1`DDlUT^Hxf>RD0@Yx zQNDeu1Uh|zl$bPYyDdjwY6GJRc_kIQsqNyf@iP{@(x}SoNWwMdJ_Y;%TVD0!hn zGI^|(rk)-*J4T<*(OvEIuL^6Z(c1375K7AtqxZ zR8AOEtKN}FS@ps(ltWHWf+|c%0;5#3qVoRX>XF8l4&&-^kH78Z8|k z#btr12eO5N9g0w>Qh^V(DK6O1)l}{xxiYxUaK)*6mIyg0RpGgUGe@b;Jsd=H8ZBh2 zpb{@ZoGO0EZMJ}Nm#i@!Vr5ZLM;2n+iPmYI7UQZVYO$^DtR>?E z32sN-e3tw^5%?Q=X2;>!dbU=5%p#+ppQx}S=5hrY_d`Z@*cQ7YCHO=CU>vytC+12o%4>ge?#1?is@q*F8>VU*f7U%>lg{9VGD_zpHJ)AzJQ MEA#_ZXq_JY2Wb!X@c;k- literal 0 HcmV?d00001 diff --git a/opensrp-connector/bin/src/main/java/org/opensrp/connector/dhis2/DHIS2Service.class b/opensrp-connector/bin/src/main/java/org/opensrp/connector/dhis2/DHIS2Service.class new file mode 100644 index 0000000000000000000000000000000000000000..03699e4458a24c10f4714d51c61097e064b60ced GIT binary patch literal 1875 zcmdT_YflqF6unalwM*rtsECgNHGwZ(LyS=|CP+&pDMGph<0mrR4(-71%w}e`!Y?z? zM8Er^jCZ!YAtFW-O_QBR&zw1P@0~N>zJK}x08iji0dfSM8XfvE6Vl&iUFIv@_Eo~A z(TN`_DS2p>_FElc=KRW=oo#n zwIfhqwUF(30+aPrS`qVQ*%d}KBfcP|vdju44S_;!gGDJvTz}Vf2zWi#^`KfOQ0xuX z-c<;cR@bU;SL(rLWuZ}Zn*}0HB3@yZFDV@}izEXtg%tJ`fxem94FdT^)k67W1cr~4 zRkc?73S1}o$LmsaqoOWv(NM*Sh%#9;(F%3O<^}bNjSi^K9aqU=&pcEZX(xR7!Gro(5_aWz_B^+$(08J!jM7m|mG&0Q&cc zPM6*V2e>4B8S7ev!cvnaTw`fUV|D6oC+*$6nOQ0fO=XL33CUY!x{?~}iY!|e?NK4S zYKK#X71BA$;1&Na`!6N*e+79k3O7nH1UCtc&zyBT=Q+bQOv&3cZgSmVXd}+4RLG(Y zriB~tPv$N9EP-dW-}7Yjy65KzI4kMwj1%bvD%Bxh5>DUfakJ0-h`?a&@RrXPU<&>J zbPX5a!HHL)ms7Oq6=4k8P6Iu_v{X_VAf7R39jON4v|AJjNg&$ z$?C%%fcF_j-;Z7U2;*Nf%q{#5Wd9JDz<#NRg4-~OBgb$DzXuF?oVy%DAKb+?Ik*P} QY~4=xv3;2Jb3kGG2TiFyM*si- literal 0 HcmV?d00001 diff --git a/opensrp-connector/bin/src/main/java/org/opensrp/connector/dhis2/Dhis2HttpUtils.class b/opensrp-connector/bin/src/main/java/org/opensrp/connector/dhis2/Dhis2HttpUtils.class new file mode 100644 index 0000000000000000000000000000000000000000..0e03e62a74163d3515bd15a91b52badcadf2bb4c GIT binary patch literal 7645 zcmeHMTW=Fb6h7lP_<|ucKyUQ2gi;dP+Es*5OR7pqpdyta$WB0&c$usx_JrM?)$FWG ze_5qgYTx@u`Y)=USsSlYkMV4@rmf_cy`K5bZRT8N{`l*c-vHnad|845fv+OzHhjv1 z#tH4yhLGKc2w4!xu;GdzV6GCf(dqGMvvFTvA1W0dD(*!kC=$4vVf4ej_GX*OK6e>` zbKmfQt8WP`t#3RfP}~(AR)PwFl|&4W2HnO3DTOSLgu`O!V6S~=)3r^8&2N+b%Y`+|0vvxfTAhx*h<`qUGB)|`%DkrN2z_*A()MW7K^GbvN7g@lRl@1nk+IAE@gJzy# zm28wJ5l#gQL|eMye6fL?4`~!i9(0c-_1TX?zOWG_;}Bd#M$}zgTq0nB$>)v|4t3N| zA*)u}N=s;fm=BQ-IxQBVXpw2|%!lb4)-eOSB>ozVU#%RrnuhP=_L)tQMEF*7cM$z` zn4Mf(4?MIJb8ogFS!lIYECYfj zZ7ZtcXsQ!a%k6m{>r!u9c4Hr-;DeVg3zJG?a(;~a|E$CIZ5g!UKyjbhl7HXcf4qNm zf|blvo%4?4nx(CH8NH{&ok5Sm`kngIDmdgvWNq^N3G-9J3TfeK%f)5wX)CkmN0g+L z`K_t#SoIFDN;E9lLCj3UZEiYMp$r#lunZRoTwQObJ>-DHmhLfEnmk~SWB-WB1Dz)c ztTu&9y{E&xIs8~u*ya+r*UZq`o@$J@2z+f2VN$5cFG(vLibxSSIU~d*=;W7;=6D3& zD#JTuxnZq8;oz@QsTsT#BmEj{o{VC9(WAXVIEVg44)9fET)E)pYkJ`^P2xR zIu(rUZ4pbCeaCeRa{2V3T5`xl;M#D%XD{gUh-0s^tq+lsGcRmS&g0(faGQRs1h)y) z#=~d{K1Uwux-UVUz@>k7L^$XXk0RW}*R5Iv*8#H?9t#4T!>8rsT1t)ym+&2+`YV)w zSgrmHwcqir04qaEz`vL9xi+AJw_p|DG{R-PzCtMCw`>R%xB^#)2)9wP1G>uwZfsc(?sXmSY>%fS$HpL=03<%E+2upAi aH7LNRa0~C+OY3-VXsuAw4b=2A_~LKe`tc(G literal 0 HcmV?d00001 diff --git a/opensrp-connector/bin/src/main/java/org/opensrp/connector/dhis2/Dhis2TrackCaptureConnector.class b/opensrp-connector/bin/src/main/java/org/opensrp/connector/dhis2/Dhis2TrackCaptureConnector.class new file mode 100644 index 0000000000000000000000000000000000000000..fbae9ccba73558ca564e58ecf1e99688ae046079 GIT binary patch literal 2733 zcmeHJQEw7K5T2#92S}w>+iI(Ji$2g7E@_O3VoXeFV-2>6U=tsgV}+&M?qzqu`pZl- z(KjFbQO4OT1!Ad!(LR_y++KEW_Sl^fCq5jg9L%H(SaW_A^kS%F<N$ELP;8FRqyc7 zJf@j+t;K1B2OXx-DMG@m$!Q*AEB0e64q_|DvE^w)aYLoDG-NhtQHu!tIKuEp5ir7{ z%T>`4EB*@ago6kpr7d-iZG#*GCfycwPESMlV?PsVA)9YC3;8>xkH$jxGd$)SwTd!o z-$y)?u3Cq5VNNfq2m1&0HfHuWTTbP;a~$v}{twRPcr@6lKqsR4U!-rMNdJEBCPuv2 zBxfK6^I4dMs|1z`m7xlq&?q^T%2kBq``xh4b&a9$5Lm3JfOQU;7H-}*CM}94f!)d! z;&`simIyo=L+32Pvld5r&5meynORolvQblIC&mO;3zgwNtqA{{^j+5e=t`P$`UdT1PoDFOMwnf;k0geO} zX%0s(Zr|J-AoB@QZx%BjAo~Sp3CQ8-d;p&X9J420a19n?+bmp1%PB$FLvx&cc8{Ge6b$|)DE zV|qecQl%|fFrih^ilq=NHd3{c5!c(TUA%VV5lhO9sU0bXJZ->A05{#tjEb~%I5@@` z0c^S%eLWU2Q*P)hR!C*~gKW_ zTqxZ&ii`9?d+R8Gl^vO|2CN0JegW81N~&vcBe<2m6pCq?ov?(&GB0>W4VQuxN)9rX z>+ea}?2Q;P6wD|M44Z;jLKaLmy$3v&KgaCFjqS)S#btbzH+gPjlvp4|HIQ?9z5ar9yoQ~b z#R5yiGcU%40{zXl$YYt%IvpKO;v+PX$;y4t{@cX`) z7LjMAHuepo2o*N*R1zjYVRHxTgA`26$_>OwLS2;zn;n^^RA8Q4kQ7Yr3tRG5y8XD!l)VxN{qp1PWKxm_<@SI}kZgvYb8 z?WBBP&K=j9ESB>Sd!k%v^pY$1e&qjHDJQL39LU!{M>H$zeC?&xzmLdEZ7$Itjb8IO#Y?^a0;meR z>CeNntW_@hND?e}tjF_(q_i$>0WxM8_oc$EMNQ23E%AJu?`lkq=ntz%V{O>19b(w@ zGsSI{YcyNPqINj8SkrMenQ^={_TV|-bi0kaZ!GQD@Lev`JLSv;^v$n6xOuFpTPbfN z=4m5+mMw(qaB~f=!L0yp&p4~GM>XpmY`>qE`GBdOJzEK2!+tv15mns&KYzGlutWwB zc4etzwvR_ANcs0R*&Ptz^R}=pJcb^2#Rr@zs^ZbO0e1tqF>xG(yM_SPo>kSghetj7 z$#)RIG9IffJ-G{?z$yTa4LjoVCA6c7W9W|EmK`p93)g?%`1Ccb|7K^w23}VYWAUHi cbK2_qhC865@*7cw~FEgmS{ z2vmyF=rjnGlo(p2gQzLYqoA5;xmT}mpthneLT<6fV-ayHl$?Yy4`y?Un9D}6cX&jv zdNA=!NMWCQFuJ@_^I&X4MK}os4`$A>n_4S91=qZZ;(^p?RNTUdg(^u!oRhOutHT%* zv&#HJwTUdkFy@*-DG!f%1K9)8T|CuY{I0v0>wdr@g@#FGS;B4DWR@7Poszy@23m)r zTZf_(R=kL>t3f2G(w60DgJGtH?XZwbH_jolvw8eOaC?~H|4WeD4U=ji8+FYSJW=|% z?_4XWTO!0h|1ql=XSS1~U)WC4ScJkdlclK1Xwq1nIis_#ZI@S=Ff5Z1)`i5V$aXSg zon`XZ;tmtCrH+wt+Uw?z47A;vz&l)$Es6UVKlBQ@43w0!M3~&ct7p6HWNm5=_TAiEUiTN` z7fQ-lNvEfVn&Nw)IWGwxYENlhD`-rAg}s&=Zc08(!S!hvhZ`O&ESKH-2KnvN6|?4U zoS8Bm;oU4bL|x@{iFhzqRw0jTTnqR6v~$eT73V>z{AaGiH4o;ulrB}PFDvKUVy0lh z8+|v-C3h7fgHn7b!(D~QRfr78MGyRn%5;cZ!llE~MOAKI8+vemKa*A@xGh`42nvyP zSM}wkDrHE4GA=Je)?f*!@TFoKV1%B=VS?Jpy!alaCjkE=Oue4--^29h95X|$!vK9| lsh#ek;3mxFee=IzxYdVYu@A!tEE3NM+=e^!?MAu_@C_I84F>=K literal 0 HcmV?d00001 diff --git a/opensrp-connector/bin/src/main/java/org/opensrp/connector/openmrs/EncounterAtomfeed.class b/opensrp-connector/bin/src/main/java/org/opensrp/connector/openmrs/EncounterAtomfeed.class new file mode 100644 index 0000000000000000000000000000000000000000..c5ed10127c206f2ebff59953660b55745d38925a GIT binary patch literal 7430 zcmeHM>vG#f6h3m(%5l>sq!&sH9nls@xY%66t?30fIBkj&2Rj!El(3OE&bIQ(vs$|? zFTg|aAk4rF{O6e%hO@fGuH|Z75*TLkLzc8Y`|Y=9&t-M?kH3ET4FKkVn2eMz|7AZ~}| z;kW@8OI0LOudQw+Lze_~D3`?@PqYw-Ad^L8vMP|akc|2UoVFFe{#L}FmV$7fIFfmM znQ(&43^;3-7uN>bQF{Cl-Cl4R4rRb`dozB)e~vj(^HefUD2V?}(O5-wD!R;}YOV?Q zs14;NXcv(anUi*<=Ut6)jd3P#7*LzB%dWdj#6v3ldG)+Vm`fXhJT?sIad5PL?AZ+i z3YEtWZ7V(aCcKOk*K14lCtQ-p$sYz>sNqtx7G2_9=Cf^=mO1w%33@4&lsnRU!~|_1 z-78Pat`b37R9Q-IC({m=7CRj6sx>xXY{6?#6RsFAxi^!F5T3}x>&DcN>s(OZbGx)* zIbN&H++cjGEj%RD@~>Kj@wHuQHK^kfq++#+^AH!-x`c*Yj10M$7;?~phJ49tc+|IW zI#!EFXV;R5K_9o#c6%|M+J~ao_MG;y#wkJ#pe_T zmh>!Q$tP`E7_VZA!l0rj9K`KSoE8-suyKyn!woZS2INqo&`U62?|KcZN#%k|e1B%v zV!qYk4Z6cP#zoAyL7-H#wvwC{(=3dKi9CbCU}nzhkdmG=x+KXuLoVhLX73E)WWsvu z(VNdRkds83C70|2vIToL2^rEsO3skcTH1rt(BSqYgKu@Uva(#OZ`~@_D{99%RJ=p|y!tdmaAxG59h#smnA>1(UFG&r+o)6)Sv9+c!LL%O8 zJhjrg0dvIF+egdRgwj$@94@rtn&!YGVQP8c=!u{JmtkfC&cUn!XJ!VAE~=<9Y2z+= zrPJD`Vohx+ROQEWh`SMOF`~vXxy!Idb<_Swg*Pmrm{s;kxKHJ}aPx4} zfFCqS98em-P+Rvp!l8>;g2%IiWQV3^qs~KuN->@t*in%H!}OUY^nC6!Ut+=k4x@qy zXZMK-6+EZt`v{AUBuu!Cx#X!jzX?k?_TE8&311j+vR{WLEMv-v+x9l>CR7z*#4sXe z!k2hhk?>Di>sXo(tkr~dJf-N}JejbGW&fZhtY4XM4_79%KNG$|Lj9F66Yirbk}nMt zw))PB!ZpG{mYMHk!EX)AN_=q7kRm4_T0g=6@19!z{gBz(?60j~)-5j>xS$>2T( zF9i2#I2GJa!f z{ElxqcoTnBf57W4{GAA%3-C6)6SNhfgi8VIFW?36 hJzf@C#^EN8@a ziNQ_BUL`g`1_jRR`Q`PIdPJWvEYVNwT#s!@*5J2OEzbxQ$~vY&1;$s`uR+X7uYC_P zt$WS;h$-4Z0X@Jey)aM~8r(2#liyNcGo$A%Yn8BF%G^cqzD!Ju)+8P)Moc@b&5-Dz zp!p32(uF;PwuE6^6)vNxs^yi+zRk&A?}GxD%59sQO}b)tOxN79Xx_FRj+Vey3QX$x zHg_JGjMh;1tHan5VWdepWr0SjE{7f)9PbDpP+(%osZkZKDlpyeR)H~xCE+#Y^tGzZ zsOwlATGI@t*)lCDUu!W36>7TIwRCE|LA4q+EP|?NEn@8ANNaQG)mh)GvpuhtHR#oI zTFs%ZhTYMcgc}WwBM04Up(_t^;5^BSd6E^XWe;cc^e~$(hjC3n395pu1`$@%wy4(a z$OzIj_(J13&>!b#$vitwjl>z49oMm+CeC-#`jw^oho8LfJ<~du-pPOQ%M| zo(N^aVxOocerV-IGZElmR1^UY#77a>!B8mz+6zmfaJ>*K8aNn#MWAJX6M>24UC)9o zN5jI1o)t@lwbgQE^LD;c5GR2H;T^(Ef+5^doOmSIKTwLdq8!ERLkhQm{|*p z_y(7^fHGp`ilFra>t0+Q0e?WZV$IaJIP`!BiP4B7IEB9nbPtT~fjad4DAuIvu9&fG zG#(gFX?QL@SX18@{|D!N7FLd!vq7%w2M(@hvRK<}tkJ(;DXw`5iwKcpS#Zo58q4*@ zQXm$i2Z|T{RI4j@LM)U{jYAUC1D-A{mK%&^+_Avp*k^of$dC-|ENQp`nJKsc^9r2H zj3$Xh-e+3JsB*2{+@fqVA8q<6=BF$wP~iK{VkJlz(Dn;`XkIq9dF23#X`1SgKL^f=!8G?o+eCc~n{uC|i! zz5@3S_Zg8EjOQ|#xb?kM`VRW)v5auiGk)!0Ga0Hyt1qD{4 zl?=3s(s2fL3^Wk-84@fsylgN^I4v|=e81YN;j7n5jx1)ZyKQh4O2TKcM$jXOQZQX{ z+RUKKn54(s2;ZFDgo8{TE0EHCv!UypTd^@E?V2t}Yu+;{Bg|;*tMECt4xA7CYYP=B zxONZS1E^5Ng|&ZCpuz*ZsR+ibDm+A6b?ZvKI};VY5`-9wiaQ-&F%`Z+5BGYk!lt;d zkryDn&ji!<(v~V1c;h2qdmpjqld{Ik#;AZ7Hz&N%O$8G*3+8oH*u}b_=c#~KJ_C14 z-t<99tETH>-fkU}ATGQDI7jg|D+w3jIGn(eilqdW6Oe{U`91|FTmG+Usy`O zHT)Miz~3AAKPBJO@Fu(^>#~qTRF~~-tn0ER@ZDp3CxopM%JyCiwuKP3{ZO_K;KKuS z6aDdY3uF5}lkaKZY{gfSUsh{T|&4VfZP8L4i*pKfur* zuP}z6Ll^*V!_ojlUxzy(I{XsKunczx82UPdG5i|Ja1T~O8SaPZ@Hm8F0(A6-1g!SF ocn!-%`~lebn}ZoBK^fLz1HOPS;cNI7zJo2O!8SBt2j`OYFGbss!2kdN literal 0 HcmV?d00001 diff --git a/opensrp-connector/bin/src/main/java/org/opensrp/connector/openmrs/constants/OpenmrsConstants$SchedulerConfig.class b/opensrp-connector/bin/src/main/java/org/opensrp/connector/openmrs/constants/OpenmrsConstants$SchedulerConfig.class new file mode 100644 index 0000000000000000000000000000000000000000..547d4d87efe7cac7f47225555dda54024a5e3470 GIT binary patch literal 2001 zcmds2QBM>x5T3%x!FmFsprB|)gu|FSNqiDRNC-p{kOz?H)27!gcg5Xy({@k!NB#p7 zP4wL#Wt{Hq!KsJvfG z_akhxSmH9Z3453eU1leWvx!f;#D+Ak6&leD&vRMsx-^Y`k3NZ3=layTK5fRiR9GH) zCeMy*=!I0$trD23Zl6}@zH10u$Ssv-p4+ z>HiC3$+aXNBf*}|3>TZy6DN0nJN5HIMEjQV1t6`%BkiRWh8f;ECQ#YJ3&gDBQEr7T z!#sh_%Q?Jp6@T0}iv&h{nisQ-0qjU?vCH?ddQA&BP%M5u0mIomht27!yqQG*SmNvvRcT+*92~?B2QRaa1XXIl*`#4MKns5 zd|sqn(^#|QM_i-lGU1xQ(M7i5SvWxFX(t}`kHfJ0Qd$po2;5mk>{ykZb3R`O+7Ab# zVXxN@2XV!FIv$^PJ=n!Vy7J)B%iQBa%n3ZWoVMGEJJYjqbh0|92YUo=trB*bW%R5t zOUHU=&2c>Hd9Y95`cKAZFE|mnyWV$EA9tc~8Vm;mEZ%VB!CM3lR=zImj2Vu_t2#%Z zb(x!Mz;x2-onpA*x)C1SC2)I1&{dRT?Zq5pBgbps2r2Bh1U6eo69QX-n)3!w0=pN@ z3$<3-gF~|M%UEh|RQe1{ny4%nDYHUJnrk&nd1k(%&Fy%}>6|Ai)993AAK8M_L)2f} z6&Ur`MzvL^C@olWXQ}jeNauxc?N3pwZKLSn{q+`(s7q_*zerv1WLw}W1kNk_2?TnpLU zu2fGGCf$K%oUV&!6=l>u&-ttF^dA)uWs$Y25+2_;wB7L3~idZ(}BcoqZSY@0CBi zO?(1q{tow^?A`wr9{gGI_yF&YmE-gw-ghc5Xu%PpP57wX`4}GI+Qhw2@bbSqfX@+c I;q#~e050Awi2wiq literal 0 HcmV?d00001 diff --git a/opensrp-connector/bin/src/main/java/org/opensrp/connector/openmrs/constants/OpenmrsHouseHold$HouseholdMember.class b/opensrp-connector/bin/src/main/java/org/opensrp/connector/openmrs/constants/OpenmrsHouseHold$HouseholdMember.class new file mode 100644 index 0000000000000000000000000000000000000000..92f68725236605fd07d79117edb8663c5e4f6dc2 GIT binary patch literal 3579 zcmds4TTk3Z6h5=SuGf&V(2%5;v=c(xC6{#?XlX+fsX{?STEYVarF|Rh$?hcH8Ea;Y z!jI_h$ZOszwNm@uA64~?y|<*6uqvyncrj;=kH7iOcV_k+{`~9L-vM9~9yFjv;MnLe z7%(A&m+X`UO7{YlaA|ZBgi1;tTBS43KpW>VmPu=Z1B^k>o=OehQ*pGGS$(wj`QU`> z2Fwy@WsotGz2M;FB|;IXhq2%i4X?YCS=$8W_-W>T??LFlHKq5*EHZ9*W$A#~uumkSJ|w_GM~COhYE! zekYuca{G6IQ#8)QJTKIpvH}ch6=l?(CERcRpfx)y5%*+}#3B@ynl#}WtA5|UIC zQi^ejt;(o#!HQjxDrJi9y(`TFDLN4qNe-)6oQ@IV^NeHWdeSC+>1T< zjKI$&`t5&r3vle|ahvP!xUP=|2oF{X#3i_vsa>g_f~p~vp=us7arXhWTpF5_Y0QJK z2)r%9?SFNnFh4WSui4JibEkGWwz$Yx!%YLeCa_!0*ov3zA4B&hj=gj#dpC;Gwsf*?y}9^RR%ndv^&wz&DF%ZQ>WR_}BjpT0br?{{ol) zz*P;d;@AlxoQ_#EgIg4-!axKV%*6e8S& zHDs6P_r*Ay3DTDZNE?MnZCD>8-5MiJvMNH_Dnz;scc!wMAQWY_U4SqHcTtHNbRckw VAQpjpa37!F+sHiv~YU`y{B zVOI!DRhp}z;La?b{(nYvH3ZGs{&5a88c|d&?#Uf-@ zC`n_jS|N|jGg>ZfcQ_5WA2N-gnE89G&FKR6tajM5+HudE1v`{lvYsu_KygE*vNU4W z?@)_u{6ma=I?aatsipH!OM|TC<<4RgQLMD3?#aZ8koruf{#u+K<@SHTQ(^St>;+9n zqYDSMiZW^sVqPvi*P0#Vz`cm#Q24@9lf+zO*Raw$N#7Wn&3~mzg`tTI_(y3$HD_D_{ zMLL($e+pSAdkBoaK<%qnLuL#&9#jeJoK4)Q29Il$&4mXKP)cS)=|PRau$w&(9-)Rz z>yFWF2xIVN+eW!!U>*nzqNE?d&oC6+$%7(VOYU5TAv}-3C|<{$^dEHi@>dvtGd1}c zroKDeG+qmcNttHwn&JVc0Rqq%cVU literal 0 HcmV?d00001 diff --git a/opensrp-connector/bin/src/main/java/org/opensrp/connector/openmrs/schedule/OpenmrsAtomfeedListener.class b/opensrp-connector/bin/src/main/java/org/opensrp/connector/openmrs/schedule/OpenmrsAtomfeedListener.class new file mode 100644 index 0000000000000000000000000000000000000000..2494f73824cae6a281468f152bdbc514da8358fd GIT binary patch literal 2886 zcmd^BTTc@~6g~q;>53xY{W{{U_0qoZB*uggOib2G5J`L-c2C=Z-I>kIY>@|lmx(6& z?vFB_*;1fT(l(L!;6rzIPrv!*+|T^_{p|+;EW)!Aj4=qUiR!74s=g)KqOMJ|t}|5D zWc5fZg^|;ykfg@eZPdazPq6-uAS76JI&C1vp|lPani5PfxKI!!LN)8}Hn)g?!FZyZ z45q?RH=Agd7)&HO+Ga2lt|2OCgmNJX=#QC9I7y-|GlSXieXod6v#27SD~IL)Hy^GZ z6%umtg;dhLWbmkRjHl0r>IQ=wYs4&5e68Bj%FP6qmC}xM(8@A68!qQg??{8Ow_`=e zSb}*{{J`o}W3-uqOKh_GQ5m#4X=BVIon|sAXn1Bc@uv1U56bH;qJrws4TUID1w4!wH zL&%-xg1g-egL0>Ch6243zG8R#U^{V2(Y18Uo9I>&VQr<#rRBMbu^|=ZOhcO@iTt_z zgenipJyqN1sKdICf<02{1DKE1`vClY;SRvPPP0Tt(s7$-XsB?Nbtd<2<(-Ch#A!AD zCb!PlU9m0M9UU!%Mo&RKs@%+aK*=gCWSo_-WEm*YOJU2 z^XdH@s+4y}no0?tP&V{Ll)>~H zX)R^yIt>mBcY*SQZkZD>24`TB-mXIlrf405G6cnX7N(1pxZpg=XXtB^_FbTLmVS%G z;5mZtF!yQh;#au*lfK5_8a+J@=y#o-)5UuLH{fO=y9KvN(q-_t4#S;340rl4jFa~M WoP~Xj?$P&C&qMayhlfys$A17;imkN( literal 0 HcmV?d00001 diff --git a/opensrp-connector/bin/src/main/java/org/opensrp/connector/openmrs/schedule/OpenmrsSyncerListener.class b/opensrp-connector/bin/src/main/java/org/opensrp/connector/openmrs/schedule/OpenmrsSyncerListener.class new file mode 100644 index 0000000000000000000000000000000000000000..ff004414af767b409dfc856be5ac8d822c349a06 GIT binary patch literal 7885 zcmeHM-FMqG6u<7ay2;x0V{E|KhBm%Z7|9srYaN5qcCg~Eqsa<;bR9KOYfC<|ovrUY z@~`mBIlzHu_;dIJIJ>fw)K1-6;dF8C5*t1JDkuKxV{=idNe0Unz$X24n? zotkGeUfZ=hc1_4uP56`t(yuv!bLxab#xOdXhCTS-v>72Ei`i<>Vj++?@=bf%V#HD7N z1-I0^_m*uxj3hh62%~0c5KOP41MwFPTzcv z#3w8?lAeyY^H@yZ?!z#;7E7<#A#LFGEoTkOB`pa{zF)`t9&O;^nisvN6@I>MV+r2M z(IY(pEsdVhm(sF6_sY88r6F&*74C8veDHM#GD0~tit#v(SR^`&MjcfId2T7DsFj8>eiXDDLT&H$&AI`nD)U&`3KCvl+Gg<5>6Ck}%={mB-en^8W!37;rOZ=jH50tLJ`;6Y!n^e`)N1UXOyq z@xMYb29(u#kdOnOOqI2H>)@zEvwUC}KWdoepihBeMogvB`l$==FwCdJR0fpPipJNw z3HTV_#g1P-^_rl&dgv{65lM&MV~Vvd<;IBddx3g_>8A@9P52avCzB2{;WMnt+$>F4 zQdQ|Io(aqNrq$a5pJU1&9fUvnec7qH8D9GaPajcd~RU49l$j}F2?7~ zvv3K{z&L)D!GsAc=b(h&syqvmaXAI&;&K{h;&K+-RQq{&Aucb##khPCUczz=UPhVt zWQO14SYF2R43<~mDz>F-U&WRMoJ9%C@-ILh&t3lsUjH3`jlo;^U-bt3tKk31_`3}A z@OE7H4&1<+o&<$UB)pp=VIx<93AL02Ws5|@%^V4Su7q3gey)Ut90^gbgb$C9@KKJ0 vA95s|f=_VXV{p4~*G2sO9sXU#HM;|M;dA%`R^T3d1#4iz19%9V(15LH^;tT( literal 0 HcmV?d00001 diff --git a/opensrp-connector/bin/src/main/java/org/opensrp/connector/openmrs/schedule/OpenmrsValidateDataSync.class b/opensrp-connector/bin/src/main/java/org/opensrp/connector/openmrs/schedule/OpenmrsValidateDataSync.class new file mode 100644 index 0000000000000000000000000000000000000000..aad8f074d7782e68fbf77432fadadfa6d481cccf GIT binary patch literal 8354 zcmeHMZFAd15MHHe|#3!EiXZlFSZg{r;+5e z`OeSae=q|xFnr~Y@GlsilN?8Olt^Y$%0NEYC!O}5+uPmS-P`;9&!2uFq8YMf8j?tL z9X;F93@f{(?PyuuJ?{8DEyvBedXv@LCd-yVf{s%+Q(T90A zjfNo4`%hKo>=-)3r?a-^89?atU@rAxPY-Cub+d;ADB%uJjIo_C##yxxddK(k%+h(= z@|e?|XF@IX^?~jJa~$r}98G6k!i#F5zY~-bYq?@=y;fWRtu#X#;E&pta^@NH2^dYiMSr*2g$ctimrj~p5b^+rNSD9 z3(*IiVkyKyif&4D zW>wR5!|I@p%o!LlFHwD}Pc{8&=#zP`gb&IxLTJ;g5?!l63r33-tsTQPHcXbYEbjTt zxZq9AwLSjCa9ACZ8P4-MlW7WOvoAMa7b$u}x^QR3a+u4_9adL#-m(qThf!>Y1GnYg zRnnuiCR6H6H#HzCwx(}u4W>+DM`SuXBGcUweh)T4W^YGKDs|3W1?(v;&C{ET2Qc>3 zhWUrVu-P(Vvt6gHdkr zx|RfS%jMSdpzCNq$!xFK#K5=8(i z9#=HQ+qGGGv?pdBBW)0HV*mr91x=&@yAibM(Y&d-?p!%KA()RC5?)(RfRCZ=jr1|Z zJuyFqHXQ!rNc*yYIP(5nAcj7O^Zyu8H-5&>rRB93b3c;W(9e6031uvhg@^M4ZA!;lauh`| z7p2D<7e|m~QCK@QHNBdm4=M=w5aR?VR?-*wo5S@guP{lMX=I*vTG=#yg*=@JEck2{+Kj4#s)(fD|oDbU&W)c)P_W zs`9p@vjsz>64wtYE&5j|;ufe|N1c_af}6xWY089Kw2@$w%7nc+-s1pe`cia-i%&8= z#_eDKO`l9(Ly`wFY?;25=(H~!nZCoVqW{?Ot}<<48T;~-sg5fuv38j@!Br5tWojbk z_U4o_ZGo+xs4bI;9IH=VGU1vpbk!Od1lU+MTo>i)8fwQb-6W(#xa}RIt8|)1@RTN* zQfP;06wjhPgRi0;r?Y;0j?Vk-1)A{Ni}V88G+m+>(N551x&qXf{BKwBem(U5GTv{5 z-WALyA$fci_^)Ba2;Od?eI36Ua3-To|4g?ZO-%ntZ~lt6AwnFxfn2!tW}@DPNLA`o~40@25G7u?Tc?qTpUNAq|ZqEEYA4RyKt zECTcU2+Se6cL-Pc2!tOZ5Qqx25R#10dmx#`2!!7v5sLHx>j+l!d3QDYNNNPq9}!5W psN_qe+|~L+ymR~}VO?KPl~!nt9?@6y4Xs0d8tKHSK?ZG8>o2-ZmSF$@ literal 0 HcmV?d00001 diff --git a/opensrp-connector/bin/src/main/java/org/opensrp/connector/openmrs/service/EncounterService.class b/opensrp-connector/bin/src/main/java/org/opensrp/connector/openmrs/service/EncounterService.class new file mode 100644 index 0000000000000000000000000000000000000000..a7cb16af3851bb767d7f9c324e44b899e1f9a712 GIT binary patch literal 10628 zcmeHNZByGu5Z)ssehCSLyfoycRnnw2O^ZuP(&+YC#x4XK_@BjSr8vu;K z(-8C!n6gYYUQskXzOK}jxM7y!MwRN8S&gfPu2a=EOx{y5t+++ax~9^2T33ylZc}r~ z=?FnDfyr)=vN#qZH*g3XDI28{H3@`encpP{T*xk@GxLi}EBXBF)XMBsI+L57o=q>V zcoAO2HQ2cZDHvb&Fr02e#FB!^`NsMO?O8h0f}A&C&{Gn$&f}<`afgJ}M_`wy~+1 zw1}SWO&LWRg0~3tdkZXWnuZyM7#a90uj5)V%5_?lRHIVW${a?jng-%ltlLsFl3Sxv zk*Z|{5v8i4ZYU)xUB(zQ!q|c_X2gv#ya)L+g1lof=CV{Ys3oCxQbn=VHOWRS`lN~h z$&ZE0W`sqr5vJluFl0wBtx`2io2f3T3iEBZ2}PgGiERZa)Mz$4Gtb~WE_#a5`jW)!6owXqP54NI#g<}H>I*_x5E zO;t2zu~lkXjMhw|qFEM397obIF&YVE>fQ+jc0`~d52gT1AYa4`?6iYbaIgw?7Q22b z1zxEChlrIlO+{2(v^p%P+}wGt~h>8fEIfOu@cPS5VM-r5d1~35vGcBpno2 z)~rr-+&&E*g{$yRA4qVG!0Fh|T}QUT(l2W|&D1IdYUUK&2VvWjxFc3xR!ohx8=bxO znuZ%L(_QWFw7%2eUd=6mIy)8I*~3&mfkkEWZWbyQ8}3TAW}HMA#t2+$zfpwyM5u$c zQ-`~IvN6XjJdWtT{Y(P)x`S?%**>TQgC9f(x^ptQm9J?06CB?Sd&{W5gZyw0vfciV90rt z$xm)A;8v;5ketT{{M5?ft6mt=r04ZlgA{>z`--zC!W_O7O?1Fw7G2_Y0@n%L`NooOH@t0vGXUrcO;Sv*nCN{+q)yjxfjstN_H=>#4*N ztA*UW7)#eNY$lo_YZw*?%(qvO9a6C=cN1~@42p-y6=j1im_}VIvQuiz@*ZOng2l8P zh8%&pU|Ix8rFcqRsA=V5zFPFJa6G&#QJtFDhsgsEpJOtX^9kn*dlE9Mn|ZksS<*_n zV%JOz36Hth_)f*SSv=MxCOAq*8F!FzncYs{SYdcXAl2FSjxQcK>9tmSqh8u1aIJYB z+<=OV@XjtBDq`I=(4aQznKKxhv4)FrtsMe6b~}}E)=cqO>Lg|^$UWH*XQmPuigEXD zTkiWU4Cv*l&MxTuR)b}1L+zZw+0J?IW8bjsECQqg3gRg|H-jnn$TyqK7DkthnyJ!h zjlHRycJoE!poSl+5{Sr+b|M7ms$)%C{UN9lILt>50j>xynT5c{64z5O1a&-AW`>5~ z2_C>Z=R6_!n!q7sKnT9Y8}w%gzQ-wQoi<#0^Ug*#OJ){a0+h!8#}dWA!*B%eh9CrC z?2X`k5B8peK41G7w)=hU0c;QY+9&au({P4A`x>0(*CCW)Sm)saUeCcrpZx16P4Hdt z68?S}e?5Y&H}QG}KVzubVZ26vg{uz+-~JhfpJA&9-ogK7phV%d<>`H7~@P>fCaD&_tCP?kfA;B zz~!g6<{$3ViX0ap5%|0tt;jV27QkcpLg;VLTLOQRn?kG=_)>_~cJ9cu5KDoA>n+vw zmZw!w;H`%OBm%2Y>O!lc0P88Nfz}1qj{>Yiu+EvV;bwv|wtv9S8O%c!FyJeUViwe3 K6Sm+R`0ihoON|Hs literal 0 HcmV?d00001 diff --git a/opensrp-connector/bin/src/main/java/org/opensrp/connector/openmrs/service/HouseholdService.class b/opensrp-connector/bin/src/main/java/org/opensrp/connector/openmrs/service/HouseholdService.class new file mode 100644 index 0000000000000000000000000000000000000000..97c994a4087fbe64d624f70c6b4a853e4c3829b2 GIT binary patch literal 10968 zcmeHNTXWk)6h7;k`qHGil%ypsR0%0KP;6QXG)=kW;?xOFoJpL_lov*kH?dM%(yU}B zo#BC39{3sj24-Le-uXey@WS-0<;b$V#2bx5fYF05yE^)G_MGn=?VjD=|N8k?0C)tY z1jGoe*i6gSRo%!PsZBL!vcsHdQNw0dPBRUIYL3ZTJ#}X1Y|5ItMso$TVbiKvtL(TP z35XL|3W8L^XCZPMhrsA|zPMOkD{bx+*0#Rc-7XRsFSazRsm5V$$6>m0xIkcd*)(iN zHJm-Q)}Tp95x9A5=NPq}T=N0`)>KDFk*aPHnCJp6Ki|r8W1!oPT+@3AjlqN17Y;3HMfVR z-o_E@b-HFWbz9%B(M7{B9oJ0+t`!#>j(MyzTERiYm(2=Iz)b=p9p~p6Gg%VeAS2)J z8t7@W)}$3hGwYV_dRwuWiMVz9iIPs0t5m5_t)?QPVyW5-^^htv$nR{M-&v2}tsZ1y z)^_PUqf|_4E2y1PR~@aYIEY10EDQ!e7E&S0BPYvM%*r9Vdg*n`WRAjbIkHVd(Nt~< zWuGdi!@6*}wh?3=eKDf8#Y6dksdaj6vKKOnobwiBh7h$KbAoG%V=Ah`V?Uj8Q%x8` z9(r^573GjRm|-(> z$^kw9zil1&fTSF9oLc(^A@1(t?ps zLyvfAu7w_;k=NVKls1Hvufh}JdPQExY1D%T-)%evMrF5oYzWI=JEv7FbTJZ zU<~eHnI+R-so@L%k)m$U%?7txS;h4^FX@KI)o_E@dJFFqx zz(vTmuMSjhm2?!5lEsbz@y4_lPIdzBVXcW@_4<QCU#fo@cKNwC3dI=IqI!h3}L@vrx!Y_gMDw?@=(*9Qb9HAYp3_L2iD;(`p( zpV<0)=KNVC30V@m^^bE)DwRkHb>+OU@=e6PQ}&JbvyTAQvW+HX-ES?kJs(`hLU9rv z67o1=Rrm5ymQ@61MFz%cLD_F)0`oyLz+MtQAy=m)92D(NoVnX^F25iqwEYaOgV2s7A=>3?!fJNTW!)pfxvX8*h}4o zuY2Z@Pe|-fiI+(fEBzbjKBK2DD+Xkr8^wxu?!o6a0%KUg={}Bv<)O@6pd%^WI15R@ z6Ef3h#}=L(mQ5@ zX>?WRg}n)n%I!K_>ud~xRPnSfmw+|Ar<1V~@D-ki>dk}+*udV-(I0nSL11XZJtV+u zc{WS~fh%~HEe=!g8eGLz0$VXiVms|?U&Fp(xZb)p0;BjljIv`ej{P^V#qWF_e<$$s z2oX7E`WKjdK7Q*bnEDM{F?bWdxg6lV#L5iBniF8%6Jos&_l0`JJ-t2fi5bJ?JuX!QXM}e@Ggji$9 z0OT=RhclsLrH=*Lh?(#yJQiBK!>V}!R!OMM0zCC;!`bI@=`#U>BSiQDzVsn<*eF6c w5h5(Yk`Li*9ljMJEW?Tq;cOkg6ChlHJdQjDt6sD|!}cb(26|`~3a}2vSLz;M1& literal 0 HcmV?d00001 diff --git a/opensrp-connector/bin/src/main/java/org/opensrp/connector/openmrs/service/OpenmrsLocationService$AllowedLevels.class b/opensrp-connector/bin/src/main/java/org/opensrp/connector/openmrs/service/OpenmrsLocationService$AllowedLevels.class new file mode 100644 index 0000000000000000000000000000000000000000..7a06a1f718b2f7c8e7c914fa726ff17b5c64a2dc GIT binary patch literal 5608 zcmeHLTW=dh6h4z0J6YVMNn4;4=n_inaIuBdCyG#wN#(6fjBF>Oyi}9*)R}a5W;HW* z8~zv)Nbt@J{|IqrFEmlycq}DKfIh6x?#`KS&TWo&zCZr@o7C5=!D!9pWd`X*Mop_!WSkTtrffzKToQp2U_XRmKJqewny!w#FU zNLQdl;7SS_Q88+CclQyDK&92)-Wv2C6Zo-nR%_oUu=stiyAy1+Hu3h`pg-sZtpR~@ zx;U=w^|!xyQar4*H=CV7`^m#*E9e9R9IgzxP9l0hV6F4gg}zZ-j1av16&KumO`ujg zJ{%l>wXs8>)RIG1fi(gvFA+DDl4=pIk=38Jg<@Jp6E^fi87DkSL+d9>?nW%uU;5tC zV2}Aj7DiN|QbNOLbj191Oj$ioS^b}srEf4r^*m+k{!lXQ3u*kAnsCoIh{awcn3BU- zn2@?HhPpMe?uMM%#p6UOW? zmi{-X>cno1r;5hxxm3?)xrY@#RVD8vQ^tHFed?Qogn3KZKD<~;MK3%Js~+{cTbnOJ zme}Sx1F&sO(qlT2LQkvv!(p?k+ppT1Ck|f3fM+&YfAo|Pc}q5k*?-QI;lp8ZR&-3U zGu}LDb_R7c(oxMR@n_=4IXUbY7i(QpDSF^gTP}J|ah}6A=fZbwGsW5i#b&jcdCFl9 z*f~`Hw>@#5vUDyHC&f9k<5cVCUqr7x8aXt#Gw2_u9eAgDD;AyM@?2OBz0wJ9p1p7p zbnP(}52D(rv1JeZ>1;v$2wPCgBC&yo#ivYZ`+a6ls4>?X&lTx+zn`gOr^wg%|K0dF zZ3-u)?u04DhcmudJXnRds;~@i6SzKw(6Q{zN{0)!HI8?g8c-x;EHQ-aSF}SFx6k>@ zlG)=L87Ct%`v_dCZ5-!=2;A(Ah2b#^#Dr^(08Pu5q?8ZN_d12;_ZPt@&_0w=2H7$#Su?U3SW?UO4Oq(-BRk(+gST#UiP_-heHA9;34uMCf zN8}N>e55f{V1vN&A;wIM;|hFwgjy_OUHvX=7XxGo^n)*ez$IilD-UkK8&C#7S;^&M zE|+rYA{VGXKq8RY_A%dmntSMcs0qLom3zryO{wW~kF_1{yScks82I)K*={H><< z9=w}kVUXcHM0!8h`T%8tX6IyRx2B-|IR&i*AL5(^Sci{L0^G*S!}SP!40qAL&+xg7 I<2Cr?Z`MC$xBvhE literal 0 HcmV?d00001 diff --git a/opensrp-connector/bin/src/main/java/org/opensrp/connector/openmrs/service/OpenmrsLocationService.class b/opensrp-connector/bin/src/main/java/org/opensrp/connector/openmrs/service/OpenmrsLocationService.class new file mode 100644 index 0000000000000000000000000000000000000000..13a79f2fb361912672f30515864c2a6b4afb4cff GIT binary patch literal 10034 zcmeHN-BKJy6h6Hn*`Gl8iD+VC93kow&8|`WNft4HM8JWKu#lv*${Lnt8JL}!>YiP| zckl(g@ZKk|N~`oDcRqlR;g#2xr)PF{7igFsvj|Eq_Gfy|e0|P$PM_&>W`6tYr(XbI z6rLm@L12!va=vPqc7D^S8+nIS@{UVw&fI+2v29xR9OjQy8P9Xd>SmediztD|x>Ghh z)3KL=;Ushsn0yAj1`dI4y*M>dnk_DTy}YOs7|?y)EW@tkmpo?Ll>&jDDaYoXVS6iv zRii0L6S%z1^NeyYU%!*L8oCj*OaqHlW>VZZwqyrF^8p~kMw`D zY$JqY)#;j6cB-yv`6g;Eb5<={<@dBqy0k&HHCna|hC;4U-ZCmw8$#-G4eD}D>iiL; zD%YTHNLzC#*KEhrs)kqI&^*MVJ1+9vj)f%Vgi~@t#he;)pqE*79p-8Nbv4hlw6bA~ z*;c6*+I7r=LR$k_LBk^E7LuFXu}?y-;VG4=|4X9W70Y9t8CAONu&pTbFv6uGjg=@l zr+JQMXx^?%GwEP0o-Uy z6q4I9ign7ExfZcw$v_VbbVCL% z6Bx`M?D>f9O|Nd+bfH#VrL1INLq;@*u+w9$7|ayMjlnK&!{h{X{TaGZVJd3W!q{@U zD^cp8ng>UO;ukB_3lRz2kRXld;dz`Y(@f|*39n$cYfnN+!K);3UZGPJB6cF3?$ICu z@XYS~g5~fpR>K6+7+DXo6={0}u4HxLreLdBXp5*63={aHa}m>;B_a~yM2#}2T3BNr zxoT|DP&fr|5b}HHC{W6L$6|hmc}j;2MYvK?OlYT4Ypcqs@SK7yf$ux#TV;lYU^7)8 z%^%*p+U@~jQ%ayO+ghVyq>zHQNn$dFAqtz@7&;=l2L;hHdpl5#@mTSu(g+~X zzc1K|>jZ|5+;%hq@Ernwb~XT2R!xK1+J(D(Pcd{Afzj+ zws7w{Z@5?prI*Z#ZFn_?cguoIX6&F}4~~o@QXk#%a1}SJFsu&;vi>Z(@XrFi7ElnC z+KNA@2;00=CLbD9825oQOHPfI=>t=gt=A6e#)yc-vx_y`GplsguAAJ%x^_Z5#P{Ds zK(*6)t0wK9#g{bLlx1*Eu~eKR@VIj|@6A2EA*@3894BEO3)R-GD+xscsnF;od?8-s zXuO6Y7*4_xzJ!5pO~Nt?hNLIq5jto8O2ljDgQimnpEYxM4e(lgZw2ET&cg-#P2y1k zQg8|XXW$}!cl+2_@FKkAk7eKrj)VwZ zI2IS-Dr%O1Yj|ZBB3*A{C7M__B-&_FZ8Ws^XsjU#)-4GZz|Ba#UYB5v9)cC6*P9Zo z83`7F5x6C_vE{wDBv`r>>o(-1SS{}J60EPJSa<#r7L{V%hIb?MdQYO)mIMpnefU6% zC00ccs~<|RcBNQ%;a&t*L4x(I1dG7OFpev;75AT@J_)!liGLa9cM?p137C{%PBk%G zHp?)7kYIMfr@mg(@Bn{BCio10XYiB3|Fih{{QgyVjK_VLS+0W)3-AyYp#&>`13)Ef A)c^nh literal 0 HcmV?d00001 diff --git a/opensrp-connector/bin/src/main/java/org/opensrp/connector/openmrs/service/OpenmrsReportingService.class b/opensrp-connector/bin/src/main/java/org/opensrp/connector/openmrs/service/OpenmrsReportingService.class new file mode 100644 index 0000000000000000000000000000000000000000..07ea6e2167a9f4b90b4fd7556d366faa8a562bdb GIT binary patch literal 4588 zcmeHLTXP#V6h2B!*ETT;q2Ii>{yLcZxX27Q_@%_?LHd}c@atk zYEMk4xv}Bs7T$A~X-C$&&kuzZRwzke^<=KC?v|US2rC3`%mL^z%LrV!<52DrSgzLg z2^8+B9uMGk#GKG z$QdsYJ4e!V+|Y^vjhJ+^9dLT`UVqQfkvKN!i8+A(hF$JfpQ%ma0`5?=m_Jea@ysE4 z1kZRzt)h(DX9+Ktve5k>8a?c^cDJ-<&*pGFhWwc0~c>y-0)$@Ye3&_jJ*Y67n>81F2=x0lD8P?#^3RK`t zEIO*w)rH&ESDQle-C=ydb(i5z?aB}pvB5sm!nO0xf;|$3z)tfe3ZTDMR9M}7IfKh={35Pg8RVqkL5h`XtvL=ooT5Bls!aeCpPxyqB5V-yyGQLZhMbfBXV5)teK#Dh zz;}~-8J=fImLV7plPF57-kY-`5?B4rvr$#*h`wZYs4-z4K4-|C>A0QlxqAk<2vxFt z?H>$Bua)|IQ}eD{7g+|pGVwfR^J9arBXC9UsG*Md1L1b7tIs*Erzb!HSK32qMa;M5 zNEm_p*_J!irAJfTD@x70zTFIXIT4wef>wc_-i`uExbAu zz~9?=UCFHA9mI2e6}W=e6NCcxEsAgzt|8lZainAP-WY4b=K2gamuIrM0XOmOCs^+z r>Joe~#&n*^_a0N*VLlTmW#GSEtfe(&9*G6c{cNFOy(9{%GPv^7H3fc%N1>f*6Idjm7rdN zUIKTw0vO;B=&#O=jZZ(DpHm1NQha8HYAqKl9@DMm5`lf=w&i-N%W^&dJ_0~Vt9j@vaV!3hEf5-%t-X0sfeB5-crLX+FZ z8m-BiZ92MvgRm{xVfLay%^UK-033%iLvR*k0)01iOZRRQIGS(usnG@OL(whzux>6= zR#g#zJD;to#)8UpUJfgJy%il5GP9LoMv9F*f@{)Ur^)I3R(fbuBp=)`8migG1SU6W zt7aVJK8)O(D+%1&9Q|gP5~u!sUgUe-QqHDu1S|*2FE#3L|8pfMV2pZD!59;gX_pLSE)zO{CEX($MhedB1RL1I_{X%E7R?5K@GJLYVZ@cK+{nZsJ*QjQw*h+RV z)~U->9>E}92!nVb4&r_d2JHgI4j#luS-&ohgkHbgAu7{$(qW?D=$(xnzLIFtb4kV2{DTxAC`*hLk*;m~Hp48kWszz$?6%l!*A!upEL+Sr3=_99DP~Y~H%(+r^EU$BGv_0fxirq^QV4EO zB+Km6nFTutpgdT(f?;6t=tX5DpPaHm_NBaLNUnKGF_-Vk0^?CwDD;Bh<7OmM~r#;)?~ zAb-XuTaA*!cN5Jvmf$lyj&IKR@lvXyFI%ctXLv7gA+M~5xTyr`OX+qqSPsUC^t77} zlk}VtXLk2V>HEJ-VKY;}4usllas1266qBWbbhh!?-6zGD4cii0vK{R5rF?gvdAo z=&b!lgU1&hxb+)1Y?syoBM}%8Z2zK^FihwOT-->gsi#mp2Nir-k*?w_Nd`)a+^2$cO9Bnw_Ha{6fPEhk5tLvVlkn!Pm;^d%BzXxG zs1Tnj%>-9YRlJ*W;T#aygKymW-~{Z&Ujh=AdLW18frj!RmiIN3_oK`~81`ik!D0V< z1dihO0Ad`2xA6CEEL}x(g5QCk;rNq7Cx3*~zxlG~@R#=n@E(ld?@%BG=iwbJ5qKBt z6NDbD+Zf@35aE5uHz2g6H zv0WBur)LA)j~bY52H`4vj229oMQoB$UK6mnD`fL2Tu;HeA;6jvV%>yWp~m_U^Ag;K zJE)%?7>o7Ay*2QKy8_f1A?id2sAU1_cLG#^doU&BdOzmc7ju0eK>bCCs=$m8^@kp31T&BH>27q{g?`UD7j;ITiRFXDOi c1k0=V?-<6er|=bggC6uPEJ6+aXbD#S1$g@O)Bpeg literal 0 HcmV?d00001 diff --git a/opensrp-connector/bin/src/main/java/org/opensrp/connector/openmrs/service/OpenmrsService.class b/opensrp-connector/bin/src/main/java/org/opensrp/connector/openmrs/service/OpenmrsService.class new file mode 100644 index 0000000000000000000000000000000000000000..257d8b66853a349c0acf8c958a5ee7f37ce0a7d1 GIT binary patch literal 3832 zcmds4ZEqVz5T142*l|)q(>Fp3-G&zIw((1vh9rIC?7I+4j&1pDBgBW(g_t|r$+N51Z-1A=u%nxxJx>h4FH#Do?s00>jbV8kc~7Q8L)}NB7yr)v)NVUj6VXm zD)k+$W|S*sL{l|&h#7|)KF0d$6c|fYrKXkZMq#H|QjMBcQtJ3^`cAPLhmR0t!`{r9 ztGVoowQ5-_xtz^bHtgJ!m25Vbwbt$ZeLK5P;ErC*mx|@DjbS?qbbAPt%~^jBbh5L! zY|Wyo)#C6efp|x_J#I5W;A)|v*DJe5qft~1I?}gR%q}$#~cDvk85tw<- z9WGxIxRgva2}BF7&0_F5x}FL}6T%g7NRn8j;Rxortsb+f<+eM#6{v*b#3-A#w?z}P z^+QH&X0=R#P94)aG7lJCMqQ@|x=x?yI_Ndn2i3`ckKRj1IqR+_5Wp>nz6*iD_KDjvspa!fdne zU2$|#LkhShuEU&3-$kWMO)8H&EHN8|(1c0DKK<-)hSPft^mdXuV99>_3Y>mG0kfryVIfjlW8I|H)53_9Sahh^EBsIpfkVN+#fh5@P}$z{7c1hDQW$ zB*)7s{}f#)p{mQ>_8t>;6Awne=y5Hx)iee7?LlW$9&#+O)Y7|`fLKCpP9QT*Z@kAR zJafQgP#<1Trp7(uutwmADUSZBwDHdBLb_f+Hx6GCXk8SqX~<)Nk;SJ;M@QOixdcnXg~2$2&G>k|;N6A)%$ o12zW;4@cHvYXZVrfZ)$^37+FK0xuwjt-neyu`LAe5qJg4pH3onU;qFB literal 0 HcmV?d00001 diff --git a/opensrp-connector/bin/src/main/java/org/opensrp/connector/openmrs/service/OpenmrsUserService.class b/opensrp-connector/bin/src/main/java/org/opensrp/connector/openmrs/service/OpenmrsUserService.class new file mode 100644 index 0000000000000000000000000000000000000000..985920eb6f66999766f7987ae6c300e206a12de9 GIT binary patch literal 9359 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 + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/opensrp-connector/bin/src/test/java/org/opensrp/connector/SpringApplicationContextProvider.class b/opensrp-connector/bin/src/test/java/org/opensrp/connector/SpringApplicationContextProvider.class new file mode 100644 index 0000000000000000000000000000000000000000..4204a67ab15c49cdcf5926627551134bcfcc2b63 GIT binary patch literal 1788 zcmds2&u`N(6n^fyWesH=V?Tg#@CryBhvu>qLrBwL(on__-G+8_Q@3@O*pcm&ap!+R z0txQ?QHbZHTPwBFIDnA2#CGz&&+mQjM}GYL@(loX;IRiK0xyk@0?UmJ25iUzrF(%& zximTrA|)k{tkOX%)k606(lizkvqH&zB`v?SZ?zhV4%Z%(2`uLXF_XRExII810S_sh z9f8$w8of(k;kl5)z92By*ghjr-d7#&!7T!{G1)7vm0pC~WbXJ>YHn0K95s9!nhbK2oi%rqLMEV^JlPU{#}a}-wdI;=YFC~l}!mL|+beQFWQFH>}V z5{m*goj^_JQgb#_aj!^Hr7d+PgAC)M5tEL+&FPijQ-&s&wyRmfKPY|i4`UcdfUU2D(UZ#t*O{+6`(P84M4Mj9r>iCs3 zR%fmpX;EH{Z7K}SWQTW!#DsP63+`DKqwr(vCOyiGbzjhmGU+m05KkESmFe=lA*BBR z;DZmfDtNF=V6733TdrkYzwf%1tc57sn=EN_eZsKI2&{xEV(}T%!ktGi%eF5JfrIc* zj1wFTevezMmST9UH@0Vuk43mg;L~r+guk9D^w&)IyV02Cu2a)*sZ2-wKsX_v+%#76 zi9=u$Tg-}tAIhOH0yW=rQzh>ql)Ms-8W&ZYAF?<@=Jjx-9WLXB+x4K1>6=!AK=nu% zgDF439yhQBIFRulf#fg`3%HxZy$6f=8~5*UX8`{z_~$Ft&#?3zPbIj6&xQO8UW5B; zVFh<#6;BmdgY^-^)13c`VPgivQqEAyarfcD1a5ruEZoX9t^}KiF2O^1glicYwtfNc CbTRS( literal 0 HcmV?d00001 diff --git a/opensrp-connector/bin/src/test/java/org/opensrp/connector/dhis2/DHIS2DatasetPushTest.class b/opensrp-connector/bin/src/test/java/org/opensrp/connector/dhis2/DHIS2DatasetPushTest.class new file mode 100644 index 0000000000000000000000000000000000000000..8088325e57e7c104bb577bd69ca96991120fa212 GIT binary patch literal 9124 zcmeHN>r&fB6g~?C+0KPPlQbc{C~2EQFLq04n*>TBK!Q^NDF!<#wHUCA^& zL|>vW(V2Fp{nsCTls-hKXII8pwun}srkM#pJd$_Mem;Bl-1Z#*_0O-r1Hd$F8!$j% z&KFK8pngz#YVX-4PgF}@lX71)OOD4mbplV6+#2(zN=qx{%G8n_*gg#&xBS{Bt}Ns=JT9PbvMv!J){^B~a-Vna!ISQjf#U67gfvZ;h46ZB4b&DQ< z!m7x&6~46>;`FGT-k?oS1Rb;yD>8sod6e50XF=JO8$A?9B@m2Pk>Fg7*;C;vNi#gl zka~{5;KbxM^055Op-r`G1FjM{TVC&s5ExqYTx!5|WbY7pSqM+$;7u}mcZ&<^d-Xl) znvU0Kvbx&4*%TfMwBg?~3;E3&HC^h|ZGl8h+u60N)VzsI7u$zj>>PGc$@-@0dek@Z zFwBM>I5jgs1p2Irhue*S%2SleQq2|FJ`UvF# zu)upoNtIw(;_ek$3ymX5OxlF%j6By)0#tOq$Nv{PT^;%_l&x(!I{SVVNzp58pj&DQ zhgzQPQV}C46V2K-gZ(BgKm72(1o_qt~bW@DOH$RFgqN0NqaR+CKYJdWkLMG(Be;v2yanz6Yod~%t?2cK$3=kbqnaaz#R#FsDY`>Q%k`#m?-46 zkTRA|8m)O5Xsv7wLB)uSF|}+#Lm@(gJ*HM31OHe~P+Fo^0M%ef(*m^2MDmqs0+2@e zGq%xWxB`sB+vngCm;^3Q^p|a9X=cR2%yO;O*r8%m23lF)!Rk_dyB&DjgF^uZZ36Sw z$;xS1DLRAIwXLQB?-Mv5ao7ZMR+zoc{T-QrhW8pR{ zEg5*wMNbnluOZmvFqKau2aSZ`L>ZEn>(XFCFKZ!iMM`;5DSvlCCkJ1U!9QQTcq4|C zppq{GZN?UPn)n}HEKU>u-qu}ra+N~)F-}P%-{QO6`;p7Qwv2sC$^(Bv&~lYyz1Gda zJpwFFJYe!#ajo0E9kka~UllJW zW$s`{93wqSWra~;3#Ybkz3U>Lv2H~Gxr6Ce+TzOl1#u5au-T<9Acfs1`(qcEm$UsF#5=P$u!7=SA{ zI)vX|himvYjXV*27Jh^A@5bKv1>X7tzYQR_A#Z@QH}PHafmHAgyo*l)?;+M;2kTa6 zFB3T1k2@KIdnXq6L-;6y`!V7TK(T{4Ah}SymSQl!jm7-*2wtaRdA%Kj`+Y3#XQ^;M zkHM|Q;@(Mxdp8F6r&!#XRJgM-xIf3>4#J!|qpx5dp8#9<8Ap9tfJIn_hp1<_pbTHb KDy+jdQ27_>{C%|m literal 0 HcmV?d00001 diff --git a/opensrp-connector/bin/src/test/java/org/opensrp/connector/openmrs/AllMarkerIntegrationTest.class b/opensrp-connector/bin/src/test/java/org/opensrp/connector/openmrs/AllMarkerIntegrationTest.class new file mode 100644 index 0000000000000000000000000000000000000000..d943acc1783f755443794fe97dbf9da9d39e5517 GIT binary patch literal 722 zcmb_a!EO^V5FMwXNtQrLpa%{}rl<6>d+CWHBt)rHDTPBrC611Fx^e5ZS7UF*pCN$+ z_kL8>@us4=z=_M)9>00>{5&_eKYjtg0qhQ-C*UZME+U3lT&inTc&ZBDpbOL#+B=6j zdg?MYh2p)nr;4tSPF%!_R5ac#xOM=20XrRmRjw*NFE6=J!1i0?OnfI`Yqozbp#Q;_ zIDnCW$piKyk*6U%7UJa>M;N@l#!_luH^z1iWJ7*wu?}x!Hd?GumZ+^F1~p1wsS4#D ztIqFL=YLdp8CJa~OOHW1A7!ngUdhND_^n}un;h&zo_xrYwEW+U+32KhtkEXQ&^Aac z*M&%JGE1%>Kiiik$kvs3VI23l;2Ykn*2YbAE>GJK(+#7fa!J^lc!M&_Ubtoy?ixQ(G^Q7K;56Fr9m??71S7&iBcFT$v!?c>X{B{ZK%5=3CNu zY*NQpe;bg_RCo?aJrPP6YY{>`TzOgJV?!tZb#uTk&} Mrd{qi#~!@614}sE2mk;8 literal 0 HcmV?d00001 diff --git a/opensrp-connector/bin/src/test/java/org/opensrp/connector/openmrs/AtomFeedTest.class b/opensrp-connector/bin/src/test/java/org/opensrp/connector/openmrs/AtomFeedTest.class new file mode 100644 index 0000000000000000000000000000000000000000..b71bc2f537aa8ed0b1bc4db0c294e56029d76715 GIT binary patch literal 5233 zcmeHL-B0625Fdw+kdQkL+UwW#+J#3+s{{8(=0N8}@%20CPd!yZk zMPnOhyw4j-pEgv8(&(_^Dk;&mO2;FCHjQnof;~j9P53g*I`AMi^0_>19CXeI>_Evi z4lK2He1Xy)q3#P8w;XtM*ppTS*pz)?M90T%DV60`C`tJF*1mGj306Y7yWiUFUooD4 zCZw>>9hh0)cKtT9iaVYDU| zaO-xNB@Vm@DJE$SigrDUc0F>femi60hX_KYEsLN5#YkAiTpq=ab&!o#^19I23z5qh z!z9|gnJ2>atnl*)qg4ynZg!^%JnPZZRD`iGaQZtl;eHRF%OZ<~tAXkc34z>VYx{Bqn{eUM*V-6^qlJY-QIWr8X6i^H^ z{zymd_^^32kd|MJ>t>F@&)7+VlY<+&n1QNR3UlxhLJ&Egh^r*3P^GoV&%5cZ$#yq32J}*u|=$s|I;$1Sy$d4DAGFe-J zW`a4d8|S$2g1RI1;>hlVI{#GB+rGcg^*L(Ol=~PcJ!l4DR!>OpJsItB;iDI4*Cduv z;iFD{kerV7%`^467M#>TwGt-FAL^JJSAS_RNeP*tK7>8fZL6W{drIG$`EY zLS1nGCdK~`b`VD)D87epd|#@t4DZ!o5#D#;;d(2QO^sMYCxvY*61ht)DnUQ>f)46- z^ej5C(o!z>Uk;zm;oz+83X;rETd%9*Np#N{w7t-Qg;vsrwie)12V?=EJjJ%NS-KFsYMjhxhTlIUevqYzwgT+z!zlnvzc=g!>U1)RP$cM?@`eVQ9nKQSoW+isEY zg*oo}<52wF^~d3hY)TN{^+$8pA7i0YOyRtZ{gFQL9L2AIdnEK6SRSd?sB*_&PN;1* zsjo{Tj3ssYqd?8I+Z~kQD+lgf(O_lx#(`S8rI(>joh0JA`ld;+ePIl}S+q&-8(0PU z;6$IwN_5P@Jl&P)DmpLF8K45ySH@=Oei3S9agY9=rMvs^fUY))$Dwoe4_N+X<(=Q) z;a_xDf)D67;sZK9q~BVCf{)-)Joa(SHJbG?ja_H^B!lfqCL1HRnXzZ9jTHPAM%QS}sWe8`^RiQd->9X;YjFv0Db-WN8y`khPlKl_&Wb z{1l#;ff<E zG*Bs~2%n#Aui=bP{)Z_4<9A2;{dlbVJd(7}eedzBiuAM;9X1Gkde>1@kLoBKX!<4# zn7T#a$lUxR0=3qTOGCwYAT2mY;Mnq7@`S+DBKN2TuMjv9E7x~|twu`-E~@Y^SF6zQXw^) z-n0fxN)~Lz0CsAm+RS8}$Qe5$c;s-5N0c1mgJC9zVKVgOkWa>=a>?(|O)h8-W=i`x zlt!8}BJL=mz2V@7l6JH5h>Wdj%ut@Jg^&yvjUjm<5y~Snl+MV}46%*vZn*pn$;;Dm zAtXcTj0|CjZD=edISQ%JJUp3m=y01ey9b@M)uf8ap^ep5 zl(=~C(DUjljC^ z%`E!5(9BVeW}2u~b2wVVXMw6K*e)C7#rA?^+CA2K+gL{CO=iDKuvb{;kau>aqS@Ky zq0^S)v<1}o+(g2g<$*YsH7?i z30&O3_8smB%fXOIhJ!VA+a_*5;aJu7s1{hL!aHQTTA)pJSUWs!c%?&=aY|^+P$;n| zk0^1dVtcwFd3kacLNb)jC}lOoHnzKAN^D48NPXoI8A@kl2t#Z`yXh3~MX4PK99I}d z5)D}}kB`Qx1qa8xx=_PImCxGN?!4MSfgaP zPz{e6_2RfEcob4EStC{Wh!A$@^UtX+CvZmgdE|Tdoxt-cwh%UPgRa620(YNmg!r%( z4VYouR6KHjh4EM-!T^7W}&LnZI6Mu}b#Nu)+S;czv_a`{-O+Qav>A@))@9}^zNtd6LKvRyE%qk#0N8U pLT+bb-zf!qCj+|zi@2^Ua2LLg*LMwCa1WMa&D@5sa3!t4+P}@SPDB6z literal 0 HcmV?d00001 diff --git a/opensrp-connector/bin/src/test/java/org/opensrp/connector/openmrs/service/HouseHoldTest.class b/opensrp-connector/bin/src/test/java/org/opensrp/connector/openmrs/service/HouseHoldTest.class new file mode 100644 index 0000000000000000000000000000000000000000..51d0b904991c4aa415af58f82a3824da5629d4aa GIT binary patch literal 8087 zcmeHMdsEv+5Z^No8HWT)68cD*Dx?o+8@mtMrh$?Iffyz!1#*GF!1T;Mfx^nM&zg!acHj*H*VeW=GXw^gd6hZvCV{atO;&{9A`fqo z@jvz=fmUuDv8wCyuo*P825wXEg9Z!Z$8KR{x6a%u^BYtkQIq;V&>C~6a5ofBcSEtW z8}tksvxvr2yJ5<$au&N0mu^U<_S>2c?4-+;qBeV9{fkC`fA;( z=fx{7z+JdM3X?E}&7tYuR*LGLjCn!CHe2BV6T1{!9;)ZUecITkB2eSg$w65UupzYU zy-Y7lzdh}i7aCAPKSE%Tx!xsmz$M`Wp;l_M;% zE&XO+4%l-T+1b7vu;w5z8`pWOQGLc_xm;$nx)>+Pa51W`9AQ#i6+A4LlLG~vOq2`< ziUe+^6b%l1gjrBM=*svGd_v&H`NXa=Qc}EN3LExRj>gpVIU%bCsp+cfQLVn-lZmc0 zg=a^JW0hsw{!0#obOS88b>K?^*Vijso1Ka)59pAmFLr`H$H^=z@i0juQL>!~l%~Dp zcCNQ}>YbU{&%+Zu?aNlgq;^A9D*EtmHPA(w4j}CsN}m%su#EdK!E#^)kN7S|4F{g# zo=x04M&4GdL8cI-7Lx@crE+_cfXss_Y=6k;V1_W@PAl8$-&!rKbla% zJMb=!2)u__16^3tr}Q&;?ZtgR1$QYG_rnfu0kwPxCDij{Q0N8J>QlVVrb_rMMZ$Kf zgfBW0M$sy536Hc4wc>RA$0_)63O>L*e1#}&8w@JVwQUzt5PnQS$idghlY>Rr#p^xv a@)A6SRVbq+*5MIa;DJN8GqZ1g@6B)C*Z%(V{U-pdLB)a`fh{F{M>D0J6R+zzLN*-{ zvOvku@kJ0YUke$nw54(slU?pJXAdQC?h4=2Tm*I8Zb6>F<|trh_dZjiBYoxyufZgN zTuTvHaEJ8Ndg|8+6khXy>o)`@Dys(s?2S{Og~k+R!4!e1?Y+SYf&6>XU>4jWFcY1z z@Vnr8sP{wt7YFQvI0G2J>5#YoKLfWXvkhlxE41 zat*`BY*QBR8MDeOX|Q1$=E`8f9Rl|%?!VI0yR3CnxMo})u-#7kkjc7-)rP>FA+L4d zNp9x-#k@Y|SP-|}QR?eZ92%F$3OcEn?t}yu_d9{+ZMGeBx#FnuttlQ+1w@TSx0gxQ zi|~k$oeY)oCi9fC1S5f2Q|;rCV!;yv(-+bWHac!}Uqx6Uxvv@Mze#A=RK-ehoZyt? zUAr=pOV>adb9VWk5*qf|wWv$qUH7 z$IlUhzeyTb{Kat0e3zT_wfbXB{;{WiMY!NxQhw6Ie3cubMOpa;=i%n Ih9!9Z7Zjj!4*&oF literal 0 HcmV?d00001 diff --git a/opensrp-connector/bin/src/test/java/org/opensrp/connector/openmrs/service/OpenmrsSchedulerServiceTest.class b/opensrp-connector/bin/src/test/java/org/opensrp/connector/openmrs/service/OpenmrsSchedulerServiceTest.class new file mode 100644 index 0000000000000000000000000000000000000000..3431e97aa404e24caba0d6dd33322116ef765638 GIT binary patch literal 8969 zcmeHNUsD`K5brq%3l|6pBt}fs6*WTCJB_F@#Ka360xlfMK`bAay$QFtw{tZ+OTnk` zllW|vR%w-wej{Hjd-ndYckHn<=VIj{4>0WRuYc3i-85BcxWHlMaB<`tV#WVH;WGQed-9tqdN^A6a&hST!$7bh`{TrQ>V4iqrBR>zl$^m zj1pKIhEz&FqX7%KLoH_4C?}8$0s?c^fccgY5F+4u2e5|x_1bSuCN+4;0*%PkuyBo zKPZ+tXM7xPlWW1A&(S{K5v`dHYcyRCRb;-|wlC+~r)Fnm!$Ko%T$aWd!2~@P*#bl1dP zhpM;`-xMW6RbYb&>eTV|IK&uMVSWh(+OMsO_OGDXTLAajMAOIi?S$v1V5V(~lO}C# zXSnAEf`>AfnrGA8!XoZ|FDMVBnA~(5ZV%ac1#iIPnjw3 zgglxe(VJXT!2Jm~1>T>9vxPsQFBqpOoH3uJAhisk1+EG%W9aM#9S_dzK-w{;Es&kA zN=*OhRqL;e|2H>W{L<8Sk>M<;737*5l_p%tnAw3ewYx||X}_GBd$cAzI~yx8X=|^vZ*s|xjx+v8~c>+$|cBF5OZwrd3#Ci zo1>!cVgu=^HB57CKrWSrz%J9JfQqn5;MOy2bfJ4U{3ADTQI(QxuS8uUoO#@86|c+V zut1ET6}m~Uirv%3RQ$EnPLJ9GDzQ0{9cVy!4SZW$pSHtEWv8_g({M^^J8ZaVv`Pof zT0j%7WX$Y9n%Z5Yp|pLiS;J|mrlf~nbyC1ehJIC0$37iY z3u*%IbwlTSSJYW3O8&`~>tQ@GpH_Iuk;jPR@EL*C^P?m>VMMX>eM#U>&xGBnN`9@Q zKr|&5$`ZJ~-uZgL?+)95FR`TF#6zQ47Zpof8_$^qfqMx>ctTljwH74_vE0QHc`bcq zDj|qRxYg){dJXMIz#NeF<(m{8kQ(q9MNXA5poE9Z{TrPDD+Fc}HU$I92=CuU4fvM8 z%>h#zuz_|xo6`*VF4`jEr`iT=A$@cnxN7G>~Byu0sxP;MFKzy#}x2UrWeKaLoS( zb3e@7`UT$n1Fv#m;_tEO3BlO`xg!+J!@GEeVUAoQF|PO9_&YeB<^3Rm_kJSpVwZOe zwYUo(L5I1J$XrZd-b`fvRFnB$0`q<%^HK)P$BE3JcbW6(Gii-4&~N8kBuVd|64(Lm z!&m6Zj<;ldwW8ob!pi?lV93Ekl*z%@u!G}mn1V;}4LpHW)bTEAx(4g0@g`WX{V!k9 Bm5%@b literal 0 HcmV?d00001 diff --git a/opensrp-connector/bin/src/test/java/org/opensrp/connector/openmrs/service/OpenmrsUserServiceTest.class b/opensrp-connector/bin/src/test/java/org/opensrp/connector/openmrs/service/OpenmrsUserServiceTest.class new file mode 100644 index 0000000000000000000000000000000000000000..39b1a8987c92bde0246e6dedc335ce1b481cd701 GIT binary patch literal 7014 zcmeHM-ESL35TA9E*uEyD4Fw8;vJFriiTYmpM5;>tib!>BswOGojm>#uZ+f?T?CzQN zFGB(eBp&&bctFhFIfu)c-Z@HZ5PqRF+*VCuIlk7 zyhUI&+hW9I-@mW5(k-|^R(?H@8d*m}-lL(46A>|oL=&wJBOaSCsn^~gaN6Tx#558m zEPTfLoNl15x+7h63teS1sGIIcR~xjaxS>*68Z#RXs6{OPJVC{dW1-f%&I(;8Vz(Z0 zE|-WCr7d+!jt$BkGU=Eda(c3@GF^(=n+;*C!e_#&I?P9^J!8^Deb2R%q7LrAfH?C9 zQA=URb{;y;Q_f!FzI1j(HN5M=-tME~7^x8K&b@oi z#ZRH-JUPeQ4pfga`J!_-V#eIecY14+3PV%b<3~c`ae)@k+{i^1EvwjV%4^qBlJngW zQ~q5iUve5|V>mMr{>?FUk%Bc!f&pKZLduq@aGzQxt3@>T>%yaJNN&~ zDRJ&PXMf_n#{B8Q3al+d6W%89PAB-Q%ga;dmg^B$13W<=rST!x`wSa90&9T^S@e`? z;l`uM1v?PfcLu>}+Sqd5cj*}W)kVW?nh;pW8rX`M@5rGr0=eFHy;|09BGXoo*K}Jg z_>hoqYxJe_8gQ)5owiU!53p#S+bI_2Xq7NCLlZtGu<}yrht~~3X2%w6kjC#d%rZZO zi$i!`T-GYvUSo2s*ALW@5;K$w7V6*INbF_rGPZ>)G}p`PU4@Wc^%H0ZqkB|WCk|PZ;))Bwj zj>`K9R=!zV{Q)lif};jp!tbT*AFQwOc{!(oci}x85xAUTy+5M*Afxy@+WG`EIuY$7 wL_1eVb_Gsw=|tSC6L7Ch#QkI{+)pRqUY~&5fNLmM13rf?{yND$xB_4N3G@y{MgRZ+ literal 0 HcmV?d00001 diff --git a/opensrp-connector/bin/src/test/java/org/opensrp/connector/openmrs/service/PatientTest.class b/opensrp-connector/bin/src/test/java/org/opensrp/connector/openmrs/service/PatientTest.class new file mode 100644 index 0000000000000000000000000000000000000000..b5922f690701ffa69ab4f18be8696f2a22e4d178 GIT binary patch literal 3976 zcmeHKOHUgy5FUreCd;$*NolE}FSsNZPNix^d8ky&LlBU9G`ohF?ygt1gW%L((ce<3 zmD+oMRMqh&&`?&{fO4W7vhjL9e>48<8IOPc{`La^=3vHw0)e+$`4z*psT{H+R*~wU zA`>2Kl~jBg$J{qkr9F|-70uO=@OfpE8Np*y#bFNg5?Hwki5LD6P+vxg2yrqpriqe!A&>Mc>XxcCP6O_TOd%*?{wH?8=`?Cn zZfa9L(h!0Xzw8fHJddK&rLcR-o zu+_IqP2^JGZKJGT?ag-&WTnb6_F;Qt{VWybU_Fsbw-5vv)jEf0K`D09HMS*YcvVDM ztLm28e(cQKwiInYuCXLXiH_EKWA6}?aSqdarfd237DIas=1_GHw6n9ilwqvxvb08G z8+BV@my5v@ZFrRF)n#~G7=p1uaNst9yEES3gS)Y$^Y+*u@kGqm>(L%pRfcCZfiX|| zEZk*E*!N~aoF?SdEW_7HDe09=d7WfR>70 zBM;6O;SnLD9n=^9Ro=v9(luERgGI$Lw`}6cB4Y=h5Ewd_F0st>Qr(L%O?p0eAmdF! zzDdYfRJYVY-OIHdF&X0)uOfTCs{%sfH=Q z8yns=3I6(^AD=zgcAy9aDB)W#zPT`nt-16IfcqVWK8}rigvP*g5Z`l6gPJ2aXO0#!TJfc-DJBnGht;+b|ClKeN{2Os-DJ{&B7vz$glF?s zZDaQ-vJ$vxgdyujOm?J4V7k%8ZE5N9))Ilq1h|8HaNB3yl}%fzUxaKDIKL;PUw7rE zt=j}j&9KgdezGq$&-h*!7sN?$Gl1cAL>Ab39ujD6pMe=mS@#3abzDtV7%+)-k}EAk z(=ut?0OuE|t7yoZY|rJaS)~s{rA?iS*u3Y|yI(?iyr*1eSajHnGhizo zwo=nPbK*B8)^Ul=P-O`20^`%b4%WUjp0l1Aql>Iq((!&=7Q$mTPx&t8@uBi_DDbH5 zOHseKj1E~lhJ>H6F)viAUWn<04I8p#4+%eEV}^{OQ_3E^!T4L@uJ0;^r~8a7%H_dz zyxp`+13Gd}?oG%CO7Q$$DL?YCAI04xLy0=uvqNv-{+Yp(%LlnYYp%yKHp>C|9vzuO z%425k)>*(|f?@QL^O9ns4A8qCjaO># zi7j38o-7tM4hjg|Z;WQtftT@_7SsKn#5V%BQuJ&jnYFag=;v6n;1-%N;Jy;nNa5!k zckg~-86lD@vR{>eoX67~`JDrDS|xzM&6F@b5}hSjB=FCv1mZwSWW;vvE`tNHt!QFt zJ`RD)M~9fvl*xk6agsN9O0nQeTpc_eSa1g?i2bQ(!CeAYl1vuhG;TKi6lcM=$lQN| zuwWUt>CWTg#3fL9Xj(mQZR2=B!F9k9AI@+mpaQSK7(P|NN@yvfMHo+LIicqhT1n^y z6pJ->!~@ZEp#*t6^a literal 0 HcmV?d00001 diff --git a/opensrp-connector/bin/src/test/resources/form/basic_reg/form.json b/opensrp-connector/bin/src/test/resources/form/basic_reg/form.json new file mode 100644 index 0000000000..1dcfa303dc --- /dev/null +++ b/opensrp-connector/bin/src/test/resources/form/basic_reg/form.json @@ -0,0 +1,653 @@ +{ + "default_language": "default", + "id_string": "patient_basic_reg", + "children": [ + { + "name": "woman_name", + "label": "First name", + "instance": { + "openmrs_entity_id": "first_name", + "openmrs_entity": "person" + }, + "type": "text" + }, + { + "name": "last_name", + "label": "Last name", + "instance": { + "openmrs_entity_id": "last_name", + "openmrs_entity": "person" + }, + "type": "text" + }, + { + "name": "gender", + "default": "female", + "label": "Gender", + "instance": { + "openmrs_entity_id": "gender", + "openmrs_entity": "person" + }, + "type": "text" + }, + { + "name": "birthdate", + "label": "DOB", + "instance": { + "openmrs_entity_id": "birthdate", + "openmrs_entity": "person" + }, + "type": "date" + }, + { + "children": [ + { + "name": "karachi", + "label": "Karachi", + "instance": { + "openmrs_code": "karachi" + } + }, + { + "name": "lahore", + "label": "Lahore", + "instance": { + "openmrs_code": "lahore" + } + } + ], + "name": "location", + "bind": { + "required": "yes" + }, + "label": "Location of ANC", + "instance": { + "openmrs_entity_id": "location_id", + "openmrs_entity": "encounter" + }, + "type": "select one" + }, + { + "name": "anc_visit_date", + "bind": { + "required": "yes", + "constraint": ".<=${today}" + }, + "label": "ANC visit date?", + "instance": { + "openmrs_entity_id": "encounter_date", + "openmrs_entity": "encounter" + }, + "type": "date" + }, + { + "name": "pulse_rate", + "bind": { + "constraint": ".>0" + }, + "label": "Pulse rate", + "instance": { + "openmrs_entity_id": "5087AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept" + }, + "type": "integer" + }, + { + "name": "temperature", + "bind": { + "constraint": ".>0" + }, + "label": "Temperature (C)", + "instance": { + "openmrs_entity_id": "5088AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept" + }, + "type": "decimal" + }, + { + "children": [ + { + "name": "birthplace_lat", + "label": "Latitude", + "instance": { + "openmrs_entity_parent": "birthplace", + "openmrs_entity_id": "latitude", + "openmrs_entity": "person_address" + }, + "type": "text" + }, + { + "name": "birthplace_lon", + "label": "Longitude", + "instance": { + "openmrs_entity_parent": "birthplace", + "openmrs_entity_id": "longitute", + "openmrs_entity": "person_address" + }, + "type": "text" + }, + { + "name": "birthplace_postcode", + "label": "postalCode / postal_code", + "instance": { + "openmrs_entity_parent": "birthplace", + "openmrs_entity_id": "postalcode", + "openmrs_entity": "person_address" + }, + "type": "text" + }, + { + "name": "birthplace_house", + "label": "HOUSE_NUMBER / HOUSE / HOUSE_NO / UNIT / UNIT_NUMBER / UNIT_NO", + "instance": { + "openmrs_entity_parent": "birthplace", + "openmrs_entity_id": "house_number", + "openmrs_entity": "person_address" + }, + "type": "text" + }, + { + "name": "birthplace_street", + "label": "STREET / STREET_NUMBER / LANE", + "instance": { + "openmrs_entity_parent": "birthplace", + "openmrs_entity_id": "street", + "openmrs_entity": "person_address" + }, + "type": "text" + }, + { + "name": "birthplace_area", + "label": "SECTOR / AREA", + "instance": { + "openmrs_entity_parent": "birthplace", + "openmrs_entity_id": "area", + "openmrs_entity": "person_address" + }, + "type": "text" + }, + { + "name": "birthplace_town", + "label": "MUNICIPALITY / TOWN / LOCALITY / REGION", + "instance": { + "openmrs_entity_parent": "birthplace", + "openmrs_entity_id": "town", + "openmrs_entity": "person_address" + }, + "type": "text" + }, + { + "name": "birthplace_busroute", + "label": "Bus route custom field", + "instance": { + "openmrs_entity_parent": "birthplace", + "openmrs_entity_id": "bus_route", + "openmrs_entity": "person_address" + }, + "type": "text" + }, + { + "name": "birthplace_district", + "label": "COUNTY / DISTRICT", + "instance": { + "openmrs_entity_parent": "birthplace", + "openmrs_entity_id": "district", + "openmrs_entity": "person_address" + }, + "type": "text" + }, + { + "name": "birthplace_city", + "label": "CITY / VILLAGE", + "instance": { + "openmrs_entity_parent": "birthplace", + "openmrs_entity_id": "city", + "openmrs_entity": "person_address" + }, + "type": "text" + }, + { + "name": "birthplace_state", + "label": "state / state_province / stateProvince/ province", + "instance": { + "openmrs_entity_parent": "birthplace", + "openmrs_entity_id": "state", + "openmrs_entity": "person_address" + }, + "type": "text" + }, + { + "name": "birthplace_country", + "label": "country", + "instance": { + "openmrs_entity_parent": "birthplace", + "openmrs_entity_id": "country", + "openmrs_entity": "person_address" + }, + "type": "text" + } + ], + "name": "birthplace_address", + "label": "Birthplace", + "type": "group" + }, + { + "children": [ + { + "name": "usual_residence_start", + "label": "When started (startDate / start_date)", + "instance": { + "openmrs_entity_parent": "usual_residence", + "openmrs_entity_id": "startdate", + "openmrs_entity": "person_address" + }, + "type": "date" + }, + { + "name": "usual_residence_lat", + "label": "Latitude", + "instance": { + "openmrs_entity_parent": "usual_residence", + "openmrs_entity_id": "latitude", + "openmrs_entity": "person_address" + }, + "type": "text" + }, + { + "name": "usual_residence_lon", + "label": "Longitude", + "instance": { + "openmrs_entity_parent": "usual_residence", + "openmrs_entity_id": "longitute", + "openmrs_entity": "person_address" + }, + "type": "text" + }, + { + "name": "usual_residence_postcode", + "label": "postalCode / postal_code", + "instance": { + "openmrs_entity_parent": "usual_residence", + "openmrs_entity_id": "postalcode", + "openmrs_entity": "person_address" + }, + "type": "text" + }, + { + "name": "usual_residence_house", + "label": "HOUSE_NUMBER / HOUSE / HOUSE_NO / UNIT / UNIT_NUMBER / UNIT_NO", + "instance": { + "openmrs_entity_parent": "usual_residence", + "openmrs_entity_id": "uniit", + "openmrs_entity": "person_address" + }, + "type": "text" + }, + { + "name": "usual_residence_street", + "label": "STREET / STREET_NUMBER / LANE", + "instance": { + "openmrs_entity_parent": "usual_residence", + "openmrs_entity_id": "lane", + "openmrs_entity": "person_address" + }, + "type": "text" + }, + { + "name": "usual_residence_area", + "label": "SECTOR / AREA", + "instance": { + "openmrs_entity_parent": "usual_residence", + "openmrs_entity_id": "sector", + "openmrs_entity": "person_address" + }, + "type": "text" + }, + { + "name": "usual_residence_town", + "label": "MUNICIPALITY / TOWN / LOCALITY / REGION", + "instance": { + "openmrs_entity_parent": "usual_residence", + "openmrs_entity_id": "municipality", + "openmrs_entity": "person_address" + }, + "type": "text" + }, + { + "name": "usual_residence_district", + "label": "COUNTY / DISTRICT", + "instance": { + "openmrs_entity_parent": "usual_residence", + "openmrs_entity_id": "district", + "openmrs_entity": "person_address" + }, + "type": "text" + }, + { + "name": "usual_residence_city", + "label": "CITY / VILLAGE", + "instance": { + "openmrs_entity_parent": "usual_residence", + "openmrs_entity_id": "city", + "openmrs_entity": "person_address" + }, + "type": "text" + }, + { + "name": "usual_residence_state", + "label": "state / state_province / stateProvince/ province", + "instance": { + "openmrs_entity_parent": "usual_residence", + "openmrs_entity_id": "province", + "openmrs_entity": "person_address" + }, + "type": "text" + }, + { + "name": "usual_residence_country", + "label": "country", + "instance": { + "openmrs_entity_parent": "usual_residence", + "openmrs_entity_id": "country", + "openmrs_entity": "person_address" + }, + "type": "text" + } + ], + "name": "usual_residence_address", + "label": "Usual Residence", + "type": "group" + }, + { + "children": [ + { + "name": "previous_residence_start", + "label": "When started (startDate / start_date)", + "instance": { + "openmrs_entity_parent": "previous_residence", + "openmrs_entity_id": "startdate", + "openmrs_entity": "person_address" + }, + "type": "date" + }, + { + "name": "previous_residence_end", + "label": "When ended (endDate/end_date)", + "instance": { + "openmrs_entity_parent": "previous_residence", + "openmrs_entity_id": "enddate", + "openmrs_entity": "person_address" + }, + "type": "date" + }, + { + "name": "previous_residence_lat", + "label": "Latitude", + "instance": { + "openmrs_entity_parent": "previous_residence", + "openmrs_entity_id": "latitude", + "openmrs_entity": "person_address" + }, + "type": "text" + }, + { + "name": "previous_residence_lon", + "label": "Longitude", + "instance": { + "openmrs_entity_parent": "previous_residence", + "openmrs_entity_id": "longitute", + "openmrs_entity": "person_address" + }, + "type": "text" + }, + { + "name": "previous_residence_postcode", + "label": "postalCode / postal_code", + "instance": { + "openmrs_entity_parent": "previous_residence", + "openmrs_entity_id": "postalcode", + "openmrs_entity": "person_address" + }, + "type": "text" + }, + { + "name": "previous_residence_house", + "label": "HOUSE_NUMBER / HOUSE / HOUSE_NO / UNIT / UNIT_NUMBER / UNIT_NO", + "instance": { + "openmrs_entity_parent": "previous_residence", + "openmrs_entity_id": "house", + "openmrs_entity": "person_address" + }, + "type": "text" + }, + { + "name": "previous_residence_street", + "label": "STREET / STREET_NUMBER / LANE", + "instance": { + "openmrs_entity_parent": "previous_residence", + "openmrs_entity_id": "street", + "openmrs_entity": "person_address" + }, + "type": "text" + }, + { + "name": "previous_residence_area", + "label": "SECTOR / AREA", + "instance": { + "openmrs_entity_parent": "previous_residence", + "openmrs_entity_id": "area", + "openmrs_entity": "person_address" + }, + "type": "text" + }, + { + "name": "previous_residence_town", + "label": "MUNICIPALITY / TOWN / LOCALITY / REGION", + "instance": { + "openmrs_entity_parent": "previous_residence", + "openmrs_entity_id": "region", + "openmrs_entity": "person_address" + }, + "type": "text" + }, + { + "name": "previous_residence_district", + "label": "COUNTY / DISTRICT", + "instance": { + "openmrs_entity_parent": "previous_residence", + "openmrs_entity_id": "county", + "openmrs_entity": "person_address" + }, + "type": "text" + }, + { + "name": "previous_residence_city", + "label": "CITY / VILLAGE", + "instance": { + "openmrs_entity_parent": "previous_residence", + "openmrs_entity_id": "village", + "openmrs_entity": "person_address" + }, + "type": "text" + }, + { + "name": "previous_residence_state", + "label": "state / state_province / stateProvince/ province", + "instance": { + "openmrs_entity_parent": "previous_residence", + "openmrs_entity_id": "state", + "openmrs_entity": "person_address" + }, + "type": "text" + }, + { + "name": "previous_residence_country", + "label": "country", + "instance": { + "openmrs_entity_parent": "previous_residence", + "openmrs_entity_id": "country", + "openmrs_entity": "person_address" + }, + "type": "text" + } + ], + "name": "previous_residence_address", + "label": "Previous Residence", + "type": "group" + }, + { + "children": [ + { + "name": "deathplace_lat", + "label": "Latitude", + "instance": { + "openmrs_entity_parent": "deathplace", + "openmrs_entity_id": "latitude", + "openmrs_entity": "person_address" + }, + "type": "text" + }, + { + "name": "deathplace_lon", + "label": "Longitude", + "instance": { + "openmrs_entity_parent": "deathplace", + "openmrs_entity_id": "longitute", + "openmrs_entity": "person_address" + }, + "type": "text" + }, + { + "name": "deathplace_postcode", + "label": "postalCode / postal_code", + "instance": { + "openmrs_entity_parent": "deathplace", + "openmrs_entity_id": "postal_code", + "openmrs_entity": "person_address" + }, + "type": "text" + }, + { + "name": "deathplace_house", + "label": "HOUSE_NUMBER / HOUSE / HOUSE_NO / UNIT / UNIT_NUMBER / UNIT_NO", + "instance": { + "openmrs_entity_parent": "deathplace", + "openmrs_entity_id": "unit", + "openmrs_entity": "person_address" + }, + "type": "text" + }, + { + "name": "deathplace_street", + "label": "STREET / STREET_NUMBER / LANE", + "instance": { + "openmrs_entity_parent": "deathplace", + "openmrs_entity_id": "lane", + "openmrs_entity": "person_address" + }, + "type": "text" + }, + { + "name": "deathplace_area", + "label": "SECTOR / AREA", + "instance": { + "openmrs_entity_parent": "deathplace", + "openmrs_entity_id": "area", + "openmrs_entity": "person_address" + }, + "type": "text" + }, + { + "name": "deathplace_town", + "label": "MUNICIPALITY / TOWN / LOCALITY / REGION", + "instance": { + "openmrs_entity_parent": "deathplace", + "openmrs_entity_id": "region", + "openmrs_entity": "person_address" + }, + "type": "text" + }, + { + "name": "deathplace_district", + "label": "COUNTY / DISTRICT", + "instance": { + "openmrs_entity_parent": "deathplace", + "openmrs_entity_id": "district", + "openmrs_entity": "person_address" + }, + "type": "text" + }, + { + "name": "deathplace_city", + "label": "CITY / VILLAGE", + "instance": { + "openmrs_entity_parent": "deathplace", + "openmrs_entity_id": "city", + "openmrs_entity": "person_address" + }, + "type": "text" + }, + { + "name": "deathplace_state", + "label": "state / state_province / stateProvince/ province", + "instance": { + "openmrs_entity_parent": "deathplace", + "openmrs_entity_id": "state_province", + "openmrs_entity": "person_address" + }, + "type": "text" + }, + { + "name": "deathplace_country", + "label": "country", + "instance": { + "openmrs_entity_parent": "deathplace", + "openmrs_entity_id": "country", + "openmrs_entity": "person_address" + }, + "type": "text" + } + ], + "name": "deathplace_address", + "label": "Death Place", + "type": "group" + }, + { + "name": "today", + "type": "today" + }, + { + "name": "start", + "type": "start" + }, + { + "name": "end", + "type": "end" + }, + { + "control": { + "bodyless": true + }, + "children": [ + { + "name": "instanceID", + "bind": { + "readonly": "true()", + "calculate": "concat('uuid:', uuid())" + }, + "type": "calculate" + } + ], + "name": "meta", + "type": "group" + } + ], + "instance": { + "encounter_type": "patient_register" + }, + "version": "201504030905", + "type": "survey", + "name": "register_with_address", + "sms_keyword": "patient_basic_reg", + "title": "Patient Registration" +} \ No newline at end of file diff --git a/opensrp-connector/bin/src/test/resources/form/basic_reg/form.xml b/opensrp-connector/bin/src/test/resources/form/basic_reg/form.xml new file mode 100644 index 0000000000..8926f192ec --- /dev/null +++ b/opensrp-connector/bin/src/test/resources/form/basic_reg/form.xml @@ -0,0 +1,287 @@ +
+ + +

Register with address

+ + + + +
+
+ + Location of ANC + * + +
+ + +
+
+
+ + + +
+

+ Birthplace +

+ + + + + + + + + + + + +
+ +
+

+ Usual Residence +

+ + + + + + + + + + + + +
+ +
+

+ Previous Residence +

+ + + + + + + + + + + + + +
+ +
+

+ Death Place +

+ + + + + + + + + + + +
+ + + + \ No newline at end of file diff --git a/opensrp-connector/bin/src/test/resources/form/basic_reg/form_definition.json b/opensrp-connector/bin/src/test/resources/form/basic_reg/form_definition.json new file mode 100644 index 0000000000..7e9f24b662 --- /dev/null +++ b/opensrp-connector/bin/src/test/resources/form/basic_reg/form_definition.json @@ -0,0 +1,249 @@ +{ + "form_data_definition_version": "1", + "form": { + "bind_type": "register_with_address", + "default_bind_path": "/model/instance/register_with_address/", + "fields": [ + { + "name": "woman_name", + "bind": "/model/instance/register_with_address/woman_name" + }, + { + "name": "bahmni_id", + "bind": "/model/instance/register_with_address/bahmni_id" + }, + { + "name": "last_name", + "bind": "/model/instance/register_with_address/last_name" + }, + { + "name": "gender", + "bind": "/model/instance/register_with_address/gender" + }, + { + "name": "birthdate", + "bind": "/model/instance/register_with_address/birthdate" + }, + { + "name": "location", + "bind": "/model/instance/register_with_address/location" + }, + { + "name": "anc_visit_date", + "bind": "/model/instance/register_with_address/anc_visit_date" + }, + { + "name": "pulse_rate", + "bind": "/model/instance/register_with_address/pulse_rate" + }, + { + "name": "temperature", + "bind": "/model/instance/register_with_address/temperature" + }, + { + "name": "birthplace_lat", + "bind": "/model/instance/register_with_address/birthplace_address/birthplace_lat" + }, + { + "name": "birthplace_lon", + "bind": "/model/instance/register_with_address/birthplace_address/birthplace_lon" + }, + { + "name": "birthplace_postcode", + "bind": "/model/instance/register_with_address/birthplace_address/birthplace_postcode" + }, + { + "name": "birthplace_house", + "bind": "/model/instance/register_with_address/birthplace_address/birthplace_house" + }, + { + "name": "birthplace_street", + "bind": "/model/instance/register_with_address/birthplace_address/birthplace_street" + }, + { + "name": "birthplace_area", + "bind": "/model/instance/register_with_address/birthplace_address/birthplace_area" + }, + { + "name": "birthplace_town", + "bind": "/model/instance/register_with_address/birthplace_address/birthplace_town" + }, + { + "name": "birthplace_busroute", + "bind": "/model/instance/register_with_address/birthplace_address/birthplace_busroute" + }, + { + "name": "birthplace_district", + "bind": "/model/instance/register_with_address/birthplace_address/birthplace_district" + }, + { + "name": "birthplace_city", + "bind": "/model/instance/register_with_address/birthplace_address/birthplace_city" + }, + { + "name": "birthplace_state", + "bind": "/model/instance/register_with_address/birthplace_address/birthplace_state" + }, + { + "name": "birthplace_country", + "bind": "/model/instance/register_with_address/birthplace_address/birthplace_country" + }, + { + "name": "usual_residence_start", + "bind": "/model/instance/register_with_address/usual_residence_address/usual_residence_start" + }, + { + "name": "usual_residence_lat", + "bind": "/model/instance/register_with_address/usual_residence_address/usual_residence_lat" + }, + { + "name": "usual_residence_lon", + "bind": "/model/instance/register_with_address/usual_residence_address/usual_residence_lon" + }, + { + "name": "usual_residence_postcode", + "bind": "/model/instance/register_with_address/usual_residence_address/usual_residence_postcode" + }, + { + "name": "usual_residence_house", + "bind": "/model/instance/register_with_address/usual_residence_address/usual_residence_house" + }, + { + "name": "usual_residence_street", + "bind": "/model/instance/register_with_address/usual_residence_address/usual_residence_street" + }, + { + "name": "usual_residence_area", + "bind": "/model/instance/register_with_address/usual_residence_address/usual_residence_area" + }, + { + "name": "usual_residence_town", + "bind": "/model/instance/register_with_address/usual_residence_address/usual_residence_town" + }, + { + "name": "usual_residence_district", + "bind": "/model/instance/register_with_address/usual_residence_address/usual_residence_district" + }, + { + "name": "usual_residence_city", + "bind": "/model/instance/register_with_address/usual_residence_address/usual_residence_city" + }, + { + "name": "usual_residence_state", + "bind": "/model/instance/register_with_address/usual_residence_address/usual_residence_state" + }, + { + "name": "usual_residence_country", + "bind": "/model/instance/register_with_address/usual_residence_address/usual_residence_country" + }, + { + "name": "previous_residence_start", + "bind": "/model/instance/register_with_address/previous_residence_address/previous_residence_start" + }, + { + "name": "previous_residence_end", + "bind": "/model/instance/register_with_address/previous_residence_address/previous_residence_end" + }, + { + "name": "previous_residence_lat", + "bind": "/model/instance/register_with_address/previous_residence_address/previous_residence_lat" + }, + { + "name": "previous_residence_lon", + "bind": "/model/instance/register_with_address/previous_residence_address/previous_residence_lon" + }, + { + "name": "previous_residence_postcode", + "bind": "/model/instance/register_with_address/previous_residence_address/previous_residence_postcode" + }, + { + "name": "previous_residence_house", + "bind": "/model/instance/register_with_address/previous_residence_address/previous_residence_house" + }, + { + "name": "previous_residence_street", + "bind": "/model/instance/register_with_address/previous_residence_address/previous_residence_street" + }, + { + "name": "previous_residence_area", + "bind": "/model/instance/register_with_address/previous_residence_address/previous_residence_area" + }, + { + "name": "previous_residence_town", + "bind": "/model/instance/register_with_address/previous_residence_address/previous_residence_town" + }, + { + "name": "previous_residence_district", + "bind": "/model/instance/register_with_address/previous_residence_address/previous_residence_district" + }, + { + "name": "previous_residence_city", + "bind": "/model/instance/register_with_address/previous_residence_address/previous_residence_city" + }, + { + "name": "previous_residence_state", + "bind": "/model/instance/register_with_address/previous_residence_address/previous_residence_state" + }, + { + "name": "previous_residence_country", + "bind": "/model/instance/register_with_address/previous_residence_address/previous_residence_country" + }, + { + "name": "deathplace_lat", + "bind": "/model/instance/register_with_address/deathplace_address/deathplace_lat" + }, + { + "name": "deathplace_lon", + "bind": "/model/instance/register_with_address/deathplace_address/deathplace_lon" + }, + { + "name": "deathplace_postcode", + "bind": "/model/instance/register_with_address/deathplace_address/deathplace_postcode" + }, + { + "name": "deathplace_house", + "bind": "/model/instance/register_with_address/deathplace_address/deathplace_house" + }, + { + "name": "deathplace_street", + "bind": "/model/instance/register_with_address/deathplace_address/deathplace_street" + }, + { + "name": "deathplace_area", + "bind": "/model/instance/register_with_address/deathplace_address/deathplace_area" + }, + { + "name": "deathplace_town", + "bind": "/model/instance/register_with_address/deathplace_address/deathplace_town" + }, + { + "name": "deathplace_district", + "bind": "/model/instance/register_with_address/deathplace_address/deathplace_district" + }, + { + "name": "deathplace_city", + "bind": "/model/instance/register_with_address/deathplace_address/deathplace_city" + }, + { + "name": "deathplace_state", + "bind": "/model/instance/register_with_address/deathplace_address/deathplace_state" + }, + { + "name": "deathplace_country", + "bind": "/model/instance/register_with_address/deathplace_address/deathplace_country" + }, + { + "name": "today", + "bind": "/model/instance/register_with_address/today" + }, + { + "name": "start", + "bind": "/model/instance/register_with_address/start" + }, + { + "name": "end", + "bind": "/model/instance/register_with_address/end" + } + ] + } +} \ No newline at end of file diff --git a/opensrp-connector/bin/src/test/resources/form/basic_reg/form_submission.json b/opensrp-connector/bin/src/test/resources/form/basic_reg/form_submission.json new file mode 100644 index 0000000000..0008440a58 --- /dev/null +++ b/opensrp-connector/bin/src/test/resources/form/basic_reg/form_submission.json @@ -0,0 +1,258 @@ +{ + "anmId": "superman", + "instanceId": "88ceee24-10b4-44c2-9429-754b8d823776", + "clientVersion": "1426830449320", + "entityId": "b716d938-1aea-40ae-a081-9ddddddcccc9", + "formDataDefinitionVersion": "1", + "formName": "basic_reg", + "formInstance": { + "form_data_definition_version": "1", + "form": { + "bind_type": "register_with_address", + "default_bind_path": "/model/instance/register_with_address/", + "fields": [ + { + "name": "woman_name", + "value": "test woman_name" + }, + { + "name": "last_name", + "value": "test last_name" + }, + { + "name": "bahmni_id", + "value": "pak-100-00001" + }, + { + "name": "gender", + "value": "FEMALE" + }, + { + "name": "birthdate", + "value": "2015-02-01" + }, + { + "name": "location", + "value": "unknown location" + }, + { + "name": "anc_visit_date", + "value": "2015-02-01" + }, + { + "name": "pulse_rate", + "value": "55" + }, + { + "name": "temperature", + "value": "37" + }, + { + "name": "birthplace_lat", + "value": "test birthplace_lat" + }, + { + "name": "birthplace_lon", + "value": "test birthplace_lon" + }, + { + "name": "birthplace_postcode", + "value": "test birthplace_postcode" + }, + { + "name": "birthplace_house", + "value": "test birthplace_house" + }, + { + "name": "birthplace_street", + "value": "test birthplace_street" + }, + { + "name": "birthplace_area", + "value": "test birthplace_area" + }, + { + "name": "birthplace_town", + "value": "test birthplace_town" + }, + { + "name": "birthplace_busroute", + "value": "test birthplace_busroute" + }, + { + "name": "birthplace_district", + "value": "test birthplace_district" + }, + { + "name": "birthplace_city", + "value": "test birthplace_city" + }, + { + "name": "birthplace_state", + "value": "test birthplace_state" + }, + { + "name": "birthplace_country", + "value": "test birthplace_country" + }, + { + "name": "usual_residence_start", + "value": "2015-02-01" + }, + { + "name": "usual_residence_lat", + "value": "test usual_residence_lat" + }, + { + "name": "usual_residence_lon", + "value": "test usual_residence_lon" + }, + { + "name": "usual_residence_postcode", + "value": "test usual_residence_postcode" + }, + { + "name": "usual_residence_house", + "value": "test usual_residence_house" + }, + { + "name": "usual_residence_street", + "value": "test usual_residence_street" + }, + { + "name": "usual_residence_area", + "value": "test usual_residence_area" + }, + { + "name": "usual_residence_town", + "value": "test usual_residence_town" + }, + { + "name": "usual_residence_district", + "value": "test usual_residence_district" + }, + { + "name": "usual_residence_city", + "value": "test usual_residence_city" + }, + { + "name": "usual_residence_state", + "value": "test usual_residence_state" + }, + { + "name": "usual_residence_country", + "value": "test usual_residence_country" + }, + { + "name": "previous_residence_start", + "value": "2015-02-01" + }, + { + "name": "previous_residence_end", + "value": "2015-02-01" + }, + { + "name": "previous_residence_lat", + "value": "test previous_residence_lat" + }, + { + "name": "previous_residence_lon", + "value": "test previous_residence_lon" + }, + { + "name": "previous_residence_postcode", + "value": "test previous_residence_postcode" + }, + { + "name": "previous_residence_house", + "value": "test previous_residence_house" + }, + { + "name": "previous_residence_street", + "value": "test previous_residence_street" + }, + { + "name": "previous_residence_area", + "value": "test previous_residence_area" + }, + { + "name": "previous_residence_town", + "value": "test previous_residence_town" + }, + { + "name": "previous_residence_district", + "value": "test previous_residence_district" + }, + { + "name": "previous_residence_city", + "value": "test previous_residence_city" + }, + { + "name": "previous_residence_state", + "value": "test previous_residence_state" + }, + { + "name": "previous_residence_country", + "value": "test previous_residence_country" + }, + { + "name": "deathplace_lat", + "value": "test deathplace_lat" + }, + { + "name": "deathplace_lon", + "value": "test deathplace_lon" + }, + { + "name": "deathplace_postcode", + "value": "test deathplace_postcode" + }, + { + "name": "deathplace_house", + "value": "test deathplace_house" + }, + { + "name": "deathplace_street", + "value": "test deathplace_street" + }, + { + "name": "deathplace_area", + "value": "test deathplace_area" + }, + { + "name": "deathplace_town", + "value": "test deathplace_town" + }, + { + "name": "deathplace_district", + "value": "test deathplace_district" + }, + { + "name": "deathplace_city", + "value": "test deathplace_city" + }, + { + "name": "deathplace_state", + "value": "test deathplace_state" + }, + { + "name": "deathplace_country", + "value": "test deathplace_country" + }, + { + "name": "today", + "value": "2015-02-01" + }, + { + "name": "start", + "value": "2015-02-01" + }, + { + "name": "end", + "value": "2015-02-01" + } + ] + } + }, + "serverVersion": 1430998001293 +} \ No newline at end of file diff --git a/opensrp-connector/bin/src/test/resources/form/basic_reg/model.xml b/opensrp-connector/bin/src/test/resources/form/basic_reg/model.xml new file mode 100644 index 0000000000..d6265106aa --- /dev/null +++ b/opensrp-connector/bin/src/test/resources/form/basic_reg/model.xml @@ -0,0 +1,80 @@ + + + + + + + + + + female + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/opensrp-connector/bin/src/test/resources/form/child_enrollment/form.json b/opensrp-connector/bin/src/test/resources/form/child_enrollment/form.json new file mode 100644 index 0000000000..98878c7e0e --- /dev/null +++ b/opensrp-connector/bin/src/test/resources/form/child_enrollment/form.json @@ -0,0 +1 @@ +{"name":"Child_Vaccination_Enrollment","title":"بچّوں کا انرولمنٹ رجسٹر برائے ٹیکاجات - Child Enrollment Vaccination Register","sms_keyword":"child_vaccination_enrollment","default_language":"English","choices":{"provinces":[{"name":"kpk","label":{"Urdu":"خیبر پختون خواہ","English":"Khyber Pakhtunkhwa","Roman Urdu":"Khyber Pakhtunkhwa"}},{"name":"sindh","label":{"Urdu":"سندھ","English":"Sindh","Roman Urdu":"Sindh"}},{"name":"balochistan","label":{"Urdu":"بلوچستان","English":"Balochistan","Roman Urdu":"Balochistan"}},{"name":"punjab","label":{"Urdu":"پنجاب","English":"Punjab","Roman Urdu":"Punjab"}},{"name":"gilgit_baltistan","label":{"Urdu":"گلگت بلتستان","English":"Gilgit Baltistan","Roman Urdu":"Gilgit Baltistan"}},{"name":"kashmir","label":{"Urdu":"کشمیر","English":"Kashmir","Roman Urdu":"Kashmir"}},{"name":"fata","label":{"Urdu":"فاٹا","English":"FATA","Roman Urdu":"FATA"}},{"name":"out_of_country","label":{"Urdu":"ملک سے باہر","English":"Out of Country","Roman Urdu":"Mulk se baahir"}}],"ucs":[{"province":"sindh","city":"karachi","town":"korangi","name":"bilal_colony","label":{"Urdu":"بلال کالونی","Roman Urdu":"Bilal Colony","English":"Bilal Colony"}},{"province":"sindh","city":"karachi","town":"korangi","name":"nasir_colony","label":{"Urdu":"ناصر کالونی","Roman Urdu":"Nasir Colony","English":"Nasir Colony"}},{"province":"sindh","city":"karachi","town":"korangi","name":"chakra_goth","label":{"Urdu":"چکرا گوٹھ","Roman Urdu":"Chakra Goth","English":"Chakra Goth"}},{"province":"sindh","city":"karachi","town":"korangi","name":"mustafa_taj_colony","label":{"Urdu":"مصطفی تاج کالونی","Roman Urdu":"Mustafa Taj Colony","English":"Mustafa Taj Colony"}},{"province":"sindh","city":"karachi","town":"korangi","name":"hundred_quarters","label":{"Urdu":"ہنڈریڈ کوارٹر","Roman Urdu":"Hundred Quarters","English":"Hundred Quarters"}},{"province":"sindh","city":"karachi","town":"korangi","name":"gulzar_colony","label":{"Urdu":"گلزار کالونی","Roman Urdu":"Gulzar Colony","English":"Gulzar Colony"}},{"province":"sindh","city":"karachi","town":"korangi","name":"korangi_sector_33","label":{"Urdu":"کورنگی سیکٹر 33","Roman Urdu":"Korangi Sector 33","English":"Korangi Sector 33"}},{"province":"sindh","city":"karachi","town":"korangi","name":"zaman_town","label":{"Urdu":"زمان ٹاوَن","Roman Urdu":"Zaman Town","English":"Zaman Town"}},{"province":"sindh","city":"karachi","town":"korangi","name":"hasrat_mohani_colony","label":{"Urdu":"حسرت موہانی کالونی","Roman Urdu":"Hasrat Mohani Colony","English":"Hasrat Mohani Colony"}},{"province":"sindh","city":"karachi","town":"baldia","name":"gulshan_e_ghazi","label":{"Urdu":"گلشن غازی","Roman Urdu":"Gulshan-e-Ghazi","English":"Gulshan-e-Ghazi"}},{"province":"sindh","city":"karachi","town":"baldia","name":"ittehad_town","label":{"Urdu":"اتحاد ٹاوَن","Roman Urdu":"Ittehad Town","English":"Ittehad Town"}},{"province":"sindh","city":"karachi","town":"baldia","name":"islam_nagar","label":{"Urdu":"اسلام نگر","Roman Urdu":"Islam Nagar","English":"Islam Nagar"}},{"province":"sindh","city":"karachi","town":"baldia","name":"nai_abadi","label":{"Urdu":"نئی آبادی","Roman Urdu":"Nai Abadi","English":"Nai Abadi"}},{"province":"sindh","city":"karachi","town":"baldia","name":"saeedabad","label":{"Urdu":"سعید آباد","Roman Urdu":"Saeedabad","English":"Saeedabad"}},{"province":"sindh","city":"karachi","town":"baldia","name":"muslim_mujahid_colony","label":{"Urdu":"مسلم مجاہد کالونی","Roman Urdu":"Muslim Mujahid Colony","English":"Muslim Mujahid Colony"}},{"province":"sindh","city":"karachi","town":"baldia","name":"muhajir_camp","label":{"Urdu":"مہاجر کیمپ","Roman Urdu":"Muhajir Camp","English":"Muhajir Camp"}},{"province":"sindh","city":"karachi","town":"baldia","name":"rasheedabad","label":{"Urdu":"رشید آباد","Roman Urdu":"Rasheedabad","English":"Rasheedabad"}},{"province":"sindh","city":"karachi","town":"bin_qasim","name":"ibrahim_hyderi","label":{"Urdu":"ابراہیم حیدری","Roman Urdu":"Ibrahim Hyderi","English":"Ibrahim Hyderi"}},{"province":"sindh","city":"karachi","town":"bin_qasim","name":"rehri","label":{"Urdu":"رہڑی","Roman Urdu":"Rehri","English":"Rehri"}},{"province":"sindh","city":"karachi","town":"bin_qasim","name":"cattle_colony","label":{"Urdu":"کیٹل کالونی","Roman Urdu":"Cattle Colony","English":"Cattle Colony"}},{"province":"sindh","city":"karachi","town":"bin_qasim","name":"qaidabad","label":{"Urdu":"قائدآباد","Roman Urdu":"Qaidabad","English":"Qaidabad"}},{"province":"sindh","city":"karachi","town":"bin_qasim","name":"landhi_colony","label":{"Urdu":"لانڈھی کالونی","Roman Urdu":"Landhi Colony","English":"Landhi Colony"}},{"province":"sindh","city":"karachi","town":"bin_qasim","name":"gulshan_e_hadeed","label":{"Urdu":"گلشن حدید","Roman Urdu":"Gulshan-e-Hadeed","English":"Gulshan-e-Hadeed"}},{"province":"sindh","city":"karachi","town":"bin_qasim","name":"gaghar","label":{"Urdu":"گگر","Roman Urdu":"Gaghar","English":"Gaghar"}},{"province":"sindh","city":"karachi","town":"gadap","name":"murad_memon_goth","label":{"Urdu":"مراد میمن گوٹھ","Roman Urdu":"Murad Memon Goth","English":"Murad Memon Goth"}},{"province":"sindh","city":"karachi","town":"gadap","name":"darsano_chana","label":{"Urdu":"درشانو شنو","Roman Urdu":"Darsano Chana","English":"Darsano Chana"}},{"province":"sindh","city":"karachi","town":"gadap","name":"gujro","label":{"Urdu":"گجرو","Roman Urdu":"Gujro","English":"Gujro"}},{"province":"sindh","city":"karachi","town":"gadap","name":"songal","label":{"Urdu":"سنگل","Roman Urdu":"Songal","English":"Songal"}},{"province":"sindh","city":"karachi","town":"gadap","name":"maymarabad","label":{"Urdu":"معمار آباد","Roman Urdu":"Maymarabad","English":"Maymarabad"}},{"province":"sindh","city":"karachi","town":"gadap","name":"yousuf_goth","label":{"Urdu":"یوسف گوٹھ","Roman Urdu":"Yousuf Goth","English":"Yousuf Goth"}},{"province":"sindh","city":"karachi","town":"gadap","name":"manghopir","label":{"Urdu":"منگھوپیر","Roman Urdu":"Manghopir","English":"Manghopir"}},{"province":"sindh","city":"karachi","town":"gulberg","name":"azizabad","label":{"Urdu":"عزیز آباد","Roman Urdu":"Azizabad","English":"Azizabad"}},{"province":"sindh","city":"karachi","town":"gulberg","name":"karimabad","label":{"Urdu":"کریم آباد","Roman Urdu":"Karimabad","English":"Karimabad"}},{"province":"sindh","city":"karachi","town":"gulberg","name":"aisha_manzil","label":{"Urdu":"عائشہ منزل","Roman Urdu":"Aisha Manzil","English":"Aisha Manzil"}},{"province":"sindh","city":"karachi","town":"gulberg","name":"ancholi","label":{"Urdu":"انچولی","Roman Urdu":"Ancholi","English":"Ancholi"}},{"province":"sindh","city":"karachi","town":"gulberg","name":"naseerabad","label":{"Urdu":"نصیرآباد","Roman Urdu":"Naseerabad","English":"Naseerabad"}},{"province":"sindh","city":"karachi","town":"gulberg","name":"yaseenabad","label":{"Urdu":"یاسین آباد","Roman Urdu":"Yaseenabad","English":"Yaseenabad"}},{"province":"sindh","city":"karachi","town":"gulberg","name":"water_pump","label":{"Urdu":"واٹرپمپ","Roman Urdu":"Water Pump","English":"Water Pump"}},{"province":"sindh","city":"karachi","town":"gulberg","name":"shafiq_mill_colony","label":{"Urdu":"شفیق مل کالونی","Roman Urdu":"Shafiq Mill Colony","English":"Shafiq Mill Colony"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"delhi_mercantile_society","label":{"Urdu":"دہلی مرچنٹائل سوسائٹی","Roman Urdu":"Delhi Mercantile Society","English":"Delhi Mercantile Society"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"civic_centre","label":{"Urdu":"سوک سینٹر","Roman Urdu":"Civic Centre","English":"Civic Centre"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"pir_ilahi_buksh_colony","label":{"Urdu":"پیر الہی بخش کالونی","Roman Urdu":"Pir Ilahi Buksh Colony","English":"Pir Ilahi Buksh Colony"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"essa_nagri","label":{"Urdu":"عیسی نگری","Roman Urdu":"Essa Nagri","English":"Essa Nagri"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"gulshan_e_iqbal","label":{"Urdu":"گلشن اقبال","Roman Urdu":"Gulshan-e-Iqbal","English":"Gulshan-e-Iqbal"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"gillani_railway_station","label":{"Urdu":"گیلانی ریلوے اسٹیشن","Roman Urdu":"Gillani Railway Station","English":"Gillani Railway Station"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"shanti_nagar","label":{"Urdu":"شانتی نگر","Roman Urdu":"Shanti Nagar","English":"Shanti Nagar"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"jamali_colony","label":{"Urdu":"جمالی کالونی","Roman Urdu":"Jamali Colony","English":"Jamali Colony"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"gulshan_e_iqbal_ii","label":{"Urdu":"گلشن اقبال 2","Roman Urdu":"Gulshan-e-Iqbal II","English":"Gulshan-e-Iqbal II"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"pehlwan_goth","label":{"Urdu":"پہلوان گوٹھ","Roman Urdu":"Pehlwan Goth","English":"Pehlwan Goth"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"matrovil_colony","label":{"Urdu":"میٹروویل کالونی","Roman Urdu":"Matrovil Colony","English":"Matrovil Colony"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"gulzar_e_hijri","label":{"Urdu":"گلزار ہجری","Roman Urdu":"Gulzar-e-Hijri","English":"Gulzar-e-Hijri"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"safooran_goth","label":{"Urdu":"صفورا گوٹھ","Roman Urdu":"Safooran Goth","English":"Safooran Goth"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"akhtar_colony","label":{"Urdu":"اختر کالونی","Roman Urdu":"Akhtar Colony","English":"Akhtar Colony"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"manzoor_colony","label":{"Urdu":"منظور کالونی","Roman Urdu":"Manzoor Colony","English":"Manzoor Colony"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"azam_basti","label":{"Urdu":"اعظم بستی","Roman Urdu":"Azam Basti","English":"Azam Basti"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"chanesar_goth","label":{"Urdu":"چنیسر گوٹھ","Roman Urdu":"Chanesar Goth","English":"Chanesar Goth"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"mahmudabad","label":{"Urdu":"محمودآباد","Roman Urdu":"Mahmudabad","English":"Mahmudabad"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"pechs","label":{"Urdu":"پی۔ای۔سی۔ایچ۔ایس","Roman Urdu":"P.E.C.H.S.","English":"P.E.C.H.S."}},{"province":"sindh","city":"karachi","town":"jamshed","name":"pechs_ii","label":{"Urdu":"پی۔ای۔سی۔ایچ۔ایس 2","Roman Urdu":"P.E.C.H.S. II","English":"P.E.C.H.S. II"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"jut_line","label":{"Urdu":"جٹ لائن","Roman Urdu":"Jut Line","English":"Jut Line"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"central_jacob_lines","label":{"Urdu":"سینٹرل جیکب لائن","Roman Urdu":"Central Jacob Lines","English":"Central Jacob Lines"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"jamshed_quarters","label":{"Urdu":"جمشید کوارٹر","Roman Urdu":"Jamshed Quarters","English":"Jamshed Quarters"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"garden_east","label":{"Urdu":"گارڈن ایسٹ","Roman Urdu":"Garden East","English":"Garden East"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"soldier_bazar","label":{"Urdu":"سولجر بازار","Roman Urdu":"Soldier Bazar","English":"Soldier Bazar"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"pakistan_quarters","label":{"Urdu":"پاکستان کوارٹر","Roman Urdu":"Pakistan Quarters","English":"Pakistan Quarters"}},{"province":"sindh","city":"karachi","town":"kiamari","name":"bhutta_village","label":{"Urdu":"بھٹا ولیج","Roman Urdu":"Bhutta Village","English":"Bhutta Village"}},{"province":"sindh","city":"karachi","town":"kiamari","name":"sultanabad","label":{"Urdu":"سلطان آباد","Roman Urdu":"Sultanabad","English":"Sultanabad"}},{"province":"sindh","city":"karachi","town":"kiamari","name":"kiamari_uc","label":{"Urdu":"کیماری یو- سی","Roman Urdu":"Kiamari UC","English":"Kiamari UC"}},{"province":"sindh","city":"karachi","town":"kiamari","name":"baba_bhit","label":{"Urdu":"بابا بھٹ","Roman Urdu":"Baba Bhit","English":"Baba Bhit"}},{"province":"sindh","city":"karachi","town":"kiamari","name":"machar_colony","label":{"Urdu":"مچھر کالونی","Roman Urdu":"Machar Colony","English":"Machar Colony"}},{"province":"sindh","city":"karachi","town":"kiamari","name":"maripur","label":{"Urdu":"ماڑی پور","Roman Urdu":"Maripur","English":"Maripur"}},{"province":"sindh","city":"karachi","town":"kiamari","name":"shershah","label":{"Urdu":"شیرشاہ","Roman Urdu":"SherShah","English":"SherShah"}},{"province":"sindh","city":"karachi","town":"kiamari","name":"gabo_pat","label":{"Urdu":"گابو پٹ","Roman Urdu":"Gabo Pat","English":"Gabo Pat"}},{"province":"sindh","city":"karachi","town":"landhi","name":"muzafarabad","label":{"Urdu":"مظفرآباد","Roman Urdu":"Muzafarabad","English":"Muzafarabad"}},{"province":"sindh","city":"karachi","town":"landhi","name":"muslimabad","label":{"Urdu":"مسلم آباد","Roman Urdu":"Muslimabad","English":"Muslimabad"}},{"province":"sindh","city":"karachi","town":"landhi","name":"dawood_chowrangi","label":{"Urdu":"داوَد چورنگی","Roman Urdu":"Dawood Chowrangi","English":"Dawood Chowrangi"}},{"province":"sindh","city":"karachi","town":"landhi","name":"moinabad","label":{"Urdu":"معین آباد","Roman Urdu":"Moinabad","English":"Moinabad"}},{"province":"sindh","city":"karachi","town":"landhi","name":"sharafi_goth","label":{"Urdu":"شرافی گوٹھ","Roman Urdu":"Sharafi Goth","English":"Sharafi Goth"}},{"province":"sindh","city":"karachi","town":"landhi","name":"bhutto_nagar","label":{"Urdu":"بھٹو نگر","Roman Urdu":"Bhutto Nagar","English":"Bhutto Nagar"}},{"province":"sindh","city":"karachi","town":"landhi","name":"khawaja_ajmeer_colony","label":{"Urdu":"خواجہ اجمیر کالونی","Roman Urdu":"Khawaja Ajmeer Colony","English":"Khawaja Ajmeer Colony"}},{"province":"sindh","city":"karachi","town":"landhi","name":"landhi_uc","label":{"Urdu":"لانڈھی یوسی","Roman Urdu":"Landhi UC","English":"Landhi UC"}},{"province":"sindh","city":"karachi","town":"landhi","name":"awami_colony","label":{"Urdu":"عوامی کالونی","Roman Urdu":"Awami Colony","English":"Awami Colony"}},{"province":"sindh","city":"karachi","town":"landhi","name":"burmee_colony","label":{"Urdu":"برمی کالونی","Roman Urdu":"Burmee Colony","English":"Burmee Colony"}},{"province":"sindh","city":"karachi","town":"landhi","name":"korangi_uc","label":{"Urdu":"کورنگی یوسی","Roman Urdu":"Korangi UC","English":"Korangi UC"}},{"province":"sindh","city":"karachi","town":"landhi","name":"sherabad","label":{"Urdu":"شیرآباد","Roman Urdu":"Sherabad","English":"Sherabad"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"rizvia_society","label":{"Urdu":"رضویہ سوسائٹی","Roman Urdu":"Rizvia Society","English":"Rizvia Society"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"firdous_colony","label":{"Urdu":"فردوس کالونی","Roman Urdu":"Firdous Colony","English":"Firdous Colony"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"super_market","label":{"Urdu":"سپر مارکیٹ","Roman Urdu":"Super Market","English":"Super Market"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"dak_khana","label":{"Urdu":"دک کھانہ","Roman Urdu":"Dak Khana","English":"Dak Khana"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"qasimabad","label":{"Urdu":"قاسم آباد","Roman Urdu":"Qasimabad","English":"Qasimabad"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"bandhani_colony","label":{"Urdu":"بندھانی کالونی","Roman Urdu":"Bandhani Colony","English":"Bandhani Colony"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"sharifabad","label":{"Urdu":"شریف آباد","Roman Urdu":"Sharifabad","English":"Sharifabad"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"commercial_area","label":{"Urdu":"کمرشل ایریا","Roman Urdu":"Commercial Area","English":"Commercial Area"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"mujahid_colony","label":{"Urdu":"مجاہد کالونی","Roman Urdu":"Mujahid Colony","English":"Mujahid Colony"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"nazimabad","label":{"Urdu":"ناظم آباد","Roman Urdu":"Nazimabad","English":"Nazimabad"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"abbasi_shaheed","label":{"Urdu":"عباسی شہید","Roman Urdu":"Abbasi Shaheed","English":"Abbasi Shaheed"}},{"province":"sindh","city":"karachi","town":"lyari","name":"agra_taj_colony","label":{"Urdu":"آگرہ تاج کالونی","Roman Urdu":"Agra Taj Colony","English":"Agra Taj Colony"}},{"province":"sindh","city":"karachi","town":"lyari","name":"daryaabad","label":{"Urdu":"دریاآباد","Roman Urdu":"Daryaabad","English":"Daryaabad"}},{"province":"sindh","city":"karachi","town":"lyari","name":"nawabad","label":{"Urdu":"نواآباد","Roman Urdu":"Nawabad","English":"Nawabad"}},{"province":"sindh","city":"karachi","town":"lyari","name":"khada_memon_society","label":{"Urdu":"خدا- میمن- سوساَٹی","Roman Urdu":"Khada Memon Society","English":"Khada Memon Society"}},{"province":"sindh","city":"karachi","town":"lyari","name":"baghdadi","label":{"Urdu":"بغدادی","Roman Urdu":"Baghdadi","English":"Baghdadi"}},{"province":"sindh","city":"karachi","town":"lyari","name":"shah_baig_line","label":{"Urdu":"شاھ باغ لائن","Roman Urdu":"Shah Baig Line","English":"Shah Baig Line"}},{"province":"sindh","city":"karachi","town":"lyari","name":"bihar_colony","label":{"Urdu":"بہار کالونی","Roman Urdu":"Bihar Colony","English":"Bihar Colony"}},{"province":"sindh","city":"karachi","town":"lyari","name":"ragiwara","label":{"Urdu":"راگی واڑا","Roman Urdu":"Ragiwara","English":"Ragiwara"}},{"province":"sindh","city":"karachi","town":"lyari","name":"singo_line","label":{"Urdu":"سنگولائن","Roman Urdu":"Singo Line","English":"Singo Line"}},{"province":"sindh","city":"karachi","town":"lyari","name":"chakiwara","label":{"Urdu":"چاکی واڑا","Roman Urdu":"Chakiwara","English":"Chakiwara"}},{"province":"sindh","city":"karachi","town":"lyari","name":"allama_iqbal_colony","label":{"Urdu":"علامہ اقبال کالونی","Roman Urdu":"Allama Iqbal Colony","English":"Allama Iqbal Colony"}},{"province":"sindh","city":"karachi","town":"malir","name":"model_colony","label":{"Urdu":"موڈل کالونی","Roman Urdu":"Model Colony","English":"Model Colony"}},{"province":"sindh","city":"karachi","town":"malir","name":"kala_board","label":{"Urdu":"کالا بورڈ","Roman Urdu":"Kala Board","English":"Kala Board"}},{"province":"sindh","city":"karachi","town":"malir","name":"saudabad","label":{"Urdu":"سعودآباد","Roman Urdu":"Saudabad","English":"Saudabad"}},{"province":"sindh","city":"karachi","town":"malir","name":"khokhra_par","label":{"Urdu":"کھوکھرا پار","Roman Urdu":"Khokhra Par","English":"Khokhra Par"}},{"province":"sindh","city":"karachi","town":"malir","name":"jafar_e_tayyar","label":{"Urdu":"جعفر تیار","Roman Urdu":"Jafar-e-Tayyar","English":"Jafar-e-Tayyar"}},{"province":"sindh","city":"karachi","town":"malir","name":"gharibabad","label":{"Urdu":"غریب آباد","Roman Urdu":"Gharibabad","English":"Gharibabad"}},{"province":"sindh","city":"karachi","town":"malir","name":"ghazi_brohi_goth","label":{"Urdu":"غازی بروہی گوٹھ","Roman Urdu":"Ghazi Brohi Goth","English":"Ghazi Brohi Goth"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"kalyana","label":{"Urdu":"کالیانہ","Roman Urdu":"Kalyana","English":"Kalyana"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"sir_syed_colony","label":{"Urdu":"سر سید کالونی","Roman Urdu":"Sir Syed Colony","English":"Sir Syed Colony"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"fatima_jinnah_colony","label":{"Urdu":"فاطمہ جناح کالونی","Roman Urdu":"Fatima Jinnah Colony","English":"Fatima Jinnah Colony"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"godhra","label":{"Urdu":"گودھرا","Roman Urdu":"Godhra","English":"Godhra"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"abu_zar_ghaffari","label":{"Urdu":"ابو زر غفاری","Roman Urdu":"Abu Zar Ghaffari","English":"Abu Zar Ghaffari"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"hakim_ahsan","label":{"Urdu":"حاکم احسان","Roman Urdu":"Hakim Ahsan","English":"Hakim Ahsan"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"madina_colony","label":{"Urdu":"مدینہ کالونی","Roman Urdu":"Madina Colony","English":"Madina Colony"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"faisal_colony","label":{"Urdu":"فیصل کالونی","Roman Urdu":"Faisal Colony","English":"Faisal Colony"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"khamiso_goth","label":{"Urdu":"خمیسو گوٹھ","Roman Urdu":"Khamiso Goth","English":"Khamiso Goth"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"mustufa_colony","label":{"Urdu":"مصطفی کالونی","Roman Urdu":"Mustufa Colony","English":"Mustufa Colony"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"khawaja_ajmeer_nagri","label":{"Urdu":"خواجہ اجمیر نگری","Roman Urdu":"Khawaja Ajmeer Nagri","English":"Khawaja Ajmeer Nagri"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"gulshan_e_saeed","label":{"Urdu":"گلشن سعید","Roman Urdu":"Gulshan-e-Saeed","English":"Gulshan-e-Saeed"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"shah_nawaz_bhutto_colony","label":{"Urdu":"شاہ نواز بھٹو کالونی","Roman Urdu":"Shah Nawaz Bhutto Colony","English":"Shah Nawaz Bhutto Colony"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"paposh_nagar","label":{"Urdu":"پاپوش نگر","Roman Urdu":"Paposh Nagar","English":"Paposh Nagar"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"pahar_ganj","label":{"Urdu":"پہاڑ گنج","Roman Urdu":"Pahar Ganj","English":"Pahar Ganj"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"khandu_goth","label":{"Urdu":"کھنڑو گوٹھ","Roman Urdu":"Khandu Goth","English":"Khandu Goth"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"hyderi","label":{"Urdu":"حیدری","Roman Urdu":"Hyderi","English":"Hyderi"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"sakhi_hassan","label":{"Urdu":"سخی حسن","Roman Urdu":"Sakhi Hassan","English":"Sakhi Hassan"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"farooq_e_azam","label":{"Urdu":"فاروق اعظم","Roman Urdu":"Farooq-e-Azam","English":"Farooq-e-Azam"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"nusrat_bhutto_colony","label":{"Urdu":"نصرت بھٹو کالونی","Roman Urdu":"Nusrat Bhutto Colony","English":"Nusrat Bhutto Colony"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"shadman_town","label":{"Urdu":"شادمان ٹاوَن","Roman Urdu":"Shadman Town","English":"Shadman Town"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"buffer_zone","label":{"Urdu":"بفرزون","Roman Urdu":"Buffer Zone","English":"Buffer Zone"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"buffer_zone_ii","label":{"Urdu":"بفرزون 2","Roman Urdu":"Buffer Zone II","English":"Buffer Zone II"}},{"province":"sindh","city":"karachi","town":"orangi","name":"mominabad","label":{"Urdu":"مومن آباد","Roman Urdu":"Mominabad","English":"Mominabad"}},{"province":"sindh","city":"karachi","town":"orangi","name":"haryana_colony","label":{"Urdu":"حریانہ کالونی","Roman Urdu":"Haryana Colony","English":"Haryana Colony"}},{"province":"sindh","city":"karachi","town":"orangi","name":"hanifabad","label":{"Urdu":"حنیف آباد","Roman Urdu":"Hanifabad","English":"Hanifabad"}},{"province":"sindh","city":"karachi","town":"orangi","name":"mohammad_nagar","label":{"Urdu":"محمد نگر","Roman Urdu":"Mohammad Nagar","English":"Mohammad Nagar"}},{"province":"sindh","city":"karachi","town":"orangi","name":"madina_colony_orangi","label":{"Urdu":"مدینہ کالونی اورنگی","Roman Urdu":"Madina Colony Orangi","English":"Madina Colony Orangi"}},{"province":"sindh","city":"karachi","town":"orangi","name":"ghaziabad","label":{"Urdu":"غازی آباد","Roman Urdu":"Ghaziabad","English":"Ghaziabad"}},{"province":"sindh","city":"karachi","town":"orangi","name":"chisti_nagar","label":{"Urdu":"چشتی نگر","Roman Urdu":"Chisti Nagar","English":"Chisti Nagar"}},{"province":"sindh","city":"karachi","town":"orangi","name":"bilal_colony_orangi","label":{"Urdu":"بلال کالونی اورنگی","Roman Urdu":"Bilal Colony Orangi","English":"Bilal Colony Orangi"}},{"province":"sindh","city":"karachi","town":"orangi","name":"iqbal_baloch_colony","label":{"Urdu":"اقبال بلوچ کالونی","Roman Urdu":"Iqbal Baloch Colony","English":"Iqbal Baloch Colony"}},{"province":"sindh","city":"karachi","town":"orangi","name":"ghabool_town","label":{"Urdu":"گبول ٹاوَن","Roman Urdu":"Ghabool Town","English":"Ghabool Town"}},{"province":"sindh","city":"karachi","town":"orangi","name":"data_nagar","label":{"Urdu":"داتا نگر","Roman Urdu":"Data Nagar","English":"Data Nagar"}},{"province":"sindh","city":"karachi","town":"orangi","name":"mujahidabad","label":{"Urdu":"مجاہد آباد","Roman Urdu":"Mujahidabad","English":"Mujahidabad"}},{"province":"sindh","city":"karachi","town":"orangi","name":"baloch_goth","label":{"Urdu":"بلوچ گوٹھ","Roman Urdu":"Baloch Goth","English":"Baloch Goth"}},{"province":"sindh","city":"karachi","town":"saddar","name":"old_haji_camp","label":{"Urdu":"پرانہ حاجی کیمپ","Roman Urdu":"Old Haji Camp","English":"Old Haji Camp"}},{"province":"sindh","city":"karachi","town":"saddar","name":"garden","label":{"Urdu":"گارڈن","Roman Urdu":"Garden","English":"Garden"}},{"province":"sindh","city":"karachi","town":"saddar","name":"kharadar","label":{"Urdu":"کھارادر","Roman Urdu":"Kharadar","English":"Kharadar"}},{"province":"sindh","city":"karachi","town":"saddar","name":"city_railway_colony","label":{"Urdu":"سٹی ریلوے کالونی","Roman Urdu":"City Railway Colony","English":"City Railway Colony"}},{"province":"sindh","city":"karachi","town":"saddar","name":"nanak_wara","label":{"Urdu":"ناناک واڑا","Roman Urdu":"Nanak Wara","English":"Nanak Wara"}},{"province":"sindh","city":"karachi","town":"saddar","name":"gazdarabad","label":{"Urdu":"گزدرآباد","Roman Urdu":"Gazdarabad","English":"Gazdarabad"}},{"province":"sindh","city":"karachi","town":"saddar","name":"millat_nagar_islam_pura","label":{"Urdu":"ملت نگر اسلام پورا","Roman Urdu":"Millat Nagar/Islam Pura","English":"Millat Nagar/Islam Pura"}},{"province":"sindh","city":"karachi","town":"saddar","name":"saddar_uc","label":{"Urdu":"صدر یو سی","Roman Urdu":"Saddar UC","English":"Saddar UC"}},{"province":"sindh","city":"karachi","town":"saddar","name":"civil_line","label":{"Urdu":"سول لائن","Roman Urdu":"Civil Line","English":"Civil Line"}},{"province":"sindh","city":"karachi","town":"saddar","name":"clifton","label":{"Urdu":"کلفٹن","Roman Urdu":"Clifton","English":"Clifton"}},{"province":"sindh","city":"karachi","town":"saddar","name":"kehkashan","label":{"Urdu":"کہکشان","Roman Urdu":"Kehkashan","English":"Kehkashan"}},{"province":"sindh","city":"karachi","town":"shah_faisal","name":"natha_khan_goth","label":{"Urdu":"ناتھا خان گوٹھ","Roman Urdu":"Natha Khan Goth","English":"Natha Khan Goth"}},{"province":"sindh","city":"karachi","town":"shah_faisal","name":"pak_sadat_colony","label":{"Urdu":"پاک صدر کالونی","Roman Urdu":"Pak Sadat Colony","English":"Pak Sadat Colony"}},{"province":"sindh","city":"karachi","town":"shah_faisal","name":"drigh_colony","label":{"Urdu":"ڈرگ کالونی","Roman Urdu":"Drigh Colony","English":"Drigh Colony"}},{"province":"sindh","city":"karachi","town":"shah_faisal","name":"raita_plot","label":{"Urdu":"رائتا پلاٹ","Roman Urdu":"Raita Plot","English":"Raita Plot"}},{"province":"sindh","city":"karachi","town":"shah_faisal","name":"moria_khan_goth","label":{"Urdu":"موریا خان گوٹھ","Roman Urdu":"Moria Khan Goth","English":"Moria Khan Goth"}},{"province":"sindh","city":"karachi","town":"shah_faisal","name":"rafa_e_aam_society","label":{"Urdu":"رفا عام سوسا ئٹی","Roman Urdu":"Rafa-e-Aam Society","English":"Rafa-e-Aam Society"}},{"province":"sindh","city":"karachi","town":"shah_faisal","name":"al_falah_society","label":{"Urdu":"الفلاح سوسا ئٹی","Roman Urdu":"Al-Falah Society","English":"Al-Falah Society"}},{"province":"sindh","city":"karachi","town":"site","name":"pak_colony","label":{"Urdu":"پاک کالونی","Roman Urdu":"Pak Colony","English":"Pak Colony"}},{"province":"sindh","city":"karachi","town":"site","name":"old_golimar","label":{"Urdu":"پرانہ گولی مار","Roman Urdu":"Old Golimar","English":"Old Golimar"}},{"province":"sindh","city":"karachi","town":"site","name":"jahanabad","label":{"Urdu":"جہان آباد","Roman Urdu":"Jahanabad","English":"Jahanabad"}},{"province":"sindh","city":"karachi","town":"site","name":"metrovil","label":{"Urdu":"میٹروویل","Roman Urdu":"Metrovil","English":"Metrovil"}},{"province":"sindh","city":"karachi","town":"site","name":"bhawani_chali","label":{"Urdu":"بہوانی چالی","Roman Urdu":"Bhawani Chali","English":"Bhawani Chali"}},{"province":"sindh","city":"karachi","town":"site","name":"frontier_colony","label":{"Urdu":"فرونٹر کالونی","Roman Urdu":"Frontier Colony","English":"Frontier Colony"}},{"province":"sindh","city":"karachi","town":"site","name":"banaras_colony","label":{"Urdu":"بنارس کالونی","Roman Urdu":"Banaras Colony","English":"Banaras Colony"}},{"province":"sindh","city":"karachi","town":"site","name":"qasba_colony","label":{"Urdu":"قصبہ کالونی","Roman Urdu":"Qasba Colony","English":"Qasba Colony"}},{"province":"sindh","city":"karachi","town":"site","name":"islamia_colony","label":{"Urdu":"اسلامیہ کالونی","Roman Urdu":"Islamia Colony","English":"Islamia Colony"}},{"province":"na","city":"na","town":"na","name":"other","label":{"Urdu":"دیگر","Roman Urdu":"Deegar","English":"Other"}},{"province":"na","city":"na","town":"na","name":"not_applicable","label":{"Urdu":"قابل اطلاق نہیں","Roman Urdu":"Qaabil-e-atlaaq nahi","English":"Not Applicable"}}],"gender":[{"instance":{"openmrs_code":"1534AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"male","label":{"Urdu":"مرد/ لڑکا","Roman Urdu":"Mard/larka","English":"Male"}},{"instance":{"openmrs_code":"1535AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"female","label":{"Urdu":"عورت/لڑکی","Roman Urdu":"Aurat/larki","English":"Female"}},{"instance":{"openmrs_code":"163163AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"transgender","label":{"Urdu":"خواجہ سرہ","Roman Urdu":"Khwaja sira","English":"Transgender"}}],"vaccines":[{"instance":{"openmrs_code":"1570AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"bcg","label":{"Urdu":"بی سی جی","Roman Urdu":"BCG","English":"BCG"}},{"instance":{"openmrs_code":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"opv0","label":{"Urdu":"او پی وی 0","Roman Urdu":"OPV 0","English":"OPV 0"}},{"instance":{"openmrs_code":"162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"pcv1","label":{"Urdu":"پی سی وی 1","Roman Urdu":"PCV 1","English":"PCV 1"}},{"instance":{"openmrs_code":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"opv1","label":{"Urdu":"او پی وی 1","Roman Urdu":"OPV 1","English":"OPV 1"}},{"instance":{"openmrs_code":"162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"penta1","label":{"Urdu":"پینٹا ویلنٹ 1","Roman Urdu":"Pentavalent 1","English":"Pentavalent 1"}},{"instance":{"openmrs_code":"162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"pcv2","label":{"Urdu":"پی سی وی 2","Roman Urdu":"PCV 2","English":"PCV 2"}},{"instance":{"openmrs_code":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"opv2","label":{"Urdu":"او پی وی 2","Roman Urdu":"OPV 2","English":"OPV 2"}},{"instance":{"openmrs_code":"162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"penta2","label":{"Urdu":"پینٹا ویلنٹ 2","Roman Urdu":"Pentavalent 2","English":"Pentavalent 2"}},{"instance":{"openmrs_code":"162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"pcv3","label":{"Urdu":"پی سی وی 3","Roman Urdu":"PCV 3","English":"PCV 3"}},{"instance":{"openmrs_code":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"opv3","label":{"Urdu":"او پی وی 3","Roman Urdu":"OPV 3","English":"OPV 3"}},{"instance":{"openmrs_code":"162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"penta3","label":{"Urdu":"پینٹا ویلنٹ 3","Roman Urdu":"Pentavalent 3","English":"Pentavalent 3"}},{"instance":{"openmrs_code":"82242AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"ipv","label":{"Urdu":"آئی پی وی","Roman Urdu":"IPV","English":"IPV"}},{"instance":{"openmrs_code":"79409AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"measles1","label":{"Urdu":"خسرہ 1","Roman Urdu":"Khasra 1","English":"Measles 1"}},{"instance":{"openmrs_code":"79409AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"measles2","label":{"Urdu":"خسرہ 2","Roman Urdu":"Khasra 2","English":"Measles 2"}}],"towns":[{"province":"sindh","city":"karachi","name":"korangi","label":{"Urdu":"کورنگی","Roman Urdu":"Korangi","English":"Korangi"}},{"province":"sindh","city":"karachi","name":"landhi","label":{"Urdu":"لانڈھی","Roman Urdu":"Landhi","English":"Landhi"}},{"province":"sindh","city":"karachi","name":"baldia","label":{"Urdu":"بلدیہ","Roman Urdu":"Baldia","English":"Baldia"}},{"province":"sindh","city":"karachi","name":"bin_qasim","label":{"Urdu":"بن قاسم","Roman Urdu":"Bin Qasim","English":"Bin Qasim"}},{"province":"sindh","city":"karachi","name":"gadap","label":{"Urdu":"گڈاپ","Roman Urdu":"Gadap","English":"Gadap"}},{"province":"sindh","city":"karachi","name":"gulberg","label":{"Urdu":"گلبرگ","Roman Urdu":"Gulberg","English":"Gulberg"}},{"province":"sindh","city":"karachi","name":"gulshan","label":{"Urdu":"گلشن","Roman Urdu":"Gulshan","English":"Gulshan"}},{"province":"sindh","city":"karachi","name":"jamshed","label":{"Urdu":"جمشید","Roman Urdu":"Jamshed","English":"Jamshed"}},{"province":"sindh","city":"karachi","name":"kiamari","label":{"Urdu":"کیماری","Roman Urdu":"Kiamari","English":"Kiamari"}},{"province":"sindh","city":"karachi","name":"liaquatabad","label":{"Urdu":"لیاقت آباد","Roman Urdu":"Liaquatabad","English":"Liaquatabad"}},{"province":"sindh","city":"karachi","name":"lyari","label":{"Urdu":"لیاری","Roman Urdu":"Lyari","English":"Lyari"}},{"province":"sindh","city":"karachi","name":"malir","label":{"Urdu":"ملیر","Roman Urdu":"Malir","English":"Malir"}},{"province":"sindh","city":"karachi","name":"new_karachi","label":{"Urdu":"نیو کراچی","Roman Urdu":"New Karachi","English":"New Karachi"}},{"province":"sindh","city":"karachi","name":"north_nazimabad","label":{"Urdu":"نارتھ ناظم آباد","Roman Urdu":"North Nazimabad","English":"North Nazimabad"}},{"province":"sindh","city":"karachi","name":"orangi","label":{"Urdu":"اورنگی","Roman Urdu":"Orangi","English":"Orangi"}},{"province":"sindh","city":"karachi","name":"saddar","label":{"Urdu":"صدر","Roman Urdu":"Saddar","English":"Saddar"}},{"province":"sindh","city":"karachi","name":"shah_faisal","label":{"Urdu":"شاہ فیصل","Roman Urdu":"Shah Faisal","English":"Shah Faisal"}},{"province":"sindh","city":"karachi","name":"site","label":{"Urdu":"سائٹ","Roman Urdu":"S.I.T.E.","English":"S.I.T.E."}},{"province":"na","city":"na","name":"other","label":{"Urdu":"دیگر","Roman Urdu":"Deegar","English":"Other"}},{"province":"na","city":"na","name":"not_applicable","label":{"Urdu":"قابل اطلاق نہیں","Roman Urdu":"Qaabil-e-atlaaq nahi","English":"Not Applicable"}}],"cities":[{"province":"sindh","name":"karachi","label":{"Urdu":"کراچی","Roman Urdu":"Karachi","English":"Karachi"}},{"province":"punjab","name":"hafizabad","label":{"Urdu":"حافظ آباد","Roman Urdu":"Hafizabad","English":"Hafizabad"}},{"province":"punjab","name":"muzaffargarh","label":{"Urdu":"مظفر گڑھ","Roman Urdu":"Muzaffargarh","English":"Muzaffargarh"}},{"province":"na","name":"other","label":{"Urdu":"دیگر","Roman Urdu":"Deegar","English":"Other"}},{"province":"na","name":"not_applicable","label":{"Urdu":"قابل اطلاق نہیں","Roman Urdu":"Not Applicable","English":"Not Applicable"}}],"ethnicity":[{"instance":{"openmrs_code":"163215AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"punjabi","label":{"Urdu":"پنجابی","Roman Urdu":"Punjabi","English":"Punjabi"}},{"instance":{"openmrs_code":"163216AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"pushtuns","label":{"Urdu":"پشتون","Roman Urdu":"Pushtun","English":"Pushtun"}},{"instance":{"openmrs_code":"163217AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"sindhi","label":{"Urdu":"سندھی","Roman Urdu":"Sindhi","English":"Sindhi"}},{"instance":{"openmrs_code":"163218AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"saraiki","label":{"Urdu":"سرائیکی","Roman Urdu":"Saraiki","English":"Saraiki"}},{"instance":{"openmrs_code":"163219AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"muhajir","label":{"Urdu":"مہاجر","Roman Urdu":"Muhajir","English":"Muhajir"}},{"instance":{"openmrs_code":"163220AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"balochi","label":{"Urdu":"بلوچی","Roman Urdu":"Balochi","English":"Balochi"}},{"instance":{"openmrs_code":"5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"other","label":{"Urdu":"دیگر","Roman Urdu":"Deegar","English":"Other"}}],"yes_no":[{"instance":{"openmrs_code":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"yes","label":{"Urdu":"ہاں","Roman Urdu":"Yes","English":"Yes"}},{"instance":{"openmrs_code":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"no","label":{"Urdu":"نہیں","Roman Urdu":"No","English":"No"}}]},"instance":{"encounter_type":"Child Vaccination Enrollment"},"version":"201604080617","id_string":"child_vaccination_enrollment","type":"survey","children":[{"type":"hidden","name":"provider_uc"},{"type":"hidden","name":"provider_town"},{"type":"hidden","name":"provider_city"},{"type":"hidden","name":"provider_province"},{"type":"hidden","name":"provider_id"},{"instance":{"openmrs_entity_id":"location_id","openmrs_entity":"encounter"},"type":"hidden","name":"provider_location_id"},{"instance":{"openmrs_entity_id":"Program Client ID","openmrs_entity":"person_identifier"},"type":"hidden","name":"existing_program_client_id"},{"type":"hidden","name":"provider_location_name"},{"type":"note","name":"provider_location_note","label":{"Urdu":"شہر: ${provider_city} ; ٹائون: ${provider_town} ; یوسی: ${provider_uc} ; سینٹرکا نام: ${provider_location_name}","English":"City: ${provider_city} ; Town: ${provider_town} ; UC: ${provider_uc} ; Center Name: ${provider_location_name}","Roman Urdu":"Shehr: ${provider_city} ; Town: ${provider_town} ; UC: ${provider_uc} ; Center ka naam: ${provider_location_name}"}},{"instance":{"openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"start","name":"start"},{"instance":{"openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"end","name":"end"},{"instance":{"openmrs_entity_id":"163286AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"today","name":"today"},{"instance":{"openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"deviceid","name":"deviceid"},{"instance":{"openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"subscriberid","name":"subscriberid"},{"instance":{"openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"simserial","name":"simserial"},{"instance":{"openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"phonenumber","name":"phonenumber"},{"name":"client_reg_date","hint":{"Urdu":"بچے کو ویکسین لگنے کی تاریخ","English":"Date on which child was vaccinated","Roman Urdu":"Bachay ko vaccine lagnay ki tareekh"},"bind":{"jr:constraintMsg":{"Urdu":"بچے کی پروگرام میں اندراج کی تاریخ مستقبل کی نہیں ہوسکتی","English":"Child registration date cannot be in the future","Roman Urdu":"Bachay ki program mai andraaj ki tareekh mustaqbil ki nahi hosakti"},"required":"yes","constraint":".<=${today}"},"label":{"Urdu":"بچے کی پروگرام میں اندراج کی تاریخ","English":"Child Registration date","Roman Urdu":"Bachay ki Program mai andraj ki tareekh"},"instance":{"openmrs_entity_id":"encounter_date","openmrs_entity":"encounter"},"type":"date"},{"bind":{"required":"yes"},"type":"note","name":"program_client_id","label":{"Urdu":"کلائنٹ کی پروگرام آئی ڈی {existing_program_client_id}$","Roman Urdu":"Client ki program ID ${existing_program_client_id}","English":"Program Client ID ${existing_program_client_id}"}},{"bind":{"jr:constraintMsg":{"Urdu":"نمبر آٹھ ہندسوں پر مشتمل ہونا چاہئے","English":"Number should be 8 digits","Roman Urdu":"Number 8 hindason par mushtamil hona chahiye"},"required":"yes","constraint":"string-length(.) = 8"},"type":"integer","instance":{"openmrs_entity_id":"EPI Card Number","openmrs_entity":"person_attribute"},"name":"epi_card_number","label":{"Urdu":"کارڈ نمبر","English":"EPI Card Number","Roman Urdu":"EPI Card Number"}},{"bind":{"jr:constraintMsg":{"Urdu":"نام تین سے پچیس حروف پر مشتمل ہونا چاہئے","English":"Name should be 3 to 25 characters long","Roman Urdu":"Naam 3 say 25 huroof par mushtamil hona chahiye"},"required":"yes","constraint":"regex(., '^[a-zA-Z\\s\\.\\-]{3,25}$')"},"type":"text","instance":{"openmrs_entity_id":"first_name","openmrs_entity":"person"},"name":"first_name","label":{"Urdu":"نام","English":"First Name","Roman Urdu":"Naam"}},{"bind":{"jr:constraintMsg":{"Urdu":"نام تین سے پچیس حروف پر مشتمل ہونا چاہئے","English":"Name should be 3 to 25 characters long","Roman Urdu":"Naam 3 say 25 huroof par mushtamil hona chahiye"},"required":"yes","constraint":"regex(., '^[a-zA-Z\\s\\.\\-]{3,25}$')"},"type":"text","instance":{"openmrs_entity_id":"last_name","openmrs_entity":"person"},"name":"last_name","label":{"Urdu":"والد کا نام","English":"Last name","Roman Urdu":"Waalid ka naam"}},{"default":"yes","label":{"Urdu":"کیا تاریخ پیدائش معلوم ہے؟","Roman Urdu":"Kya tareekh-e-pedaaish maloom hai?","English":"Is birthdate known?"},"type":"select one","children":[{"instance":{"openmrs_code":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"yes","label":{"Urdu":"ہاں","Roman Urdu":"Yes","English":"Yes"}},{"instance":{"openmrs_code":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"no","label":{"Urdu":"نہیں","Roman Urdu":"No","English":"No"}}],"name":"member_birth_date_known"},{"bind":{"jr:constraintMsg":{"Urdu":"یہ تاریخ مستقبل کی نہیں ہو سکتی۔\nاندراج کے لیے بچے کی عمر پانچ سال سے کم ہونی چاہئے۔","Roman Urdu":"Ye tareekh mustaqbil ki nahi ho sakti.\nAndraaj ke liye bachay ki umar paanch saal se kam honi chahiye.","English":"This cannot be a date in the future.\nChild's age must be less than five years for enrollment."},"relevant":"selected(${member_birth_date_known}, 'yes')","constraint":".<=${today} and (int((${today} - ${member_birth_date}) div 365) < 5)"},"type":"date","name":"member_birth_date","label":{"Urdu":"تاریخ پیدائش","Roman Urdu":"Tareekh-e-pedaaish","English":"Birth date"}},{"bind":{"jr:constraintMsg":{"Urdu":"اندراج کے لیے بچے کی عمر پانچ سال سے کم ہونی چاہئے","Roman Urdu":"Andraaj ke liye bachay ki umar paanch saal se kam honi chahiye","English":"Child's age must be less than five years for enrollment"},"relevant":"selected(${member_birth_date_known}, 'no')","constraint":".<=60"},"type":"integer","name":"age","label":{"Urdu":"عمر (مہینوں میں)","Roman Urdu":"Umar (mahinon main)","English":"Age (months)"}},{"bind":{"calculate":"int((${today} - ${member_birth_date}) div 30.44)"},"type":"calculate","name":"calc_age"},{"bind":{"calculate":"date(${today} - int(${age} * 30.44))"},"type":"calculate","name":"calc_dob"},{"bind":{"calculate":"if(${member_birth_date_known}='yes', ${member_birth_date}, ${calc_dob})"},"type":"calculate","name":"calc_dob_confirm","instance":{"openmrs_entity_id":"birthdate","openmrs_entity":"person"}},{"bind":{"calculate":"if(${member_birth_date_known} = 'yes', '0', '1')"},"type":"calculate","name":"calc_dob_estimated","instance":{"openmrs_entity_id":"birthdate_estimated","openmrs_entity":"person"}},{"bind":{"calculate":"if(${member_birth_date_known}='yes', ${calc_age}, ${age})"},"type":"calculate","name":"calc_age_confirm","instance":{"openmrs_entity_id":"154384AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"}},{"type":"note","name":"member_birth_date_note","label":{"Urdu":"کلائنٹ کی تاریخ پیدائش:${calc_dob_confirm}","English":"Member Date of Birth: ${calc_dob_confirm}","Roman Urdu":"Member ki Tareekh-e-pedaaish: ${calc_dob_confirm}"}},{"type":"note","name":"note_age","label":{"Urdu":"عمر :{calc_age_confirm}$ مہینے","English":"Age: ${calc_age_confirm} months","Roman Urdu":"Umar: ${calc_age_confirm} mahinay"}},{"control":{"appearance":"minimal"},"name":"gender","bind":{"required":"yes"},"label":{"Urdu":"جنس","English":"Gender","Roman Urdu":"Jins"},"instance":{"openmrs_entity_id":"gender","openmrs_entity":"person"},"type":"select one","children":[{"instance":{"openmrs_code":"1534AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"male","label":{"Urdu":"مرد/ لڑکا","Roman Urdu":"Mard/larka","English":"Male"}},{"instance":{"openmrs_code":"1535AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"female","label":{"Urdu":"عورت/لڑکی","Roman Urdu":"Aurat/larki","English":"Female"}},{"instance":{"openmrs_code":"163163AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"transgender","label":{"Urdu":"خواجہ سرہ","Roman Urdu":"Khwaja sira","English":"Transgender"}}]},{"bind":{"jr:constraintMsg":{"Urdu":"نام تین سے پچیس حروف پر مشتمل ہونا چاہئے","English":"Name should be 3 to 25 characters long","Roman Urdu":"Naam 3 say 25 huroof par mushtamil hona chahiye"},"constraint":"regex(., '^[a-zA-Z\\s\\.\\-]{3,25}$')"},"type":"text","instance":{"openmrs_entity_id":"1593AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"name":"mother_name","label":{"Urdu":"والدہ کا نام","English":"Mother's Name","Roman Urdu":"Waaldah ka naam"}},{"control":{"appearance":"minimal"},"name":"ethnicity","bind":{"required":"yes"},"label":{"Urdu":"قومیت","English":"Ethnicity","Roman Urdu":"Qomiat"},"instance":{"openmrs_entity_id":"163153AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"select one","children":[{"instance":{"openmrs_code":"163215AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"punjabi","label":{"Urdu":"پنجابی","Roman Urdu":"Punjabi","English":"Punjabi"}},{"instance":{"openmrs_code":"163216AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"pushtuns","label":{"Urdu":"پشتون","Roman Urdu":"Pushtun","English":"Pushtun"}},{"instance":{"openmrs_code":"163217AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"sindhi","label":{"Urdu":"سندھی","Roman Urdu":"Sindhi","English":"Sindhi"}},{"instance":{"openmrs_code":"163218AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"saraiki","label":{"Urdu":"سرائیکی","Roman Urdu":"Saraiki","English":"Saraiki"}},{"instance":{"openmrs_code":"163219AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"muhajir","label":{"Urdu":"مہاجر","Roman Urdu":"Muhajir","English":"Muhajir"}},{"instance":{"openmrs_code":"163220AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"balochi","label":{"Urdu":"بلوچی","Roman Urdu":"Balochi","English":"Balochi"}},{"instance":{"openmrs_code":"5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"other","label":{"Urdu":"دیگر","Roman Urdu":"Deegar","English":"Other"}}]},{"bind":{"relevant":"selected(${ethnicity}, 'other')"},"type":"text","instance":{"openmrs_entity":"concept","openmrs_entity_id":"160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"163330AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"ethnicity_other","label":{"Urdu":"وضاحت کریں","Roman Urdu":"Wazaahat karain","English":"Please specify:"}},{"control":{"appearance":"minimal"},"name":"province","default":"${provider_province}","bind":{"required":"yes"},"label":{"Urdu":"صوبہ","Roman Urdu":"Suba","English":"Province"},"instance":{"openmrs_entity":"person_address","openmrs_entity_id":"stateProvince","openmrs_entity_parent":"usual_residence"},"type":"select one","children":[{"name":"kpk","label":{"Urdu":"خیبر پختون خواہ","English":"Khyber Pakhtunkhwa","Roman Urdu":"Khyber Pakhtunkhwa"}},{"name":"sindh","label":{"Urdu":"سندھ","English":"Sindh","Roman Urdu":"Sindh"}},{"name":"balochistan","label":{"Urdu":"بلوچستان","English":"Balochistan","Roman Urdu":"Balochistan"}},{"name":"punjab","label":{"Urdu":"پنجاب","English":"Punjab","Roman Urdu":"Punjab"}},{"name":"gilgit_baltistan","label":{"Urdu":"گلگت بلتستان","English":"Gilgit Baltistan","Roman Urdu":"Gilgit Baltistan"}},{"name":"kashmir","label":{"Urdu":"کشمیر","English":"Kashmir","Roman Urdu":"Kashmir"}},{"name":"fata","label":{"Urdu":"فاٹا","English":"FATA","Roman Urdu":"FATA"}},{"name":"out_of_country","label":{"Urdu":"ملک سے باہر","English":"Out of Country","Roman Urdu":"Mulk se baahir"}}]},{"control":{"appearance":"minimal"},"name":"city_village","choice_filter":"province=${province} or province='na'","default":"${provider_city}","bind":{"required":"yes"},"label":{"Urdu":"شہر","Roman Urdu":"Shehr","English":"City"},"itemset":"cities","instance":{"openmrs_entity":"person_address","openmrs_entity_id":"cityVillage","openmrs_entity_parent":"usual_residence"},"type":"select one"},{"control":{"appearance":"minimal"},"name":"town","choice_filter":"(province=${province} and city=${city_village} ) or city='na'","bind":{"required":"yes"},"label":{"Urdu":"ٹاٰئون/ قصبہ/ بستی","Roman Urdu":"Town / Qasbah / Basti","English":"Town"},"itemset":"towns","instance":{"openmrs_entity":"person_address","openmrs_entity_id":"town","openmrs_entity_parent":"usual_residence"},"type":"select one"},{"control":{"appearance":"minimal"},"name":"union_council","choice_filter":"(province=${province} and city=${city_village} and town=${town}) or town='na'","bind":{"required":"yes"},"label":{"Urdu":"یونین کونسل","Roman Urdu":"Union Council","English":"Union Council"},"itemset":"ucs","instance":{"openmrs_entity":"person_address","openmrs_entity_id":"subTown","openmrs_entity_parent":"usual_residence"},"type":"select one"},{"bind":{"required":"yes"},"type":"text","instance":{"openmrs_entity":"person_address","openmrs_entity_id":"house","openmrs_entity_parent":"usual_residence"},"name":"house_number","label":{"Urdu":"گھر کا نمبر","Roman Urdu":"Ghar ka number","English":"House Number"}},{"bind":{"required":"yes"},"type":"text","instance":{"openmrs_entity":"person_address","openmrs_entity_id":"street","openmrs_entity_parent":"usual_residence"},"name":"street","label":{"Urdu":"گلی/کالونی/محلہ","Roman Urdu":"Gali/Colony/Mohalla","English":"Street"}},{"bind":{"required":"yes"},"type":"text","instance":{"openmrs_entity":"person_address","openmrs_entity_id":"landmark","openmrs_entity_parent":"usual_residence"},"name":"landmark","label":{"Urdu":"گھر کے قریب کوئی مشہور جگہ","Roman Urdu":"Ghar ke qareeb koi mashoor jagah","English":"Land Mark"}},{"bind":{"calculate":"jr:choice-name(${province}, '${province}')"},"type":"calculate","name":"provincename"},{"bind":{"calculate":"jr:choice-name(${city_village}, '${city_village}')"},"type":"calculate","name":"city_villagename"},{"bind":{"calculate":"jr:choice-name(${town}, '${town}')"},"type":"calculate","name":"townname"},{"bind":{"calculate":"jr:choice-name(${union_council}, '${union_council}')"},"type":"calculate","name":"union_councilname"},{"type":"note","name":"address","label":{"Urdu":"پتہ: ${house_number}, ${street}, ${landmark}, ${union_councilname}, ${townname}, ${city_villagename}, ${provincename}","English":"Address: ${house_number}, ${street}, ${landmark}, ${union_councilname}, ${townname}, ${city_villagename}, ${provincename}","Roman Urdu":"Pata: ${house_number}, ${street}, ${landmark}, ${union_councilname}, ${townname}, ${city_villagename}, ${provincename}"}},{"instance":{"openmrs_entity_id":"163277AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"geopoint","name":"centre_gps","label":{"Urdu":"حاصل کردہ معلومات کی جگہ کے GPS کارڈینیٹس درج کریں","English":"Collect GPS coordinates of data entry location","Roman Urdu":"Hasil karda malomaat ki jaga ke GPS coordinates darj karain"}},{"control":{"appearance":"minimal"},"name":"child_was_suffering_from_a_disease_at_birth","bind":{"required":"yes"},"label":{"Urdu":"کیا بچہ پیدائش کے وقت کسی مرض میں مبتلا تھا؟","English":"Was the child suffering from a disease at birth?","Roman Urdu":"Kya bacha pedaaish ke waqt kissi marz mai mubtila tha?"},"instance":{"openmrs_entity_id":"159926AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"select one","children":[{"instance":{"openmrs_code":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"yes","label":{"Urdu":"ہاں","Roman Urdu":"Yes","English":"Yes"}},{"instance":{"openmrs_code":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"no","label":{"Urdu":"نہیں","Roman Urdu":"No","English":"No"}}]},{"name":"reminders_approval","bind":{"required":"yes"},"label":{"Urdu":"کیا آپ اپنے بچے کی اگلی ویکسین کی تاریخ کے لیے SMS موصول کرنا چاہتے ہیں؟","English":"Are you willing to receive SMS reminders for your next visit?","Roman Urdu":"Kya aap apnay bachay ki agli vaccine ki tareekh ke liye SMS mausool karna chahtay hain?"},"instance":{"openmrs_entity_id":"163089AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"select one","children":[{"instance":{"openmrs_code":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"yes","label":{"Urdu":"ہاں","Roman Urdu":"Yes","English":"Yes"}},{"instance":{"openmrs_code":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"no","label":{"Urdu":"نہیں","Roman Urdu":"No","English":"No"}}]},{"bind":{"jr:constraintMsg":{"Urdu":"فون نمبر گیارہ ہندسوں پر مشتمل اور مندرجہ ذیل شکل میں ہونا چاہئے: *********03","English":"Phone number should be 11 digits in the following format: 03*********","Roman Urdu":"Phone number 11 hindason par mushtamil aur mundarja zail shakal main hona chahiey: 03*********"},"relevant":"${reminders_approval}='yes'","constraint":"regex(., '^03[0-9]{9}$')"},"type":"text","instance":{"openmrs_entity_id":"159635AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"name":"contact_phone_number","label":{"Urdu":"موبائل نمبر:","English":"Mobile Number:","Roman Urdu":"Mobile number:"}},{"bind":{"calculate":"${calc_dob_confirm} + 42"},"type":"calculate","name":"six_weeks"},{"bind":{"calculate":"${calc_dob_confirm} + 70"},"type":"calculate","name":"ten_weeks"},{"bind":{"calculate":"${calc_dob_confirm} + 98"},"type":"calculate","name":"forteen_weeks"},{"bind":{"calculate":"${calc_dob_confirm} + 245"},"type":"calculate","name":"nine_months"},{"bind":{"calculate":"${calc_dob_confirm} + 458"},"type":"calculate","name":"fifteen_months"},{"control":{"appearance":"minimal"},"name":"vaccines","label":{"Urdu":"پچھلی تاریخ جب کسی اور سینٹر پر ٹیکے لگواِے گیے یا قطرے پلائے گئے","Roman Urdu":"Pichli tareekh jab kissi aur center par teekay lagwaye gaye ya katray pilaey gaye","English":"Retro vaccines"},"instance":{"openmrs_entity":"concept","openmrs_entity_id":"984AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"1421AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"type":"select all that apply","children":[{"instance":{"openmrs_code":"1570AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"bcg","label":{"Urdu":"بی سی جی","Roman Urdu":"BCG","English":"BCG"}},{"instance":{"openmrs_code":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"opv0","label":{"Urdu":"او پی وی 0","Roman Urdu":"OPV 0","English":"OPV 0"}},{"instance":{"openmrs_code":"162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"pcv1","label":{"Urdu":"پی سی وی 1","Roman Urdu":"PCV 1","English":"PCV 1"}},{"instance":{"openmrs_code":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"opv1","label":{"Urdu":"او پی وی 1","Roman Urdu":"OPV 1","English":"OPV 1"}},{"instance":{"openmrs_code":"162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"penta1","label":{"Urdu":"پینٹا ویلنٹ 1","Roman Urdu":"Pentavalent 1","English":"Pentavalent 1"}},{"instance":{"openmrs_code":"162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"pcv2","label":{"Urdu":"پی سی وی 2","Roman Urdu":"PCV 2","English":"PCV 2"}},{"instance":{"openmrs_code":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"opv2","label":{"Urdu":"او پی وی 2","Roman Urdu":"OPV 2","English":"OPV 2"}},{"instance":{"openmrs_code":"162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"penta2","label":{"Urdu":"پینٹا ویلنٹ 2","Roman Urdu":"Pentavalent 2","English":"Pentavalent 2"}},{"instance":{"openmrs_code":"162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"pcv3","label":{"Urdu":"پی سی وی 3","Roman Urdu":"PCV 3","English":"PCV 3"}},{"instance":{"openmrs_code":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"opv3","label":{"Urdu":"او پی وی 3","Roman Urdu":"OPV 3","English":"OPV 3"}},{"instance":{"openmrs_code":"162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"penta3","label":{"Urdu":"پینٹا ویلنٹ 3","Roman Urdu":"Pentavalent 3","English":"Pentavalent 3"}},{"instance":{"openmrs_code":"82242AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"ipv","label":{"Urdu":"آئی پی وی","Roman Urdu":"IPV","English":"IPV"}},{"instance":{"openmrs_code":"79409AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"measles1","label":{"Urdu":"خسرہ 1","Roman Urdu":"Khasra 1","English":"Measles 1"}},{"instance":{"openmrs_code":"79409AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"measles2","label":{"Urdu":"خسرہ 2","Roman Urdu":"Khasra 2","English":"Measles 2"}}]},{"bind":{"relevant":"${vaccines} != ''"},"type":"group","children":[{"bind":{"jr:constraintMsg":{"Urdu":"حفاظتی ٹیکا ملنے کی تاریخ، بچے کی تاریخ پیدائش کے بعد اور آج کی تاریخ سے پہلے کی ہونی چاہیے","English":"The date of vaccination must be greater than the child's birthdate and less than today.","Roman Urdu":"Hifaazati teeka milnay ki tareekh, bachay ki tareekh-e-pedaaish ke baad aur aaj ki tareekh se phlay ki honi chahiye."},"relevant":"selected(${vaccines}, 'bcg')","constraint":".>= ${calc_dob_confirm} and .<=${today}"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"886AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"bcg_retro","label":{"Urdu":"بی سی جی","Roman Urdu":"BCG","English":"BCG"}},{"bind":{"jr:constraintMsg":{"Urdu":"حفاظتی ٹیکا ملنے کی تاریخ، بچے کی تاریخ پیدائش کے بعد اور آج کی تاریخ سے پہلے کی ہونی چاہیے","English":"The date of vaccination must be greater than the child's birthdate and less than today.","Roman Urdu":"Hifaazati teeka milnay ki tareekh, bachay ki tareekh-e-pedaaish ke baad aur aaj ki tareekh se phlay ki honi chahiye."},"relevant":"selected(${vaccines}, 'opv0')","constraint":".>= ${calc_dob_confirm} and .<=${today}"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"opv0_retro","label":{"Urdu":"او پی وی 0","Roman Urdu":"OPV 0","English":"OPV 0"}},{"bind":{"relevant":"selected(${vaccines}, 'opv0')","calculate":"0"},"type":"calculate","name":"opv0_dose","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"jr:constraintMsg":{"Urdu":"حفاظتی ٹیکا ملنے کی تاریخ، بچے کی تاریخ پیدائش کے بعد اور آج کی تاریخ سے پہلے کی ہونی چاہیے","English":"The date of vaccination must be greater than the child's birthdate and less than today.","Roman Urdu":"Hifaazati teeka milnay ki tareekh, bachay ki tareekh-e-pedaaish ke baad aur aaj ki tareekh se phlay ki honi chahiye."},"relevant":"selected(${vaccines}, 'pcv1')","constraint":".>= ${calc_dob_confirm} and .<=${today}"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"pcv1_retro","label":{"Urdu":"پی سی وی 1","Roman Urdu":"PCV1","English":"PCV1"}},{"bind":{"relevant":"selected(${vaccines}, 'pcv1')","calculate":"1"},"type":"calculate","name":"pcv1_dose","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"jr:constraintMsg":{"Urdu":"حفاظتی ٹیکا ملنے کی تاریخ، بچے کی تاریخ پیدائش کے بعد اور آج کی تاریخ سے پہلے کی ہونی چاہیے","English":"The date of vaccination must be greater than the child's birthdate and less than today.","Roman Urdu":"Hifaazati teeka milnay ki tareekh, bachay ki tareekh-e-pedaaish ke baad aur aaj ki tareekh se phlay ki honi chahiye."},"relevant":"selected(${vaccines}, 'opv1')","constraint":".>= ${calc_dob_confirm} and .<=${today}"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"opv1_retro","label":{"Urdu":"او پی وی1","Roman Urdu":"OPV 1","English":"OPV 1"}},{"bind":{"relevant":"selected(${vaccines}, 'opv1')","calculate":"1"},"type":"calculate","name":"opv1_dose","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"jr:constraintMsg":{"Urdu":"حفاظتی ٹیکا ملنے کی تاریخ، بچے کی تاریخ پیدائش کے بعد اور آج کی تاریخ سے پہلے کی ہونی چاہیے","English":"The date of vaccination must be greater than the child's birthdate and less than today.","Roman Urdu":"Hifaazati teeka milnay ki tareekh, bachay ki tareekh-e-pedaaish ke baad aur aaj ki tareekh se phlay ki honi chahiye."},"relevant":"selected(${vaccines}, 'penta1')","constraint":".>= ${calc_dob_confirm} and .<=${today}"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"penta1_retro","label":{"Urdu":"پینٹا ویلنٹ 1","Roman Urdu":"Pentavalent 1","English":"Pentavalent 1"}},{"bind":{"relevant":"selected(${vaccines}, 'penta1')","calculate":"1"},"type":"calculate","name":"penta1_dose","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"jr:constraintMsg":{"Urdu":"حفاظتی ٹیکا ملنے کی تاریخ، بچے کی تاریخ پیدائش کے بعد اور آج کی تاریخ سے پہلے کی ہونی چاہیے","English":"The date of vaccination must be greater than the child's birthdate and less than today.","Roman Urdu":"Hifaazati teeka milnay ki tareekh, bachay ki tareekh-e-pedaaish ke baad aur aaj ki tareekh se phlay ki honi chahiye."},"relevant":"selected(${vaccines}, 'pcv2')","constraint":".>= ${calc_dob_confirm} and .<=${today}"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"pcv2_retro","label":{"Urdu":"پی سی وی 2","Roman Urdu":"PCV2","English":"PCV2"}},{"bind":{"relevant":"selected(${vaccines}, 'pcv2')","calculate":"2"},"type":"calculate","name":"pcv2_dose","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"jr:constraintMsg":{"Urdu":"حفاظتی ٹیکا ملنے کی تاریخ، بچے کی تاریخ پیدائش کے بعد اور آج کی تاریخ سے پہلے کی ہونی چاہیے","English":"The date of vaccination must be greater than the child's birthdate and less than today.","Roman Urdu":"Hifaazati teeka milnay ki tareekh, bachay ki tareekh-e-pedaaish ke baad aur aaj ki tareekh se phlay ki honi chahiye."},"relevant":"selected(${vaccines}, 'opv2')","constraint":".>= ${calc_dob_confirm} and .<=${today}"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"opv2_retro","label":{"Urdu":"او پی وی 2","Roman Urdu":"OPV 2","English":"OPV 2"}},{"bind":{"relevant":"selected(${vaccines}, 'opv2')","calculate":"2"},"type":"calculate","name":"opv2_dose","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"jr:constraintMsg":{"Urdu":"حفاظتی ٹیکا ملنے کی تاریخ، بچے کی تاریخ پیدائش کے بعد اور آج کی تاریخ سے پہلے کی ہونی چاہیے","English":"The date of vaccination must be greater than the child's birthdate and less than today.","Roman Urdu":"Hifaazati teeka milnay ki tareekh, bachay ki tareekh-e-pedaaish ke baad aur aaj ki tareekh se phlay ki honi chahiye."},"relevant":"selected(${vaccines}, 'penta2')","constraint":".>= ${calc_dob_confirm} and .<=${today}"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"penta2_retro","label":{"Urdu":"پینٹا ویلنٹ 2","Roman Urdu":"Pentavalent 2","English":"Pentavalent 2"}},{"bind":{"relevant":"selected(${vaccines}, 'penta2')","calculate":"2"},"type":"calculate","name":"penta2_dose","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"jr:constraintMsg":{"Urdu":"حفاظتی ٹیکا ملنے کی تاریخ، بچے کی تاریخ پیدائش کے بعد اور آج کی تاریخ سے پہلے کی ہونی چاہیے","English":"The date of vaccination must be greater than the child's birthdate and less than today.","Roman Urdu":"Hifaazati teeka milnay ki tareekh, bachay ki tareekh-e-pedaaish ke baad aur aaj ki tareekh se phlay ki honi chahiye."},"relevant":"selected(${vaccines}, 'pcv3')","constraint":".>= ${calc_dob_confirm} and .<=${today}"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"pcv3_retro","label":{"Urdu":"پی سی وی 3","Roman Urdu":"PCV3","English":"PCV3"}},{"bind":{"relevant":"selected(${vaccines}, 'pcv3')","calculate":"3"},"type":"calculate","name":"pcv3_dose","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"jr:constraintMsg":{"Urdu":"حفاظتی ٹیکا ملنے کی تاریخ، بچے کی تاریخ پیدائش کے بعد اور آج کی تاریخ سے پہلے کی ہونی چاہیے","English":"The date of vaccination must be greater than the child's birthdate and less than today.","Roman Urdu":"Hifaazati teeka milnay ki tareekh, bachay ki tareekh-e-pedaaish ke baad aur aaj ki tareekh se phlay ki honi chahiye."},"relevant":"selected(${vaccines}, 'opv3')","constraint":".>= ${calc_dob_confirm} and .<=${today}"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"opv3_retro","label":{"Urdu":"او پی وی3","Roman Urdu":"OPV 3","English":"OPV 3"}},{"bind":{"relevant":"selected(${vaccines}, 'opv3')","calculate":"3"},"type":"calculate","name":"opv3_dose","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"jr:constraintMsg":{"Urdu":"حفاظتی ٹیکا ملنے کی تاریخ، بچے کی تاریخ پیدائش کے بعد اور آج کی تاریخ سے پہلے کی ہونی چاہیے","English":"The date of vaccination must be greater than the child's birthdate and less than today.","Roman Urdu":"Hifaazati teeka milnay ki tareekh, bachay ki tareekh-e-pedaaish ke baad aur aaj ki tareekh se phlay ki honi chahiye."},"relevant":"selected(${vaccines}, 'penta3')","constraint":".>= ${calc_dob_confirm} and .<=${today}"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"penta3_retro","label":{"Urdu":"پینٹا ویلنٹ 3","Roman Urdu":"Pentavalent 3","English":"Pentavalent 3"}},{"bind":{"relevant":"selected(${vaccines}, 'penta3')","calculate":"3"},"type":"calculate","name":"penta3_dose","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"jr:constraintMsg":{"Urdu":"حفاظتی ٹیکا ملنے کی تاریخ، بچے کی تاریخ پیدائش کے بعد اور آج کی تاریخ سے پہلے کی ہونی چاہیے","English":"The date of vaccination must be greater than the child's birthdate and less than today.","Roman Urdu":"Hifaazati teeka milnay ki tareekh, bachay ki tareekh-e-pedaaish ke baad aur aaj ki tareekh se phlay ki honi chahiye."},"relevant":"selected(${vaccines}, 'ipv')","constraint":".>= ${calc_dob_confirm} and .<=${today}"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"1422AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"ipv_retro","label":{"Urdu":"آئی پی وی","Roman Urdu":"IPV","English":"IPV"}},{"bind":{"jr:constraintMsg":{"Urdu":"حفاظتی ٹیکا ملنے کی تاریخ، بچے کی تاریخ پیدائش کے بعد اور آج کی تاریخ سے پہلے کی ہونی چاہیے","English":"The date of vaccination must be greater than the child's birthdate and less than today.","Roman Urdu":"Hifaazati teeka milnay ki tareekh, bachay ki tareekh-e-pedaaish ke baad aur aaj ki tareekh se phlay ki honi chahiye."},"relevant":"selected(${vaccines}, 'measles1')","constraint":".>= ${calc_dob_confirm} and .<=${today}"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"36AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"measles1_retro","label":{"Urdu":"خسرہ 1","Roman Urdu":"Measles 1","English":"Measles 1"}},{"bind":{"relevant":"selected(${vaccines}, 'measles1')","calculate":"1"},"type":"calculate","name":"measles1_dose","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"36AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"jr:constraintMsg":{"Urdu":"حفاظتی ٹیکا ملنے کی تاریخ، بچے کی تاریخ پیدائش کے بعد اور آج کی تاریخ سے پہلے کی ہونی چاہیے","English":"The date of vaccination must be greater than the child's birthdate and less than today.","Roman Urdu":"Hifaazati teeka milnay ki tareekh, bachay ki tareekh-e-pedaaish ke baad aur aaj ki tareekh se phlay ki honi chahiye."},"relevant":"selected(${vaccines}, 'measles2')","constraint":".>= ${calc_dob_confirm} and .<=${today}"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"36AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"measles2_retro","label":{"Urdu":"خسرہ 2","Roman Urdu":"Measles2","English":"Measles2"}},{"bind":{"relevant":"selected(${vaccines}, 'measles2')","calculate":"2"},"type":"calculate","name":"measles2_dose","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"36AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}}],"name":"vaccines_group"},{"name":"vaccines_2","choice_filter":"name = if(selected(${vaccines}, 'bcg'), '', 'bcg') or \nname = if(selected(${vaccines}, 'opv0'), '', 'opv0') or \nname = if(selected(${vaccines}, 'penta1'), '', 'penta1') or \nname = if(selected(${vaccines}, 'opv1'), '', 'opv1') or \nname = if(selected(${vaccines}, 'pcv1'), '', 'pcv1') or \nname = if(selected(${vaccines}, 'penta2'), '', 'penta2') or \nname = if(selected(${vaccines}, 'opv2'), '', 'opv2') or \nname = if(selected(${vaccines}, 'pcv2'), '', 'pcv2') or \nname = if(selected(${vaccines}, 'penta3'), '', 'penta3') or \nname = if(selected(${vaccines}, 'pcv3'), '', 'pcv3') or \nname = if(selected(${vaccines}, 'opv3'), '', 'opv3') or \nname = if(selected(${vaccines}, 'ipv'), '', 'ipv') or \nname = if(selected(${vaccines}, 'measles1'), '', 'measles1') or \nname = if(selected(${vaccines}, 'measles2'), '', 'measles2')","bind":{"required":"yes"},"label":{"Urdu":"آج کون کون سی ویکسین دی گئی ہیں؟","Roman Urdu":"Aaj kon kon si vaccine di gai hain?","English":"Vaccines administered today"},"itemset":"vaccines","instance":{"openmrs_entity":"concept","openmrs_entity_id":"984AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"1441AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"type":"select all that apply"},{"bind":{"calculate":"if(selected(${vaccines_2}, 'bcg'),${client_reg_date},'')"},"type":"calculate","name":"bcg","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"886AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"calculate":"if(selected(${vaccines_2}, 'opv0'),${client_reg_date},'')"},"type":"calculate","name":"opv0","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines_2}, 'opv0')","calculate":"0"},"type":"calculate","name":"opv0_dose_today","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"calculate":"if(selected(${vaccines_2}, 'pcv1'),${client_reg_date},'')"},"type":"calculate","name":"pcv1","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines_2}, 'pcv1')","calculate":"1"},"type":"calculate","name":"pcv1_dose_today","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"calculate":"if(selected(${vaccines_2}, 'opv1'),${client_reg_date},'')"},"type":"calculate","name":"opv1","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines_2}, 'opv1')","calculate":"1"},"type":"calculate","name":"opv1_dose_today","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"calculate":"if(selected(${vaccines_2}, 'penta1'),${client_reg_date},'')"},"type":"calculate","name":"penta1","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines_2}, 'penta1')","calculate":"1"},"type":"calculate","name":"penta1_dose_today","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"calculate":"if(selected(${vaccines_2}, 'pcv2'),${client_reg_date},'')"},"type":"calculate","name":"pcv2","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines_2}, 'pcv2')","calculate":"2"},"type":"calculate","name":"pcv2_dose_today","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"calculate":"if(selected(${vaccines_2}, 'opv2'),${client_reg_date},'')"},"type":"calculate","name":"opv2","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines_2}, 'opv2')","calculate":"2"},"type":"calculate","name":"opv2_dose_today","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"calculate":"if(selected(${vaccines_2}, 'penta2'),${client_reg_date},'')"},"type":"calculate","name":"penta2","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines_2}, 'penta2')","calculate":"2"},"type":"calculate","name":"penta2_dose_today","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"calculate":"if(selected(${vaccines_2}, 'pcv3'),${client_reg_date},'')"},"type":"calculate","name":"pcv3","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines_2}, 'pcv3')","calculate":"3"},"type":"calculate","name":"pcv3_dose_today","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"calculate":"if(selected(${vaccines_2}, 'opv3'),${client_reg_date},'')"},"type":"calculate","name":"opv3","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines_2}, 'opv3')","calculate":"3"},"type":"calculate","name":"opv3_dose_today","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"calculate":"if(selected(${vaccines_2}, 'penta3'),${client_reg_date},'')"},"type":"calculate","name":"penta3","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines_2}, 'penta3')","calculate":"3"},"type":"calculate","name":"penta3_dose_today","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines}, 'ipv')","calculate":"if(selected(${vaccines_2}, 'ipv'),${client_reg_date},'')"},"type":"calculate","name":"ipv","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"1422AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"calculate":"if(selected(${vaccines_2}, 'measles1'),${client_reg_date},'')"},"type":"calculate","name":"measles1","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"36AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines_2}, 'measles1')","calculate":"1"},"type":"calculate","name":"measles1_dose_today","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"36AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"calculate":"if(selected(${vaccines_2}, 'measles2'),${client_reg_date},'')"},"type":"calculate","name":"measles2","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"36AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines_2}, 'measles2')","calculate":"2"},"type":"calculate","name":"measles2_dose_today","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"36AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"control":{"bodyless":true},"type":"group","children":[{"bind":{"readonly":"true()","calculate":"concat('uuid:', uuid())"},"type":"calculate","name":"instanceID"}],"name":"meta"}]} \ No newline at end of file diff --git a/opensrp-connector/bin/src/test/resources/form/child_enrollment/form.xml b/opensrp-connector/bin/src/test/resources/form/child_enrollment/form.xml new file mode 100644 index 0000000000..f2bf538694 --- /dev/null +++ b/opensrp-connector/bin/src/test/resources/form/child_enrollment/form.xml @@ -0,0 +1,1699 @@ +
+ + +

بچّوں کا انرولمنٹ رجسٹر برائے ٹیکاجات - Child Enrollment Vaccination Register

+
+
+ + کیا تاریخ پیدائش معلوم ہے؟ + Is birthdate known? + + Kya tareekh-e-pedaaish maloom hai? +
+ + +
+
+
+
+ + کیا آپ اپنے بچے کی اگلی ویکسین کی تاریخ کے لیے SMS موصول کرنا چاہتے ہیں؟ + Are you willing to receive SMS reminders for your next visit? + + Kya aap apnay bachay ki agli vaccine ki tareekh ke liye SMS mausool karna chahtay hain? + * +
+ + +
+
+
+ + + + + + + + + + + + + +
+
+
+ + آج کون کون سی ویکسین دی گئی ہیں؟ + Vaccines administered today + + Aaj kon kon si vaccine di gai hain? + * +
+ + + بی سی جی + BCG + + BCG + او پی وی 0 + OPV 0 + + OPV 0 + پی سی وی 1 + PCV 1 + + PCV 1 + او پی وی 1 + OPV 1 + + OPV 1 + پینٹا ویلنٹ 1 + Pentavalent 1 + + Pentavalent 1 + پی سی وی 2 + PCV 2 + + PCV 2 + او پی وی 2 + OPV 2 + + OPV 2 + پینٹا ویلنٹ 2 + Pentavalent 2 + + Pentavalent 2 + پی سی وی 3 + PCV 3 + + PCV 3 + او پی وی 3 + OPV 3 + + OPV 3 + پینٹا ویلنٹ 3 + Pentavalent 3 + + Pentavalent 3 + آئی پی وی + IPV + + IPV + خسرہ 1 + Measles 1 + + Khasra 1 + خسرہ 2 + Measles 2 + + Khasra 2 +
+
+
+ + diff --git a/opensrp-connector/bin/src/test/resources/form/child_enrollment/form_definition.json b/opensrp-connector/bin/src/test/resources/form/child_enrollment/form_definition.json new file mode 100644 index 0000000000..1ce99a2b64 --- /dev/null +++ b/opensrp-connector/bin/src/test/resources/form/child_enrollment/form_definition.json @@ -0,0 +1,346 @@ +{ + "form_data_definition_version" : "1", + "form" : { + "bind_type" : "pkchild", + "default_bind_path" : "/model/instance/Child_Vaccination_Enrollment/", + "fields" : [ { + "name" : "id", + "shouldLoadValue" : true + }, { + "name" : "provider_uc", + "bind" : "/model/instance/Child_Vaccination_Enrollment/provider_uc", + "shouldLoadValue" : true + }, { + "name" : "provider_town", + "bind" : "/model/instance/Child_Vaccination_Enrollment/provider_town", + "shouldLoadValue" : true + }, { + "name" : "provider_city", + "bind" : "/model/instance/Child_Vaccination_Enrollment/provider_city", + "shouldLoadValue" : true + }, { + "name" : "provider_province", + "bind" : "/model/instance/Child_Vaccination_Enrollment/provider_province", + "shouldLoadValue" : true + }, { + "name" : "provider_id", + "bind" : "/model/instance/Child_Vaccination_Enrollment/provider_id", + "shouldLoadValue" : true + }, { + "name" : "provider_location_id", + "bind" : "/model/instance/Child_Vaccination_Enrollment/provider_location_id", + "shouldLoadValue" : true + }, { + "name" : "existing_program_client_id", + "bind" : "/model/instance/Child_Vaccination_Enrollment/existing_program_client_id", + "shouldLoadValue" : true + }, { + "name" : "provider_location_name", + "bind" : "/model/instance/Child_Vaccination_Enrollment/provider_location_name", + "shouldLoadValue" : true + }, { + "name" : "provider_location_note", + "bind" : "/model/instance/Child_Vaccination_Enrollment/provider_location_note" + }, { + "name" : "start", + "bind" : "/model/instance/Child_Vaccination_Enrollment/start" + }, { + "name" : "end", + "bind" : "/model/instance/Child_Vaccination_Enrollment/end" + }, { + "name" : "today", + "bind" : "/model/instance/Child_Vaccination_Enrollment/today" + }, { + "name" : "deviceid", + "bind" : "/model/instance/Child_Vaccination_Enrollment/deviceid" + }, { + "name" : "subscriberid", + "bind" : "/model/instance/Child_Vaccination_Enrollment/subscriberid" + }, { + "name" : "simserial", + "bind" : "/model/instance/Child_Vaccination_Enrollment/simserial" + }, { + "name" : "phonenumber", + "bind" : "/model/instance/Child_Vaccination_Enrollment/phonenumber" + }, { + "name" : "client_reg_date", + "bind" : "/model/instance/Child_Vaccination_Enrollment/client_reg_date" + }, { + "name" : "program_client_id", + "bind" : "/model/instance/Child_Vaccination_Enrollment/program_client_id" + }, { + "name" : "epi_card_number", + "bind" : "/model/instance/Child_Vaccination_Enrollment/epi_card_number" + }, { + "name" : "first_name", + "bind" : "/model/instance/Child_Vaccination_Enrollment/first_name" + }, { + "name" : "last_name", + "bind" : "/model/instance/Child_Vaccination_Enrollment/last_name" + }, { + "name" : "birth_date_known", + "bind" : "/model/instance/Child_Vaccination_Enrollment/member_birth_date_known" + }, { + "name" : "birth_date", + "bind" : "/model/instance/Child_Vaccination_Enrollment/member_birth_date" + }, { + "name" : "age", + "bind" : "/model/instance/Child_Vaccination_Enrollment/age" + }, { + "name" : "calc_age", + "bind" : "/model/instance/Child_Vaccination_Enrollment/calc_age" + }, { + "name" : "calc_dob", + "bind" : "/model/instance/Child_Vaccination_Enrollment/calc_dob" + }, { + "name" : "dob", + "bind" : "/model/instance/Child_Vaccination_Enrollment/calc_dob_confirm" + }, { + "name" : "calc_dob_estimated", + "bind" : "/model/instance/Child_Vaccination_Enrollment/calc_dob_estimated" + }, { + "name" : "calc_age_confirm", + "bind" : "/model/instance/Child_Vaccination_Enrollment/calc_age_confirm" + }, { + "name" : "gender", + "bind" : "/model/instance/Child_Vaccination_Enrollment/gender" + }, { + "name" : "mother_name", + "bind" : "/model/instance/Child_Vaccination_Enrollment/mother_name" + }, { + "name" : "ethnicity", + "bind" : "/model/instance/Child_Vaccination_Enrollment/ethnicity" + }, { + "name" : "ethnicity_other", + "bind" : "/model/instance/Child_Vaccination_Enrollment/ethnicity_other" + }, { + "name" : "province", + "bind" : "/model/instance/Child_Vaccination_Enrollment/province" + }, { + "name" : "city_village", + "bind" : "/model/instance/Child_Vaccination_Enrollment/city_village" + }, { + "name" : "town", + "bind" : "/model/instance/Child_Vaccination_Enrollment/town" + }, { + "name" : "union_council", + "bind" : "/model/instance/Child_Vaccination_Enrollment/union_council" + }, { + "name" : "house_number", + "bind" : "/model/instance/Child_Vaccination_Enrollment/house_number" + }, { + "name" : "street", + "bind" : "/model/instance/Child_Vaccination_Enrollment/street" + }, { + "name" : "landmark", + "bind" : "/model/instance/Child_Vaccination_Enrollment/landmark" + }, { + "name" : "provincename", + "bind" : "/model/instance/Child_Vaccination_Enrollment/provincename" + }, { + "name" : "city_villagename", + "bind" : "/model/instance/Child_Vaccination_Enrollment/city_villagename" + }, { + "name" : "townname", + "bind" : "/model/instance/Child_Vaccination_Enrollment/townname" + }, { + "name" : "union_councilname", + "bind" : "/model/instance/Child_Vaccination_Enrollment/union_councilname" + }, { + "name" : "address", + "bind" : "/model/instance/Child_Vaccination_Enrollment/address" + }, { + "name" : "centre_gps", + "bind" : "/model/instance/Child_Vaccination_Enrollment/centre_gps" + }, { + "name" : "child_was_suffering_from_a_disease_at_birth", + "bind" : "/model/instance/Child_Vaccination_Enrollment/child_was_suffering_from_a_disease_at_birth" + }, { + "name" : "reminders_approval", + "bind" : "/model/instance/Child_Vaccination_Enrollment/reminders_approval" + }, { + "name" : "contact_phone_number", + "bind" : "/model/instance/Child_Vaccination_Enrollment/contact_phone_number" + }, { + "name" : "six_weeks", + "bind" : "/model/instance/Child_Vaccination_Enrollment/six_weeks" + }, { + "name" : "ten_weeks", + "bind" : "/model/instance/Child_Vaccination_Enrollment/ten_weeks" + }, { + "name" : "forteen_weeks", + "bind" : "/model/instance/Child_Vaccination_Enrollment/forteen_weeks" + }, { + "name" : "nine_months", + "bind" : "/model/instance/Child_Vaccination_Enrollment/nine_months" + }, { + "name" : "fifteen_months", + "bind" : "/model/instance/Child_Vaccination_Enrollment/fifteen_months" + }, { + "name" : "vaccines", + "bind" : "/model/instance/Child_Vaccination_Enrollment/vaccines" + }, { + "name" : "bcg_retro", + "bind" : "/model/instance/Child_Vaccination_Enrollment/vaccines_group/bcg_retro" + }, { + "name" : "opv0_retro", + "bind" : "/model/instance/Child_Vaccination_Enrollment/vaccines_group/opv0_retro" + }, { + "name" : "opv0_dose", + "bind" : "/model/instance/Child_Vaccination_Enrollment/vaccines_group/opv0_dose" + }, { + "name" : "pcv1_retro", + "bind" : "/model/instance/Child_Vaccination_Enrollment/vaccines_group/pcv1_retro" + }, { + "name" : "pcv1_dose", + "bind" : "/model/instance/Child_Vaccination_Enrollment/vaccines_group/pcv1_dose" + }, { + "name" : "opv1_retro", + "bind" : "/model/instance/Child_Vaccination_Enrollment/vaccines_group/opv1_retro" + }, { + "name" : "opv1_dose", + "bind" : "/model/instance/Child_Vaccination_Enrollment/vaccines_group/opv1_dose" + }, { + "name" : "penta1_retro", + "bind" : "/model/instance/Child_Vaccination_Enrollment/vaccines_group/penta1_retro" + }, { + "name" : "penta1_dose", + "bind" : "/model/instance/Child_Vaccination_Enrollment/vaccines_group/penta1_dose" + }, { + "name" : "pcv2_retro", + "bind" : "/model/instance/Child_Vaccination_Enrollment/vaccines_group/pcv2_retro" + }, { + "name" : "pcv2_dose", + "bind" : "/model/instance/Child_Vaccination_Enrollment/vaccines_group/pcv2_dose" + }, { + "name" : "opv2_retro", + "bind" : "/model/instance/Child_Vaccination_Enrollment/vaccines_group/opv2_retro" + }, { + "name" : "opv2_dose", + "bind" : "/model/instance/Child_Vaccination_Enrollment/vaccines_group/opv2_dose" + }, { + "name" : "penta2_retro", + "bind" : "/model/instance/Child_Vaccination_Enrollment/vaccines_group/penta2_retro" + }, { + "name" : "penta2_dose", + "bind" : "/model/instance/Child_Vaccination_Enrollment/vaccines_group/penta2_dose" + }, { + "name" : "pcv3_retro", + "bind" : "/model/instance/Child_Vaccination_Enrollment/vaccines_group/pcv3_retro" + }, { + "name" : "pcv3_dose", + "bind" : "/model/instance/Child_Vaccination_Enrollment/vaccines_group/pcv3_dose" + }, { + "name" : "opv3_retro", + "bind" : "/model/instance/Child_Vaccination_Enrollment/vaccines_group/opv3_retro" + }, { + "name" : "opv3_dose", + "bind" : "/model/instance/Child_Vaccination_Enrollment/vaccines_group/opv3_dose" + }, { + "name" : "penta3_retro", + "bind" : "/model/instance/Child_Vaccination_Enrollment/vaccines_group/penta3_retro" + }, { + "name" : "penta3_dose", + "bind" : "/model/instance/Child_Vaccination_Enrollment/vaccines_group/penta3_dose" + }, { + "name" : "ipv_retro", + "bind" : "/model/instance/Child_Vaccination_Enrollment/vaccines_group/ipv_retro" + }, { + "name" : "measles1_retro", + "bind" : "/model/instance/Child_Vaccination_Enrollment/vaccines_group/measles1_retro" + }, { + "name" : "measles1_dose", + "bind" : "/model/instance/Child_Vaccination_Enrollment/vaccines_group/measles1_dose" + }, { + "name" : "measles2_retro", + "bind" : "/model/instance/Child_Vaccination_Enrollment/vaccines_group/measles2_retro" + }, { + "name" : "measles2_dose", + "bind" : "/model/instance/Child_Vaccination_Enrollment/vaccines_group/measles2_dose" + }, { + "name" : "vaccines_2", + "bind" : "/model/instance/Child_Vaccination_Enrollment/vaccines_2" + }, { + "name" : "bcg", + "bind" : "/model/instance/Child_Vaccination_Enrollment/bcg" + }, { + "name" : "opv0", + "bind" : "/model/instance/Child_Vaccination_Enrollment/opv0" + }, { + "name" : "opv0_dose_today", + "bind" : "/model/instance/Child_Vaccination_Enrollment/opv0_dose_today" + }, { + "name" : "pcv1", + "bind" : "/model/instance/Child_Vaccination_Enrollment/pcv1" + }, { + "name" : "pcv1_dose_today", + "bind" : "/model/instance/Child_Vaccination_Enrollment/pcv1_dose_today" + }, { + "name" : "opv1", + "bind" : "/model/instance/Child_Vaccination_Enrollment/opv1" + }, { + "name" : "opv1_dose_today", + "bind" : "/model/instance/Child_Vaccination_Enrollment/opv1_dose_today" + }, { + "name" : "penta1", + "bind" : "/model/instance/Child_Vaccination_Enrollment/penta1" + }, { + "name" : "penta1_dose_today", + "bind" : "/model/instance/Child_Vaccination_Enrollment/penta1_dose_today" + }, { + "name" : "pcv2", + "bind" : "/model/instance/Child_Vaccination_Enrollment/pcv2" + }, { + "name" : "pcv2_dose_today", + "bind" : "/model/instance/Child_Vaccination_Enrollment/pcv2_dose_today" + }, { + "name" : "opv2", + "bind" : "/model/instance/Child_Vaccination_Enrollment/opv2" + }, { + "name" : "opv2_dose_today", + "bind" : "/model/instance/Child_Vaccination_Enrollment/opv2_dose_today" + }, { + "name" : "penta2", + "bind" : "/model/instance/Child_Vaccination_Enrollment/penta2" + }, { + "name" : "penta2_dose_today", + "bind" : "/model/instance/Child_Vaccination_Enrollment/penta2_dose_today" + }, { + "name" : "pcv3", + "bind" : "/model/instance/Child_Vaccination_Enrollment/pcv3" + }, { + "name" : "pcv3_dose_today", + "bind" : "/model/instance/Child_Vaccination_Enrollment/pcv3_dose_today" + }, { + "name" : "opv3", + "bind" : "/model/instance/Child_Vaccination_Enrollment/opv3" + }, { + "name" : "opv3_dose_today", + "bind" : "/model/instance/Child_Vaccination_Enrollment/opv3_dose_today" + }, { + "name" : "penta3", + "bind" : "/model/instance/Child_Vaccination_Enrollment/penta3" + }, { + "name" : "penta3_dose_today", + "bind" : "/model/instance/Child_Vaccination_Enrollment/penta3_dose_today" + }, { + "name" : "ipv", + "bind" : "/model/instance/Child_Vaccination_Enrollment/ipv" + }, { + "name" : "measles1", + "bind" : "/model/instance/Child_Vaccination_Enrollment/measles1" + }, { + "name" : "measles1_dose_today", + "bind" : "/model/instance/Child_Vaccination_Enrollment/measles1_dose_today" + }, { + "name" : "measles2", + "bind" : "/model/instance/Child_Vaccination_Enrollment/measles2" + }, { + "name" : "measles2_dose_today", + "bind" : "/model/instance/Child_Vaccination_Enrollment/measles2_dose_today" + }, { + "name" : "instanceID", + "bind" : "/model/instance/Child_Vaccination_Enrollment/meta/instanceID" + } ] + } +} \ No newline at end of file diff --git a/opensrp-connector/bin/src/test/resources/form/child_enrollment/form_submission.json b/opensrp-connector/bin/src/test/resources/form/child_enrollment/form_submission.json new file mode 100644 index 0000000000..42a03ab6d4 --- /dev/null +++ b/opensrp-connector/bin/src/test/resources/form/child_enrollment/form_submission.json @@ -0,0 +1,639 @@ +{ + "_id": "52625cc147af58c89c96e35bd60422c2", + "_rev": "1-190b7f97ddf9e7416c7193de9b3a731b", + "type": "FormSubmission", + "anmId": "demotest", + "instanceId": "8524f6b8-441a-4769-aa74-03e1dde0901a", + "formName": "child_enrollment", + "entityId": "ad653225-6bed-48d3-8e5d-741d3d50d61a", + "clientVersion": 1457201032214, + "formDataDefinitionVersion": "1", + "formInstance": { + "form_data_definition_version": "1", + "form": { + "bind_type": "pkchild", + "default_bind_path": "/model/instance/Child_Vaccination_Enrollment/", + "fields": [ + { + "name": "id", + "value": "ad653225-6bed-48d3-8e5d-741d3d50d61a", + "source": "pkchild.id" + }, + { + "name": "provider_uc", + "value": "Zaman Town", + "source": "pkchild.provider_uc" + }, + { + "name": "provider_town", + "value": "Korangi", + "source": "pkchild.provider_town" + }, + { + "name": "provider_city", + "value": "Karachi", + "source": "pkchild.provider_city" + }, + { + "name": "provider_province", + "value": "Sindh", + "source": "pkchild.provider_province" + }, + { + "name": "provider_id", + "value": "demotest", + "source": "pkchild.provider_id" + }, + { + "name": "provider_location_id", + "value": "Homeopathic Center", + "source": "pkchild.provider_location_id" + }, + { + "name": "existing_program_client_id", + "value": "98120722", + "source": "pkchild.existing_program_client_id" + }, + { + "name": "provider_location_name", + "value": "Homeopathic Center", + "source": "pkchild.provider_location_name" + }, + { + "name": "provider_location_note", + "value": "", + "source": "pkchild.provider_location_note" + }, + { + "name": "start", + "value": "2016-03-05 23:01:13", + "source": "pkchild.start" + }, + { + "name": "end", + "value": "2016-03-05 23:03:51", + "source": "pkchild.end" + }, + { + "name": "today", + "value": "2016-03-05", + "source": "pkchild.today" + }, + { + "name": "deviceid", + "value": "Error: could not determine deviceID", + "source": "pkchild.deviceid" + }, + { + "name": "subscriberid", + "value": "no subscriberid property in enketo", + "source": "pkchild.subscriberid" + }, + { + "name": "simserial", + "value": "no simserial property in enketo", + "source": "pkchild.simserial" + }, + { + "name": "phonenumber", + "value": "no phonenumber property in enketo", + "source": "pkchild.phonenumber" + }, + { + "name": "client_reg_date", + "value": "2016-03-05", + "source": "pkchild.client_reg_date" + }, + { + "name": "program_client_id", + "value": "98120722", + "source": "pkchild.program_client_id" + }, + { + "name": "epi_card_number", + "value": "20160009", + "source": "pkchild.epi_card_number" + }, + { + "name": "first_name", + "value": "aase", + "source": "pkchild.first_name" + }, + { + "name": "last_name", + "value": "zeest", + "source": "pkchild.last_name" + }, + { + "name": "birth_date_known", + "value": "yes", + "source": "pkchild.birth_date_known" + }, + { + "name": "birth_date", + "value": "2016-01-03", + "source": "pkchild.birth_date" + }, + { + "name": "age", + "value": "", + "source": "pkchild.age" + }, + { + "name": "calc_age", + "value": "2", + "source": "pkchild.calc_age" + }, + { + "name": "calc_dob", + "value": "Invalid Date", + "source": "pkchild.calc_dob" + }, + { + "name": "dob", + "value": "2016-01-03", + "source": "pkchild.dob" + }, + { + "name": "calc_dob_estimated", + "value": "0", + "source": "pkchild.calc_dob_estimated" + }, + { + "name": "calc_age_confirm", + "value": "2", + "source": "pkchild.calc_age_confirm" + }, + { + "name": "gender", + "value": "male", + "source": "pkchild.gender" + }, + { + "name": "mother_name", + "value": "zindagi", + "source": "pkchild.mother_name" + }, + { + "name": "ethnicity", + "value": "pushtuns", + "source": "pkchild.ethnicity" + }, + { + "name": "ethnicity_other", + "source": "pkchild.ethnicity_other" + }, + { + "name": "province", + "value": "sindh", + "source": "pkchild.province" + }, + { + "name": "city_village", + "value": "karachi", + "source": "pkchild.city_village" + }, + { + "name": "town", + "value": "liaquatabad", + "source": "pkchild.town" + }, + { + "name": "union_council", + "value": "mujahid_colony", + "source": "pkchild.union_council" + }, + { + "name": "house_number", + "value": "hi65", + "source": "pkchild.house_number" + }, + { + "name": "street", + "value": "gal7", + "source": "pkchild.street" + }, + { + "name": "landmark", + "value": "nishaani", + "source": "pkchild.landmark" + }, + { + "name": "provincename", + "value": "Sindh", + "source": "pkchild.provincename" + }, + { + "name": "city_villagename", + "value": "Karachi", + "source": "pkchild.city_villagename" + }, + { + "name": "townname", + "value": "Liaquatabad", + "source": "pkchild.townname" + }, + { + "name": "union_councilname", + "value": "Mujahid Colony", + "source": "pkchild.union_councilname" + }, + { + "name": "address", + "value": "", + "source": "pkchild.address" + }, + { + "name": "centre_gps", + "value": "24.876534 67.177482 0 33", + "source": "pkchild.centre_gps" + }, + { + "name": "child_was_suffering_from_a_disease_at_birth", + "value": "yes", + "source": "pkchild.child_was_suffering_from_a_disease_at_birth" + }, + { + "name": "reminders_approval", + "value": "yes", + "source": "pkchild.reminders_approval" + }, + { + "name": "contact_phone_number", + "value": "03346543213", + "source": "pkchild.contact_phone_number" + }, + { + "name": "six_weeks", + "value": "16845", + "source": "pkchild.six_weeks" + }, + { + "name": "ten_weeks", + "value": "16873", + "source": "pkchild.ten_weeks" + }, + { + "name": "forteen_weeks", + "value": "16901", + "source": "pkchild.forteen_weeks" + }, + { + "name": "nine_months", + "value": "17048", + "source": "pkchild.nine_months" + }, + { + "name": "fifteen_months", + "value": "17261", + "source": "pkchild.fifteen_months" + }, + { + "name": "vaccines", + "value": "bcg opv0", + "source": "pkchild.vaccines" + }, + { + "name": "bcg_retro", + "value": "2016-01-13", + "source": "pkchild.bcg_retro" + }, + { + "name": "opv0_retro", + "value": "2016-01-08", + "source": "pkchild.opv0_retro" + }, + { + "name": "opv0_dose", + "value": "0", + "source": "pkchild.opv0_dose" + }, + { + "name": "pcv1_retro", + "source": "pkchild.pcv1_retro" + }, + { + "name": "pcv1_dose", + "source": "pkchild.pcv1_dose" + }, + { + "name": "opv1_retro", + "source": "pkchild.opv1_retro" + }, + { + "name": "opv1_dose", + "source": "pkchild.opv1_dose" + }, + { + "name": "penta1_retro", + "source": "pkchild.penta1_retro" + }, + { + "name": "penta1_dose", + "source": "pkchild.penta1_dose" + }, + { + "name": "pcv2_retro", + "source": "pkchild.pcv2_retro" + }, + { + "name": "pcv2_dose", + "source": "pkchild.pcv2_dose" + }, + { + "name": "opv2_retro", + "source": "pkchild.opv2_retro" + }, + { + "name": "opv2_dose", + "source": "pkchild.opv2_dose" + }, + { + "name": "penta2_retro", + "source": "pkchild.penta2_retro" + }, + { + "name": "penta2_dose", + "source": "pkchild.penta2_dose" + }, + { + "name": "pcv3_retro", + "source": "pkchild.pcv3_retro" + }, + { + "name": "pcv3_dose", + "source": "pkchild.pcv3_dose" + }, + { + "name": "opv3_retro", + "source": "pkchild.opv3_retro" + }, + { + "name": "opv3_dose", + "source": "pkchild.opv3_dose" + }, + { + "name": "penta3_retro", + "source": "pkchild.penta3_retro" + }, + { + "name": "penta3_dose", + "source": "pkchild.penta3_dose" + }, + { + "name": "ipv_retro", + "source": "pkchild.ipv_retro" + }, + { + "name": "measles1_retro", + "source": "pkchild.measles1_retro" + }, + { + "name": "measles1_dose", + "source": "pkchild.measles1_dose" + }, + { + "name": "measles2_retro", + "source": "pkchild.measles2_retro" + }, + { + "name": "measles2_dose", + "source": "pkchild.measles2_dose" + }, + { + "name": "vaccines_2", + "value": "pcv1 opv1 penta1", + "source": "pkchild.vaccines_2" + }, + { + "name": "bcg", + "source": "pkchild.bcg" + }, + { + "name": "opv0", + "source": "pkchild.opv0" + }, + { + "name": "opv0_dose_today", + "source": "pkchild.opv0_dose_today" + }, + { + "name": "pcv1", + "value": "2016-03-05", + "source": "pkchild.pcv1" + }, + { + "name": "pcv1_dose_today", + "value": "1", + "source": "pkchild.pcv1_dose_today" + }, + { + "name": "opv1", + "value": "2016-03-05", + "source": "pkchild.opv1" + }, + { + "name": "opv1_dose_today", + "value": "1", + "source": "pkchild.opv1_dose_today" + }, + { + "name": "penta1", + "value": "2016-03-05", + "source": "pkchild.penta1" + }, + { + "name": "penta1_dose_today", + "value": "1", + "source": "pkchild.penta1_dose_today" + }, + { + "name": "pcv2", + "source": "pkchild.pcv2" + }, + { + "name": "pcv2_dose_today", + "source": "pkchild.pcv2_dose_today" + }, + { + "name": "opv2", + "source": "pkchild.opv2" + }, + { + "name": "opv2_dose_today", + "source": "pkchild.opv2_dose_today" + }, + { + "name": "penta2", + "source": "pkchild.penta2" + }, + { + "name": "penta2_dose_today", + "source": "pkchild.penta2_dose_today" + }, + { + "name": "pcv3", + "source": "pkchild.pcv3" + }, + { + "name": "pcv3_dose_today", + "source": "pkchild.pcv3_dose_today" + }, + { + "name": "opv3", + "source": "pkchild.opv3" + }, + { + "name": "opv3_dose_today", + "source": "pkchild.opv3_dose_today" + }, + { + "name": "penta3", + "source": "pkchild.penta3" + }, + { + "name": "penta3_dose_today", + "source": "pkchild.penta3_dose_today" + }, + { + "name": "ipv", + "source": "pkchild.ipv" + }, + { + "name": "measles1", + "source": "pkchild.measles1" + }, + { + "name": "measles1_dose_today", + "source": "pkchild.measles1_dose_today" + }, + { + "name": "measles2", + "source": "pkchild.measles2" + }, + { + "name": "measles2_dose_today", + "source": "pkchild.measles2_dose_today" + }, + { + "name": "instanceID", + "value": "uuid:749f572e-c894-4e5c-89f5-7f3e3573df3a", + "source": "pkchild.instanceID" + } + ], + "fieldsAsMap": { + "penta1_retro": null, + "instanceID": "uuid:749f572e-c894-4e5c-89f5-7f3e3573df3a", + "penta3_dose_today": null, + "street": "gal7", + "opv0_retro": "2016-01-08", + "deviceid": "Error: could not determine deviceID", + "townname": "Liaquatabad", + "pcv3_retro": null, + "first_name": "aase", + "opv2_dose": null, + "child_was_suffering_from_a_disease_at_birth": "yes", + "penta2_dose_today": null, + "provider_location_id": "Homeopathic Center", + "calc_age_confirm": "2", + "opv1_dose": null, + "phonenumber": "no phonenumber property in enketo", + "opv0_dose_today": null, + "birth_date": "2016-01-03", + "provider_uc": "Zaman Town", + "opv0_dose": "0", + "opv3_retro": null, + "measles2_dose": null, + "house_number": "hi65", + "city_village": "karachi", + "measles2_dose_today": null, + "start": "2016-03-05 23:01:13", + "last_name": "zeest", + "pcv3_dose": null, + "pcv1_dose": null, + "bcg_retro": "2016-01-13", + "pcv2_dose_today": null, + "ethnicity_other": null, + "opv2_dose_today": null, + "end": "2016-03-05 23:03:51", + "penta2_dose": null, + "pcv1_dose_today": "1", + "ten_weeks": "16873", + "six_weeks": "16845", + "bcg": null, + "vaccines_2": "pcv1 opv1 penta1", + "calc_age": "2", + "centre_gps": "24.876534 67.177482 0 33", + "penta2": null, + "penta3": null, + "measles1": null, + "penta1": "2016-03-05", + "measles2": null, + "calc_dob_estimated": "0", + "dob": "2016-01-03", + "mother_name": "zindagi", + "provider_town": "Korangi", + "ethnicity": "pushtuns", + "pcv2_retro": null, + "pcv2_dose": null, + "penta1_dose": null, + "measles1_dose": null, + "pcv3_dose_today": null, + "contact_phone_number": "03346543213", + "ipv": null, + "provider_id": "demotest", + "penta3_dose": null, + "opv3_dose": null, + "ipv_retro": null, + "client_reg_date": "2016-03-05", + "measles1_dose_today": null, + "age": "", + "province": "sindh", + "gender": "male", + "provider_province": "Sindh", + "opv1_retro": null, + "simserial": "no simserial property in enketo", + "nine_months": "17048", + "fifteen_months": "17261", + "pcv3": null, + "provider_location_note": "", + "provider_city": "Karachi", + "landmark": "nishaani", + "subscriberid": "no subscriberid property in enketo", + "pcv1": "2016-03-05", + "pcv2": null, + "opv0": null, + "town": "liaquatabad", + "opv3": null, + "epi_card_number": "20160009", + "opv1": "2016-03-05", + "opv2": null, + "opv2_retro": null, + "vaccines": "bcg opv0", + "program_client_id": "98120722", + "penta1_dose_today": "1", + "today": "2016-03-05", + "city_villagename": "Karachi", + "opv1_dose_today": "1", + "opv3_dose_today": null, + "union_council": "mujahid_colony", + "measles2_retro": null, + "id": "ad653225-6bed-48d3-8e5d-741d3d50d61a", + "provincename": "Sindh", + "penta3_retro": null, + "forteen_weeks": "16901", + "birth_date_known": "yes", + "provider_location_name": "Homeopathic Center", + "union_councilname": "Mujahid Colony", + "pcv1_retro": null, + "calc_dob": "Invalid Date", + "existing_program_client_id": "98120722", + "penta2_retro": null, + "address": "", + "reminders_approval": "yes", + "measles1_retro": null + } + } + }, + "serverVersion": 1457287713772 +} \ No newline at end of file diff --git a/opensrp-connector/bin/src/test/resources/form/child_enrollment/model.xml b/opensrp-connector/bin/src/test/resources/form/child_enrollment/model.xml new file mode 100644 index 0000000000..8544185b0d --- /dev/null +++ b/opensrp-connector/bin/src/test/resources/form/child_enrollment/model.xml @@ -0,0 +1,1691 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + yes + + + + + + + + + + + + + + ${provider_province} + ${provider_city} + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + static_instance-provinces-0 + kpk + + + static_instance-provinces-1 + sindh + + + static_instance-provinces-2 + balochistan + + + static_instance-provinces-3 + punjab + + + static_instance-provinces-4 + gilgit_baltistan + + + static_instance-provinces-5 + kashmir + + + static_instance-provinces-6 + fata + + + static_instance-provinces-7 + out_of_country + + + + + + + static_instance-ucs-0 + sindh + karachi + korangi + bilal_colony + + + static_instance-ucs-1 + sindh + karachi + korangi + nasir_colony + + + static_instance-ucs-2 + sindh + karachi + korangi + chakra_goth + + + static_instance-ucs-3 + sindh + karachi + korangi + mustafa_taj_colony + + + static_instance-ucs-4 + sindh + karachi + korangi + hundred_quarters + + + static_instance-ucs-5 + sindh + karachi + korangi + gulzar_colony + + + static_instance-ucs-6 + sindh + karachi + korangi + korangi_sector_33 + + + static_instance-ucs-7 + sindh + karachi + korangi + zaman_town + + + static_instance-ucs-8 + sindh + karachi + korangi + hasrat_mohani_colony + + + static_instance-ucs-9 + sindh + karachi + baldia + gulshan_e_ghazi + + + static_instance-ucs-10 + sindh + karachi + baldia + ittehad_town + + + static_instance-ucs-11 + sindh + karachi + baldia + islam_nagar + + + static_instance-ucs-12 + sindh + karachi + baldia + nai_abadi + + + static_instance-ucs-13 + sindh + karachi + baldia + saeedabad + + + static_instance-ucs-14 + sindh + karachi + baldia + muslim_mujahid_colony + + + static_instance-ucs-15 + sindh + karachi + baldia + muhajir_camp + + + static_instance-ucs-16 + sindh + karachi + baldia + rasheedabad + + + static_instance-ucs-17 + sindh + karachi + bin_qasim + ibrahim_hyderi + + + static_instance-ucs-18 + sindh + karachi + bin_qasim + rehri + + + static_instance-ucs-19 + sindh + karachi + bin_qasim + cattle_colony + + + static_instance-ucs-20 + sindh + karachi + bin_qasim + qaidabad + + + static_instance-ucs-21 + sindh + karachi + bin_qasim + landhi_colony + + + static_instance-ucs-22 + sindh + karachi + bin_qasim + gulshan_e_hadeed + + + static_instance-ucs-23 + sindh + karachi + bin_qasim + gaghar + + + static_instance-ucs-24 + sindh + karachi + gadap + murad_memon_goth + + + static_instance-ucs-25 + sindh + karachi + gadap + darsano_chana + + + static_instance-ucs-26 + sindh + karachi + gadap + gujro + + + static_instance-ucs-27 + sindh + karachi + gadap + songal + + + static_instance-ucs-28 + sindh + karachi + gadap + maymarabad + + + static_instance-ucs-29 + sindh + karachi + gadap + yousuf_goth + + + static_instance-ucs-30 + sindh + karachi + gadap + manghopir + + + static_instance-ucs-31 + sindh + karachi + gulberg + azizabad + + + static_instance-ucs-32 + sindh + karachi + gulberg + karimabad + + + static_instance-ucs-33 + sindh + karachi + gulberg + aisha_manzil + + + static_instance-ucs-34 + sindh + karachi + gulberg + ancholi + + + static_instance-ucs-35 + sindh + karachi + gulberg + naseerabad + + + static_instance-ucs-36 + sindh + karachi + gulberg + yaseenabad + + + static_instance-ucs-37 + sindh + karachi + gulberg + water_pump + + + static_instance-ucs-38 + sindh + karachi + gulberg + shafiq_mill_colony + + + static_instance-ucs-39 + sindh + karachi + gulshan + delhi_mercantile_society + + + static_instance-ucs-40 + sindh + karachi + gulshan + civic_centre + + + static_instance-ucs-41 + sindh + karachi + gulshan + pir_ilahi_buksh_colony + + + static_instance-ucs-42 + sindh + karachi + gulshan + essa_nagri + + + static_instance-ucs-43 + sindh + karachi + gulshan + gulshan_e_iqbal + + + static_instance-ucs-44 + sindh + karachi + gulshan + gillani_railway_station + + + static_instance-ucs-45 + sindh + karachi + gulshan + shanti_nagar + + + static_instance-ucs-46 + sindh + karachi + gulshan + jamali_colony + + + static_instance-ucs-47 + sindh + karachi + gulshan + gulshan_e_iqbal_ii + + + static_instance-ucs-48 + sindh + karachi + gulshan + pehlwan_goth + + + static_instance-ucs-49 + sindh + karachi + gulshan + matrovil_colony + + + static_instance-ucs-50 + sindh + karachi + gulshan + gulzar_e_hijri + + + static_instance-ucs-51 + sindh + karachi + gulshan + safooran_goth + + + static_instance-ucs-52 + sindh + karachi + jamshed + akhtar_colony + + + static_instance-ucs-53 + sindh + karachi + jamshed + manzoor_colony + + + static_instance-ucs-54 + sindh + karachi + jamshed + azam_basti + + + static_instance-ucs-55 + sindh + karachi + jamshed + chanesar_goth + + + static_instance-ucs-56 + sindh + karachi + jamshed + mahmudabad + + + static_instance-ucs-57 + sindh + karachi + jamshed + pechs + + + static_instance-ucs-58 + sindh + karachi + jamshed + pechs_ii + + + static_instance-ucs-59 + sindh + karachi + jamshed + jut_line + + + static_instance-ucs-60 + sindh + karachi + jamshed + central_jacob_lines + + + static_instance-ucs-61 + sindh + karachi + jamshed + jamshed_quarters + + + static_instance-ucs-62 + sindh + karachi + jamshed + garden_east + + + static_instance-ucs-63 + sindh + karachi + jamshed + soldier_bazar + + + static_instance-ucs-64 + sindh + karachi + jamshed + pakistan_quarters + + + static_instance-ucs-65 + sindh + karachi + kiamari + bhutta_village + + + static_instance-ucs-66 + sindh + karachi + kiamari + sultanabad + + + static_instance-ucs-67 + sindh + karachi + kiamari + kiamari_uc + + + static_instance-ucs-68 + sindh + karachi + kiamari + baba_bhit + + + static_instance-ucs-69 + sindh + karachi + kiamari + machar_colony + + + static_instance-ucs-70 + sindh + karachi + kiamari + maripur + + + static_instance-ucs-71 + sindh + karachi + kiamari + shershah + + + static_instance-ucs-72 + sindh + karachi + kiamari + gabo_pat + + + static_instance-ucs-73 + sindh + karachi + landhi + muzafarabad + + + static_instance-ucs-74 + sindh + karachi + landhi + muslimabad + + + static_instance-ucs-75 + sindh + karachi + landhi + dawood_chowrangi + + + static_instance-ucs-76 + sindh + karachi + landhi + moinabad + + + static_instance-ucs-77 + sindh + karachi + landhi + sharafi_goth + + + static_instance-ucs-78 + sindh + karachi + landhi + bhutto_nagar + + + static_instance-ucs-79 + sindh + karachi + landhi + khawaja_ajmeer_colony + + + static_instance-ucs-80 + sindh + karachi + landhi + landhi_uc + + + static_instance-ucs-81 + sindh + karachi + landhi + awami_colony + + + static_instance-ucs-82 + sindh + karachi + landhi + burmee_colony + + + static_instance-ucs-83 + sindh + karachi + landhi + korangi_uc + + + static_instance-ucs-84 + sindh + karachi + landhi + sherabad + + + static_instance-ucs-85 + sindh + karachi + liaquatabad + rizvia_society + + + static_instance-ucs-86 + sindh + karachi + liaquatabad + firdous_colony + + + static_instance-ucs-87 + sindh + karachi + liaquatabad + super_market + + + static_instance-ucs-88 + sindh + karachi + liaquatabad + dak_khana + + + static_instance-ucs-89 + sindh + karachi + liaquatabad + qasimabad + + + static_instance-ucs-90 + sindh + karachi + liaquatabad + bandhani_colony + + + static_instance-ucs-91 + sindh + karachi + liaquatabad + sharifabad + + + static_instance-ucs-92 + sindh + karachi + liaquatabad + commercial_area + + + static_instance-ucs-93 + sindh + karachi + liaquatabad + mujahid_colony + + + static_instance-ucs-94 + sindh + karachi + liaquatabad + nazimabad + + + static_instance-ucs-95 + sindh + karachi + liaquatabad + abbasi_shaheed + + + static_instance-ucs-96 + sindh + karachi + lyari + agra_taj_colony + + + static_instance-ucs-97 + sindh + karachi + lyari + daryaabad + + + static_instance-ucs-98 + sindh + karachi + lyari + nawabad + + + static_instance-ucs-99 + sindh + karachi + lyari + khada_memon_society + + + static_instance-ucs-100 + sindh + karachi + lyari + baghdadi + + + static_instance-ucs-101 + sindh + karachi + lyari + shah_baig_line + + + static_instance-ucs-102 + sindh + karachi + lyari + bihar_colony + + + static_instance-ucs-103 + sindh + karachi + lyari + ragiwara + + + static_instance-ucs-104 + sindh + karachi + lyari + singo_line + + + static_instance-ucs-105 + sindh + karachi + lyari + chakiwara + + + static_instance-ucs-106 + sindh + karachi + lyari + allama_iqbal_colony + + + static_instance-ucs-107 + sindh + karachi + malir + model_colony + + + static_instance-ucs-108 + sindh + karachi + malir + kala_board + + + static_instance-ucs-109 + sindh + karachi + malir + saudabad + + + static_instance-ucs-110 + sindh + karachi + malir + khokhra_par + + + static_instance-ucs-111 + sindh + karachi + malir + jafar_e_tayyar + + + static_instance-ucs-112 + sindh + karachi + malir + gharibabad + + + static_instance-ucs-113 + sindh + karachi + malir + ghazi_brohi_goth + + + static_instance-ucs-114 + sindh + karachi + new_karachi + kalyana + + + static_instance-ucs-115 + sindh + karachi + new_karachi + sir_syed_colony + + + static_instance-ucs-116 + sindh + karachi + new_karachi + fatima_jinnah_colony + + + static_instance-ucs-117 + sindh + karachi + new_karachi + godhra + + + static_instance-ucs-118 + sindh + karachi + new_karachi + abu_zar_ghaffari + + + static_instance-ucs-119 + sindh + karachi + new_karachi + hakim_ahsan + + + static_instance-ucs-120 + sindh + karachi + new_karachi + madina_colony + + + static_instance-ucs-121 + sindh + karachi + new_karachi + faisal_colony + + + static_instance-ucs-122 + sindh + karachi + new_karachi + khamiso_goth + + + static_instance-ucs-123 + sindh + karachi + new_karachi + mustufa_colony + + + static_instance-ucs-124 + sindh + karachi + new_karachi + khawaja_ajmeer_nagri + + + static_instance-ucs-125 + sindh + karachi + new_karachi + gulshan_e_saeed + + + static_instance-ucs-126 + sindh + karachi + new_karachi + shah_nawaz_bhutto_colony + + + static_instance-ucs-127 + sindh + karachi + north_nazimabad + paposh_nagar + + + static_instance-ucs-128 + sindh + karachi + north_nazimabad + pahar_ganj + + + static_instance-ucs-129 + sindh + karachi + north_nazimabad + khandu_goth + + + static_instance-ucs-130 + sindh + karachi + north_nazimabad + hyderi + + + static_instance-ucs-131 + sindh + karachi + north_nazimabad + sakhi_hassan + + + static_instance-ucs-132 + sindh + karachi + north_nazimabad + farooq_e_azam + + + static_instance-ucs-133 + sindh + karachi + north_nazimabad + nusrat_bhutto_colony + + + static_instance-ucs-134 + sindh + karachi + north_nazimabad + shadman_town + + + static_instance-ucs-135 + sindh + karachi + north_nazimabad + buffer_zone + + + static_instance-ucs-136 + sindh + karachi + north_nazimabad + buffer_zone_ii + + + static_instance-ucs-137 + sindh + karachi + orangi + mominabad + + + static_instance-ucs-138 + sindh + karachi + orangi + haryana_colony + + + static_instance-ucs-139 + sindh + karachi + orangi + hanifabad + + + static_instance-ucs-140 + sindh + karachi + orangi + mohammad_nagar + + + static_instance-ucs-141 + sindh + karachi + orangi + madina_colony_orangi + + + static_instance-ucs-142 + sindh + karachi + orangi + ghaziabad + + + static_instance-ucs-143 + sindh + karachi + orangi + chisti_nagar + + + static_instance-ucs-144 + sindh + karachi + orangi + bilal_colony_orangi + + + static_instance-ucs-145 + sindh + karachi + orangi + iqbal_baloch_colony + + + static_instance-ucs-146 + sindh + karachi + orangi + ghabool_town + + + static_instance-ucs-147 + sindh + karachi + orangi + data_nagar + + + static_instance-ucs-148 + sindh + karachi + orangi + mujahidabad + + + static_instance-ucs-149 + sindh + karachi + orangi + baloch_goth + + + static_instance-ucs-150 + sindh + karachi + saddar + old_haji_camp + + + static_instance-ucs-151 + sindh + karachi + saddar + garden + + + static_instance-ucs-152 + sindh + karachi + saddar + kharadar + + + static_instance-ucs-153 + sindh + karachi + saddar + city_railway_colony + + + static_instance-ucs-154 + sindh + karachi + saddar + nanak_wara + + + static_instance-ucs-155 + sindh + karachi + saddar + gazdarabad + + + static_instance-ucs-156 + sindh + karachi + saddar + millat_nagar_islam_pura + + + static_instance-ucs-157 + sindh + karachi + saddar + saddar_uc + + + static_instance-ucs-158 + sindh + karachi + saddar + civil_line + + + static_instance-ucs-159 + sindh + karachi + saddar + clifton + + + static_instance-ucs-160 + sindh + karachi + saddar + kehkashan + + + static_instance-ucs-161 + sindh + karachi + shah_faisal + natha_khan_goth + + + static_instance-ucs-162 + sindh + karachi + shah_faisal + pak_sadat_colony + + + static_instance-ucs-163 + sindh + karachi + shah_faisal + drigh_colony + + + static_instance-ucs-164 + sindh + karachi + shah_faisal + raita_plot + + + static_instance-ucs-165 + sindh + karachi + shah_faisal + moria_khan_goth + + + static_instance-ucs-166 + sindh + karachi + shah_faisal + rafa_e_aam_society + + + static_instance-ucs-167 + sindh + karachi + shah_faisal + al_falah_society + + + static_instance-ucs-168 + sindh + karachi + site + pak_colony + + + static_instance-ucs-169 + sindh + karachi + site + old_golimar + + + static_instance-ucs-170 + sindh + karachi + site + jahanabad + + + static_instance-ucs-171 + sindh + karachi + site + metrovil + + + static_instance-ucs-172 + sindh + karachi + site + bhawani_chali + + + static_instance-ucs-173 + sindh + karachi + site + frontier_colony + + + static_instance-ucs-174 + sindh + karachi + site + banaras_colony + + + static_instance-ucs-175 + sindh + karachi + site + qasba_colony + + + static_instance-ucs-176 + sindh + karachi + site + islamia_colony + + + static_instance-ucs-177 + na + na + na + other + + + static_instance-ucs-178 + na + na + na + not_applicable + + + + + + + static_instance-gender-0 + male + + + static_instance-gender-1 + female + + + static_instance-gender-2 + transgender + + + + + + + static_instance-vaccines-0 + bcg + + + static_instance-vaccines-1 + opv0 + + + static_instance-vaccines-2 + pcv1 + + + static_instance-vaccines-3 + opv1 + + + static_instance-vaccines-4 + penta1 + + + static_instance-vaccines-5 + pcv2 + + + static_instance-vaccines-6 + opv2 + + + static_instance-vaccines-7 + penta2 + + + static_instance-vaccines-8 + pcv3 + + + static_instance-vaccines-9 + opv3 + + + static_instance-vaccines-10 + penta3 + + + static_instance-vaccines-11 + ipv + + + static_instance-vaccines-12 + measles1 + + + static_instance-vaccines-13 + measles2 + + + + + + + static_instance-towns-0 + sindh + karachi + korangi + + + static_instance-towns-1 + sindh + karachi + landhi + + + static_instance-towns-2 + sindh + karachi + baldia + + + static_instance-towns-3 + sindh + karachi + bin_qasim + + + static_instance-towns-4 + sindh + karachi + gadap + + + static_instance-towns-5 + sindh + karachi + gulberg + + + static_instance-towns-6 + sindh + karachi + gulshan + + + static_instance-towns-7 + sindh + karachi + jamshed + + + static_instance-towns-8 + sindh + karachi + kiamari + + + static_instance-towns-9 + sindh + karachi + liaquatabad + + + static_instance-towns-10 + sindh + karachi + lyari + + + static_instance-towns-11 + sindh + karachi + malir + + + static_instance-towns-12 + sindh + karachi + new_karachi + + + static_instance-towns-13 + sindh + karachi + north_nazimabad + + + static_instance-towns-14 + sindh + karachi + orangi + + + static_instance-towns-15 + sindh + karachi + saddar + + + static_instance-towns-16 + sindh + karachi + shah_faisal + + + static_instance-towns-17 + sindh + karachi + site + + + static_instance-towns-18 + na + na + other + + + static_instance-towns-19 + na + na + not_applicable + + + + + + + static_instance-cities-0 + sindh + karachi + + + static_instance-cities-1 + punjab + hafizabad + + + static_instance-cities-2 + punjab + muzaffargarh + + + static_instance-cities-3 + na + other + + + static_instance-cities-4 + na + not_applicable + + + + + + + static_instance-ethnicity-0 + punjabi + + + static_instance-ethnicity-1 + pushtuns + + + static_instance-ethnicity-2 + sindhi + + + static_instance-ethnicity-3 + saraiki + + + static_instance-ethnicity-4 + muhajir + + + static_instance-ethnicity-5 + balochi + + + static_instance-ethnicity-6 + other + + + + + + + static_instance-yes_no-0 + yes + + + static_instance-yes_no-1 + no + + + + diff --git a/opensrp-connector/bin/src/test/resources/form/child_followup/form.json b/opensrp-connector/bin/src/test/resources/form/child_followup/form.json new file mode 100644 index 0000000000..964bded2bb --- /dev/null +++ b/opensrp-connector/bin/src/test/resources/form/child_followup/form.json @@ -0,0 +1 @@ +{"name":"Child_Vaccination_Followup","title":"بچّوں کا فالو اپ رجسٹر برائے ٹیکاجات - Child Follow Up Vaccination Register","sms_keyword":"child_vaccination_followup","default_language":"English","choices":{"provinces":[{"name":"kpk","label":{"Urdu":"خیبر پختون خواہ","English":"Khyber Pakhtunkhwa","Roman Urdu":"Khyber Pakhtunkhwa"}},{"name":"sindh","label":{"Urdu":"سندھ","English":"Sindh","Roman Urdu":"Sindh"}},{"name":"balochistan","label":{"Urdu":"بلوچستان","English":"Balochistan","Roman Urdu":"Balochistan"}},{"name":"punjab","label":{"Urdu":"پنجاب","English":"Punjab","Roman Urdu":"Punjab"}},{"name":"gilgit_baltistan","label":{"Urdu":"گلگت بلتستان","English":"Gilgit Baltistan","Roman Urdu":"Gilgit Baltistan"}},{"name":"kashmir","label":{"Urdu":"کشمیر","English":"Kashmir","Roman Urdu":"Kashmir"}},{"name":"fata","label":{"Urdu":"فاٹا","English":"FATA","Roman Urdu":"FATA"}},{"name":"out_of_country","label":{"Urdu":"ملک سے باہر","English":"Out of Country","Roman Urdu":"Out of Country"}}],"ucs":[{"province":"sindh","city":"karachi","town":"korangi","name":"bilal_colony","label":{"Urdu":"بلال کالونی","Roman Urdu":"Bilal Colony","English":"Bilal Colony"}},{"province":"sindh","city":"karachi","town":"korangi","name":"nasir_colony","label":{"Urdu":"ناصر کالونی","Roman Urdu":"Nasir Colony","English":"Nasir Colony"}},{"province":"sindh","city":"karachi","town":"korangi","name":"chakra_goth","label":{"Urdu":"چکرا گوٹھ","Roman Urdu":"Chakra Goth","English":"Chakra Goth"}},{"province":"sindh","city":"karachi","town":"korangi","name":"mustafa_taj_colony","label":{"Urdu":"مصطفی تاج کالونی","Roman Urdu":"Mustafa Taj Colony","English":"Mustafa Taj Colony"}},{"province":"sindh","city":"karachi","town":"korangi","name":"hundred_quarters","label":{"Urdu":"ہنڈریڈ کوارٹر","Roman Urdu":"Hundred Quarters","English":"Hundred Quarters"}},{"province":"sindh","city":"karachi","town":"korangi","name":"gulzar_colony","label":{"Urdu":"گلزار کالونی","Roman Urdu":"Gulzar Colony","English":"Gulzar Colony"}},{"province":"sindh","city":"karachi","town":"korangi","name":"korangi_sector_33","label":{"Urdu":"کورنگی سیکٹر 33","Roman Urdu":"Korangi Sector 33","English":"Korangi Sector 33"}},{"province":"sindh","city":"karachi","town":"korangi","name":"zaman_town","label":{"Urdu":"زمان ٹاوَن","Roman Urdu":"Zaman Town","English":"Zaman Town"}},{"province":"sindh","city":"karachi","town":"korangi","name":"hasrat_mohani_colony","label":{"Urdu":"حسرت موہانی کالونی","Roman Urdu":"Hasrat Mohani Colony","English":"Hasrat Mohani Colony"}},{"province":"sindh","city":"karachi","town":"baldia","name":"gulshan_e_ghazi","label":{"Urdu":"گلشن غازی","Roman Urdu":"Gulshan-e-Ghazi","English":"Gulshan-e-Ghazi"}},{"province":"sindh","city":"karachi","town":"baldia","name":"ittehad_town","label":{"Urdu":"اتحاد ٹاوَن","Roman Urdu":"Ittehad Town","English":"Ittehad Town"}},{"province":"sindh","city":"karachi","town":"baldia","name":"islam_nagar","label":{"Urdu":"اسلام نگر","Roman Urdu":"Islam Nagar","English":"Islam Nagar"}},{"province":"sindh","city":"karachi","town":"baldia","name":"nai_abadi","label":{"Urdu":"نئی آبادی","Roman Urdu":"Nai Abadi","English":"Nai Abadi"}},{"province":"sindh","city":"karachi","town":"baldia","name":"saeedabad","label":{"Urdu":"سعید آباد","Roman Urdu":"Saeedabad","English":"Saeedabad"}},{"province":"sindh","city":"karachi","town":"baldia","name":"muslim_mujahid_colony","label":{"Urdu":"مسلم مجاہد کالونی","Roman Urdu":"Muslim Mujahid Colony","English":"Muslim Mujahid Colony"}},{"province":"sindh","city":"karachi","town":"baldia","name":"muhajir_camp","label":{"Urdu":"مہاجر کیمپ","Roman Urdu":"Muhajir Camp","English":"Muhajir Camp"}},{"province":"sindh","city":"karachi","town":"baldia","name":"rasheedabad","label":{"Urdu":"رشید آباد","Roman Urdu":"Rasheedabad","English":"Rasheedabad"}},{"province":"sindh","city":"karachi","town":"bin_qasim","name":"ibrahim_hyderi","label":{"Urdu":"ابراہیم حیدری","Roman Urdu":"Ibrahim Hyderi","English":"Ibrahim Hyderi"}},{"province":"sindh","city":"karachi","town":"bin_qasim","name":"rehri","label":{"Urdu":"رہڑی","Roman Urdu":"Rehri","English":"Rehri"}},{"province":"sindh","city":"karachi","town":"bin_qasim","name":"cattle_colony","label":{"Urdu":"کیٹل کالونی","Roman Urdu":"Cattle Colony","English":"Cattle Colony"}},{"province":"sindh","city":"karachi","town":"bin_qasim","name":"qaidabad","label":{"Urdu":"قائدآباد","Roman Urdu":"Qaidabad","English":"Qaidabad"}},{"province":"sindh","city":"karachi","town":"bin_qasim","name":"landhi_colony","label":{"Urdu":"لانڈھی کالونی","Roman Urdu":"Landhi Colony","English":"Landhi Colony"}},{"province":"sindh","city":"karachi","town":"bin_qasim","name":"gulshan_e_hadeed","label":{"Urdu":"گلشن حدید","Roman Urdu":"Gulshan-e-Hadeed","English":"Gulshan-e-Hadeed"}},{"province":"sindh","city":"karachi","town":"bin_qasim","name":"gaghar","label":{"Urdu":"گگر","Roman Urdu":"Gaghar","English":"Gaghar"}},{"province":"sindh","city":"karachi","town":"gadap","name":"murad_memon_goth","label":{"Urdu":"مراد میمن گوٹھ","Roman Urdu":"Murad Memon Goth","English":"Murad Memon Goth"}},{"province":"sindh","city":"karachi","town":"gadap","name":"darsano_chana","label":{"Urdu":"درشانو شنو","Roman Urdu":"Darsano Chana","English":"Darsano Chana"}},{"province":"sindh","city":"karachi","town":"gadap","name":"gujro","label":{"Urdu":"گجرو","Roman Urdu":"Gujro","English":"Gujro"}},{"province":"sindh","city":"karachi","town":"gadap","name":"songal","label":{"Urdu":"سنگل","Roman Urdu":"Songal","English":"Songal"}},{"province":"sindh","city":"karachi","town":"gadap","name":"maymarabad","label":{"Urdu":"معمار آباد","Roman Urdu":"Maymarabad","English":"Maymarabad"}},{"province":"sindh","city":"karachi","town":"gadap","name":"yousuf_goth","label":{"Urdu":"یوسف گوٹھ","Roman Urdu":"Yousuf Goth","English":"Yousuf Goth"}},{"province":"sindh","city":"karachi","town":"gadap","name":"manghopir","label":{"Urdu":"منگھوپیر","Roman Urdu":"Manghopir","English":"Manghopir"}},{"province":"sindh","city":"karachi","town":"gulberg","name":"azizabad","label":{"Urdu":"عزیز آباد","Roman Urdu":"Azizabad","English":"Azizabad"}},{"province":"sindh","city":"karachi","town":"gulberg","name":"karimabad","label":{"Urdu":"کریم آباد","Roman Urdu":"Karimabad","English":"Karimabad"}},{"province":"sindh","city":"karachi","town":"gulberg","name":"aisha_manzil","label":{"Urdu":"عائشہ منزل","Roman Urdu":"Aisha Manzil","English":"Aisha Manzil"}},{"province":"sindh","city":"karachi","town":"gulberg","name":"ancholi","label":{"Urdu":"انچولی","Roman Urdu":"Ancholi","English":"Ancholi"}},{"province":"sindh","city":"karachi","town":"gulberg","name":"naseerabad","label":{"Urdu":"نصیرآباد","Roman Urdu":"Naseerabad","English":"Naseerabad"}},{"province":"sindh","city":"karachi","town":"gulberg","name":"yaseenabad","label":{"Urdu":"یاسین آباد","Roman Urdu":"Yaseenabad","English":"Yaseenabad"}},{"province":"sindh","city":"karachi","town":"gulberg","name":"water_pump","label":{"Urdu":"واٹرپمپ","Roman Urdu":"Water Pump","English":"Water Pump"}},{"province":"sindh","city":"karachi","town":"gulberg","name":"shafiq_mill_colony","label":{"Urdu":"شفیق مل کالونی","Roman Urdu":"Shafiq Mill Colony","English":"Shafiq Mill Colony"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"delhi_mercantile_society","label":{"Urdu":"دہلی مرچنٹائل سوسائٹی","Roman Urdu":"Delhi Mercantile Society","English":"Delhi Mercantile Society"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"civic_centre","label":{"Urdu":"سوک سینٹر","Roman Urdu":"Civic Centre","English":"Civic Centre"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"pir_ilahi_buksh_colony","label":{"Urdu":"پیر الہی بخش کالونی","Roman Urdu":"Pir Ilahi Buksh Colony","English":"Pir Ilahi Buksh Colony"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"essa_nagri","label":{"Urdu":"عیسی نگری","Roman Urdu":"Essa Nagri","English":"Essa Nagri"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"gulshan_e_iqbal","label":{"Urdu":"گلشن اقبال","Roman Urdu":"Gulshan-e-Iqbal","English":"Gulshan-e-Iqbal"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"gillani_railway_station","label":{"Urdu":"گیلانی ریلوے اسٹیشن","Roman Urdu":"Gillani Railway Station","English":"Gillani Railway Station"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"shanti_nagar","label":{"Urdu":"شانتی نگر","Roman Urdu":"Shanti Nagar","English":"Shanti Nagar"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"jamali_colony","label":{"Urdu":"جمالی کالونی","Roman Urdu":"Jamali Colony","English":"Jamali Colony"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"gulshan_e_iqbal_ii","label":{"Urdu":"گلشن اقبال 2","Roman Urdu":"Gulshan-e-Iqbal II","English":"Gulshan-e-Iqbal II"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"pehlwan_goth","label":{"Urdu":"پہلوان گوٹھ","Roman Urdu":"Pehlwan Goth","English":"Pehlwan Goth"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"matrovil_colony","label":{"Urdu":"میٹروویل کالونی","Roman Urdu":"Matrovil Colony","English":"Matrovil Colony"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"gulzar_e_hijri","label":{"Urdu":"گلزار ہجری","Roman Urdu":"Gulzar-e-Hijri","English":"Gulzar-e-Hijri"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"safooran_goth","label":{"Urdu":"صفورا گوٹھ","Roman Urdu":"Safooran Goth","English":"Safooran Goth"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"akhtar_colony","label":{"Urdu":"اختر کالونی","Roman Urdu":"Akhtar Colony","English":"Akhtar Colony"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"manzoor_colony","label":{"Urdu":"منظور کالونی","Roman Urdu":"Manzoor Colony","English":"Manzoor Colony"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"azam_basti","label":{"Urdu":"اعظم بستی","Roman Urdu":"Azam Basti","English":"Azam Basti"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"chanesar_goth","label":{"Urdu":"چنیسر گوٹھ","Roman Urdu":"Chanesar Goth","English":"Chanesar Goth"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"mahmudabad","label":{"Urdu":"محمودآباد","Roman Urdu":"Mahmudabad","English":"Mahmudabad"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"pechs","label":{"Urdu":"پی۔ای۔سی۔ایچ۔ایس","Roman Urdu":"P.E.C.H.S.","English":"P.E.C.H.S."}},{"province":"sindh","city":"karachi","town":"jamshed","name":"pechs_ii","label":{"Urdu":"پی۔ای۔سی۔ایچ۔ایس 2","Roman Urdu":"P.E.C.H.S. II","English":"P.E.C.H.S. II"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"jut_line","label":{"Urdu":"جٹ لائن","Roman Urdu":"Jut Line","English":"Jut Line"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"central_jacob_lines","label":{"Urdu":"سینٹرل جیکب لائن","Roman Urdu":"Central Jacob Lines","English":"Central Jacob Lines"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"jamshed_quarters","label":{"Urdu":"جمشید کوارٹر","Roman Urdu":"Jamshed Quarters","English":"Jamshed Quarters"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"garden_east","label":{"Urdu":"گارڈن ایسٹ","Roman Urdu":"Garden East","English":"Garden East"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"soldier_bazar","label":{"Urdu":"سولجر بازار","Roman Urdu":"Soldier Bazar","English":"Soldier Bazar"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"pakistan_quarters","label":{"Urdu":"پاکستان کوارٹر","Roman Urdu":"Pakistan Quarters","English":"Pakistan Quarters"}},{"province":"sindh","city":"karachi","town":"kiamari","name":"bhutta_village","label":{"Urdu":"بھٹا ولیج","Roman Urdu":"Bhutta Village","English":"Bhutta Village"}},{"province":"sindh","city":"karachi","town":"kiamari","name":"sultanabad","label":{"Urdu":"سلطان آباد","Roman Urdu":"Sultanabad","English":"Sultanabad"}},{"province":"sindh","city":"karachi","town":"kiamari","name":"kiamari_uc","label":{"Urdu":"کیماری یو- سی","Roman Urdu":"Kiamari UC","English":"Kiamari UC"}},{"province":"sindh","city":"karachi","town":"kiamari","name":"baba_bhit","label":{"Urdu":"بابا بھٹ","Roman Urdu":"Baba Bhit","English":"Baba Bhit"}},{"province":"sindh","city":"karachi","town":"kiamari","name":"machar_colony","label":{"Urdu":"مچھر کالونی","Roman Urdu":"Machar Colony","English":"Machar Colony"}},{"province":"sindh","city":"karachi","town":"kiamari","name":"maripur","label":{"Urdu":"ماڑی پور","Roman Urdu":"Maripur","English":"Maripur"}},{"province":"sindh","city":"karachi","town":"kiamari","name":"shershah","label":{"Urdu":"شیرشاہ","Roman Urdu":"SherShah","English":"SherShah"}},{"province":"sindh","city":"karachi","town":"kiamari","name":"gabo_pat","label":{"Urdu":"گابو پٹ","Roman Urdu":"Gabo Pat","English":"Gabo Pat"}},{"province":"sindh","city":"karachi","town":"landhi","name":"muzafarabad","label":{"Urdu":"مظفرآباد","Roman Urdu":"Muzafarabad","English":"Muzafarabad"}},{"province":"sindh","city":"karachi","town":"landhi","name":"muslimabad","label":{"Urdu":"مسلم آباد","Roman Urdu":"Muslimabad","English":"Muslimabad"}},{"province":"sindh","city":"karachi","town":"landhi","name":"dawood_chowrangi","label":{"Urdu":"داوَد چورنگی","Roman Urdu":"Dawood Chowrangi","English":"Dawood Chowrangi"}},{"province":"sindh","city":"karachi","town":"landhi","name":"moinabad","label":{"Urdu":"معین آباد","Roman Urdu":"Moinabad","English":"Moinabad"}},{"province":"sindh","city":"karachi","town":"landhi","name":"sharafi_goth","label":{"Urdu":"شرافی گوٹھ","Roman Urdu":"Sharafi Goth","English":"Sharafi Goth"}},{"province":"sindh","city":"karachi","town":"landhi","name":"bhutto_nagar","label":{"Urdu":"بھٹو نگر","Roman Urdu":"Bhutto Nagar","English":"Bhutto Nagar"}},{"province":"sindh","city":"karachi","town":"landhi","name":"khawaja_ajmeer_colony","label":{"Urdu":"خواجہ اجمیر کالونی","Roman Urdu":"Khawaja Ajmeer Colony","English":"Khawaja Ajmeer Colony"}},{"province":"sindh","city":"karachi","town":"landhi","name":"landhi_uc","label":{"Urdu":"لانڈھی یوسی","Roman Urdu":"Landhi UC","English":"Landhi UC"}},{"province":"sindh","city":"karachi","town":"landhi","name":"awami_colony","label":{"Urdu":"عوامی کالونی","Roman Urdu":"Awami Colony","English":"Awami Colony"}},{"province":"sindh","city":"karachi","town":"landhi","name":"burmee_colony","label":{"Urdu":"برمی کالونی","Roman Urdu":"Burmee Colony","English":"Burmee Colony"}},{"province":"sindh","city":"karachi","town":"landhi","name":"korangi_uc","label":{"Urdu":"کورنگی یوسی","Roman Urdu":"Korangi UC","English":"Korangi UC"}},{"province":"sindh","city":"karachi","town":"landhi","name":"sherabad","label":{"Urdu":"شیرآباد","Roman Urdu":"Sherabad","English":"Sherabad"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"rizvia_society","label":{"Urdu":"رضویہ سوسائٹی","Roman Urdu":"Rizvia Society","English":"Rizvia Society"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"firdous_colony","label":{"Urdu":"فردوس کالونی","Roman Urdu":"Firdous Colony","English":"Firdous Colony"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"super_market","label":{"Urdu":"سپر مارکیٹ","Roman Urdu":"Super Market","English":"Super Market"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"dak_khana","label":{"Urdu":"دک کھانہ","Roman Urdu":"Dak Khana","English":"Dak Khana"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"qasimabad","label":{"Urdu":"قاسم آباد","Roman Urdu":"Qasimabad","English":"Qasimabad"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"bandhani_colony","label":{"Urdu":"بندھانی کالونی","Roman Urdu":"Bandhani Colony","English":"Bandhani Colony"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"sharifabad","label":{"Urdu":"شریف آباد","Roman Urdu":"Sharifabad","English":"Sharifabad"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"commercial_area","label":{"Urdu":"کمرشل ایریا","Roman Urdu":"Commercial Area","English":"Commercial Area"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"mujahid_colony","label":{"Urdu":"مجاہد کالونی","Roman Urdu":"Mujahid Colony","English":"Mujahid Colony"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"nazimabad","label":{"Urdu":"ناظم آباد","Roman Urdu":"Nazimabad","English":"Nazimabad"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"abbasi_shaheed","label":{"Urdu":"عباسی شہید","Roman Urdu":"Abbasi Shaheed","English":"Abbasi Shaheed"}},{"province":"sindh","city":"karachi","town":"lyari","name":"agra_taj_colony","label":{"Urdu":"آگرہ تاج کالونی","Roman Urdu":"Agra Taj Colony","English":"Agra Taj Colony"}},{"province":"sindh","city":"karachi","town":"lyari","name":"daryaabad","label":{"Urdu":"دریاآباد","Roman Urdu":"Daryaabad","English":"Daryaabad"}},{"province":"sindh","city":"karachi","town":"lyari","name":"nawabad","label":{"Urdu":"نواآباد","Roman Urdu":"Nawabad","English":"Nawabad"}},{"province":"sindh","city":"karachi","town":"lyari","name":"khada_memon_society","label":{"Urdu":"خدا- میمن- سوساَٹی","Roman Urdu":"Khada Memon Society","English":"Khada Memon Society"}},{"province":"sindh","city":"karachi","town":"lyari","name":"baghdadi","label":{"Urdu":"بغدادی","Roman Urdu":"Baghdadi","English":"Baghdadi"}},{"province":"sindh","city":"karachi","town":"lyari","name":"shah_baig_line","label":{"Urdu":"شاھ باغ لائن","Roman Urdu":"Shah Baig Line","English":"Shah Baig Line"}},{"province":"sindh","city":"karachi","town":"lyari","name":"bihar_colony","label":{"Urdu":"بہار کالونی","Roman Urdu":"Bihar Colony","English":"Bihar Colony"}},{"province":"sindh","city":"karachi","town":"lyari","name":"ragiwara","label":{"Urdu":"راگی واڑا","Roman Urdu":"Ragiwara","English":"Ragiwara"}},{"province":"sindh","city":"karachi","town":"lyari","name":"singo_line","label":{"Urdu":"سنگولائن","Roman Urdu":"Singo Line","English":"Singo Line"}},{"province":"sindh","city":"karachi","town":"lyari","name":"chakiwara","label":{"Urdu":"چاکی واڑا","Roman Urdu":"Chakiwara","English":"Chakiwara"}},{"province":"sindh","city":"karachi","town":"lyari","name":"allama_iqbal_colony","label":{"Urdu":"علامہ اقبال کالونی","Roman Urdu":"Allama Iqbal Colony","English":"Allama Iqbal Colony"}},{"province":"sindh","city":"karachi","town":"malir","name":"model_colony","label":{"Urdu":"موڈل کالونی","Roman Urdu":"Model Colony","English":"Model Colony"}},{"province":"sindh","city":"karachi","town":"malir","name":"kala_board","label":{"Urdu":"کالا بورڈ","Roman Urdu":"Kala Board","English":"Kala Board"}},{"province":"sindh","city":"karachi","town":"malir","name":"saudabad","label":{"Urdu":"سعودآباد","Roman Urdu":"Saudabad","English":"Saudabad"}},{"province":"sindh","city":"karachi","town":"malir","name":"khokhra_par","label":{"Urdu":"کھوکھرا پار","Roman Urdu":"Khokhra Par","English":"Khokhra Par"}},{"province":"sindh","city":"karachi","town":"malir","name":"jafar_e_tayyar","label":{"Urdu":"جعفر تیار","Roman Urdu":"Jafar-e-Tayyar","English":"Jafar-e-Tayyar"}},{"province":"sindh","city":"karachi","town":"malir","name":"gharibabad","label":{"Urdu":"غریب آباد","Roman Urdu":"Gharibabad","English":"Gharibabad"}},{"province":"sindh","city":"karachi","town":"malir","name":"ghazi_brohi_goth","label":{"Urdu":"غازی بروہی گوٹھ","Roman Urdu":"Ghazi Brohi Goth","English":"Ghazi Brohi Goth"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"kalyana","label":{"Urdu":"کالیانہ","Roman Urdu":"Kalyana","English":"Kalyana"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"sir_syed_colony","label":{"Urdu":"سر سید کالونی","Roman Urdu":"Sir Syed Colony","English":"Sir Syed Colony"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"fatima_jinnah_colony","label":{"Urdu":"فاطمہ جناح کالونی","Roman Urdu":"Fatima Jinnah Colony","English":"Fatima Jinnah Colony"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"godhra","label":{"Urdu":"گودھرا","Roman Urdu":"Godhra","English":"Godhra"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"abu_zar_ghaffari","label":{"Urdu":"ابو زر غفاری","Roman Urdu":"Abu Zar Ghaffari","English":"Abu Zar Ghaffari"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"hakim_ahsan","label":{"Urdu":"حاکم احسان","Roman Urdu":"Hakim Ahsan","English":"Hakim Ahsan"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"madina_colony","label":{"Urdu":"مدینہ کالونی","Roman Urdu":"Madina Colony","English":"Madina Colony"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"faisal_colony","label":{"Urdu":"فیصل کالونی","Roman Urdu":"Faisal Colony","English":"Faisal Colony"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"khamiso_goth","label":{"Urdu":"خمیسو گوٹھ","Roman Urdu":"Khamiso Goth","English":"Khamiso Goth"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"mustufa_colony","label":{"Urdu":"مصطفی کالونی","Roman Urdu":"Mustufa Colony","English":"Mustufa Colony"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"khawaja_ajmeer_nagri","label":{"Urdu":"خواجہ اجمیر نگری","Roman Urdu":"Khawaja Ajmeer Nagri","English":"Khawaja Ajmeer Nagri"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"gulshan_e_saeed","label":{"Urdu":"گلشن سعید","Roman Urdu":"Gulshan-e-Saeed","English":"Gulshan-e-Saeed"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"shah_nawaz_bhutto_colony","label":{"Urdu":"شاہ نواز بھٹو کالونی","Roman Urdu":"Shah Nawaz Bhutto Colony","English":"Shah Nawaz Bhutto Colony"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"paposh_nagar","label":{"Urdu":"پاپوش نگر","Roman Urdu":"Paposh Nagar","English":"Paposh Nagar"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"pahar_ganj","label":{"Urdu":"پہاڑ گنج","Roman Urdu":"Pahar Ganj","English":"Pahar Ganj"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"khandu_goth","label":{"Urdu":"کھنڑو گوٹھ","Roman Urdu":"Khandu Goth","English":"Khandu Goth"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"hyderi","label":{"Urdu":"حیدری","Roman Urdu":"Hyderi","English":"Hyderi"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"sakhi_hassan","label":{"Urdu":"سخی حسن","Roman Urdu":"Sakhi Hassan","English":"Sakhi Hassan"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"farooq_e_azam","label":{"Urdu":"فاروق اعظم","Roman Urdu":"Farooq-e-Azam","English":"Farooq-e-Azam"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"nusrat_bhutto_colony","label":{"Urdu":"نصرت بھٹو کالونی","Roman Urdu":"Nusrat Bhutto Colony","English":"Nusrat Bhutto Colony"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"shadman_town","label":{"Urdu":"شادمان ٹاوَن","Roman Urdu":"Shadman Town","English":"Shadman Town"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"buffer_zone","label":{"Urdu":"بفرزون","Roman Urdu":"Buffer Zone","English":"Buffer Zone"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"buffer_zone_ii","label":{"Urdu":"بفرزون 2","Roman Urdu":"Buffer Zone II","English":"Buffer Zone II"}},{"province":"sindh","city":"karachi","town":"orangi","name":"mominabad","label":{"Urdu":"مومن آباد","Roman Urdu":"Mominabad","English":"Mominabad"}},{"province":"sindh","city":"karachi","town":"orangi","name":"haryana_colony","label":{"Urdu":"حریانہ کالونی","Roman Urdu":"Haryana Colony","English":"Haryana Colony"}},{"province":"sindh","city":"karachi","town":"orangi","name":"hanifabad","label":{"Urdu":"حنیف آباد","Roman Urdu":"Hanifabad","English":"Hanifabad"}},{"province":"sindh","city":"karachi","town":"orangi","name":"mohammad_nagar","label":{"Urdu":"محمد نگر","Roman Urdu":"Mohammad Nagar","English":"Mohammad Nagar"}},{"province":"sindh","city":"karachi","town":"orangi","name":"madina_colony_orangi","label":{"Urdu":"مدینہ کالونی اورنگی","Roman Urdu":"Madina Colony Orangi","English":"Madina Colony Orangi"}},{"province":"sindh","city":"karachi","town":"orangi","name":"ghaziabad","label":{"Urdu":"غازی آباد","Roman Urdu":"Ghaziabad","English":"Ghaziabad"}},{"province":"sindh","city":"karachi","town":"orangi","name":"chisti_nagar","label":{"Urdu":"چشتی نگر","Roman Urdu":"Chisti Nagar","English":"Chisti Nagar"}},{"province":"sindh","city":"karachi","town":"orangi","name":"bilal_colony_orangi","label":{"Urdu":"بلال کالونی اورنگی","Roman Urdu":"Bilal Colony Orangi","English":"Bilal Colony Orangi"}},{"province":"sindh","city":"karachi","town":"orangi","name":"iqbal_baloch_colony","label":{"Urdu":"اقبال بلوچ کالونی","Roman Urdu":"Iqbal Baloch Colony","English":"Iqbal Baloch Colony"}},{"province":"sindh","city":"karachi","town":"orangi","name":"ghabool_town","label":{"Urdu":"گبول ٹاوَن","Roman Urdu":"Ghabool Town","English":"Ghabool Town"}},{"province":"sindh","city":"karachi","town":"orangi","name":"data_nagar","label":{"Urdu":"داتا نگر","Roman Urdu":"Data Nagar","English":"Data Nagar"}},{"province":"sindh","city":"karachi","town":"orangi","name":"mujahidabad","label":{"Urdu":"مجاہد آباد","Roman Urdu":"Mujahidabad","English":"Mujahidabad"}},{"province":"sindh","city":"karachi","town":"orangi","name":"baloch_goth","label":{"Urdu":"بلوچ گوٹھ","Roman Urdu":"Baloch Goth","English":"Baloch Goth"}},{"province":"sindh","city":"karachi","town":"saddar","name":"old_haji_camp","label":{"Urdu":"پرانہ حاجی کیمپ","Roman Urdu":"Old Haji Camp","English":"Old Haji Camp"}},{"province":"sindh","city":"karachi","town":"saddar","name":"garden","label":{"Urdu":"گارڈن","Roman Urdu":"Garden","English":"Garden"}},{"province":"sindh","city":"karachi","town":"saddar","name":"kharadar","label":{"Urdu":"کھارادر","Roman Urdu":"Kharadar","English":"Kharadar"}},{"province":"sindh","city":"karachi","town":"saddar","name":"city_railway_colony","label":{"Urdu":"سٹی ریلوے کالونی","Roman Urdu":"City Railway Colony","English":"City Railway Colony"}},{"province":"sindh","city":"karachi","town":"saddar","name":"nanak_wara","label":{"Urdu":"ناناک واڑا","Roman Urdu":"Nanak Wara","English":"Nanak Wara"}},{"province":"sindh","city":"karachi","town":"saddar","name":"gazdarabad","label":{"Urdu":"گزدرآباد","Roman Urdu":"Gazdarabad","English":"Gazdarabad"}},{"province":"sindh","city":"karachi","town":"saddar","name":"millat_nagar_islam_pura","label":{"Urdu":"ملت نگر اسلام پورا","Roman Urdu":"Millat Nagar/Islam Pura","English":"Millat Nagar/Islam Pura"}},{"province":"sindh","city":"karachi","town":"saddar","name":"saddar_uc","label":{"Urdu":"صدر یو سی","Roman Urdu":"Saddar UC","English":"Saddar UC"}},{"province":"sindh","city":"karachi","town":"saddar","name":"civil_line","label":{"Urdu":"سول لائن","Roman Urdu":"Civil Line","English":"Civil Line"}},{"province":"sindh","city":"karachi","town":"saddar","name":"clifton","label":{"Urdu":"کلفٹن","Roman Urdu":"Clifton","English":"Clifton"}},{"province":"sindh","city":"karachi","town":"saddar","name":"kehkashan","label":{"Urdu":"کہکشان","Roman Urdu":"Kehkashan","English":"Kehkashan"}},{"province":"sindh","city":"karachi","town":"shah_faisal","name":"natha_khan_goth","label":{"Urdu":"ناتھا خان گوٹھ","Roman Urdu":"Natha Khan Goth","English":"Natha Khan Goth"}},{"province":"sindh","city":"karachi","town":"shah_faisal","name":"pak_sadat_colony","label":{"Urdu":"پاک صدر کالونی","Roman Urdu":"Pak Sadat Colony","English":"Pak Sadat Colony"}},{"province":"sindh","city":"karachi","town":"shah_faisal","name":"drigh_colony","label":{"Urdu":"ڈرگ کالونی","Roman Urdu":"Drigh Colony","English":"Drigh Colony"}},{"province":"sindh","city":"karachi","town":"shah_faisal","name":"raita_plot","label":{"Urdu":"رائتا پلاٹ","Roman Urdu":"Raita Plot","English":"Raita Plot"}},{"province":"sindh","city":"karachi","town":"shah_faisal","name":"moria_khan_goth","label":{"Urdu":"موریا خان گوٹھ","Roman Urdu":"Moria Khan Goth","English":"Moria Khan Goth"}},{"province":"sindh","city":"karachi","town":"shah_faisal","name":"rafa_e_aam_society","label":{"Urdu":"رفا عام سوسا ئٹی","Roman Urdu":"Rafa-e-Aam Society","English":"Rafa-e-Aam Society"}},{"province":"sindh","city":"karachi","town":"shah_faisal","name":"al_falah_society","label":{"Urdu":"الفلاح سوسا ئٹی","Roman Urdu":"Al-Falah Society","English":"Al-Falah Society"}},{"province":"sindh","city":"karachi","town":"site","name":"pak_colony","label":{"Urdu":"پاک کالونی","Roman Urdu":"Pak Colony","English":"Pak Colony"}},{"province":"sindh","city":"karachi","town":"site","name":"old_golimar","label":{"Urdu":"پرانہ گولی مار","Roman Urdu":"Old Golimar","English":"Old Golimar"}},{"province":"sindh","city":"karachi","town":"site","name":"jahanabad","label":{"Urdu":"جہان آباد","Roman Urdu":"Jahanabad","English":"Jahanabad"}},{"province":"sindh","city":"karachi","town":"site","name":"metrovil","label":{"Urdu":"میٹروویل","Roman Urdu":"Metrovil","English":"Metrovil"}},{"province":"sindh","city":"karachi","town":"site","name":"bhawani_chali","label":{"Urdu":"بہوانی چالی","Roman Urdu":"Bhawani Chali","English":"Bhawani Chali"}},{"province":"sindh","city":"karachi","town":"site","name":"frontier_colony","label":{"Urdu":"فرونٹر کالونی","Roman Urdu":"Frontier Colony","English":"Frontier Colony"}},{"province":"sindh","city":"karachi","town":"site","name":"banaras_colony","label":{"Urdu":"بنارس کالونی","Roman Urdu":"Banaras Colony","English":"Banaras Colony"}},{"province":"sindh","city":"karachi","town":"site","name":"qasba_colony","label":{"Urdu":"قصبہ کالونی","Roman Urdu":"Qasba Colony","English":"Qasba Colony"}},{"province":"sindh","city":"karachi","town":"site","name":"islamia_colony","label":{"Urdu":"اسلامیہ کالونی","Roman Urdu":"Islamia Colony","English":"Islamia Colony"}},{"province":"na","city":"na","town":"na","name":"other","label":{"Urdu":"دیگر","Roman Urdu":"Deegar","English":"Other"}},{"province":"na","city":"na","town":"na","name":"not_applicable","label":{"Urdu":"قابل اطلاق نہیں","Roman Urdu":"Qaabil-e-atlaaq nahi","English":"Not Applicable"}}],"gender":[{"instance":{"openmrs_code":"1534AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"male","label":{"Urdu":"مرد/ لڑکا","Roman Urdu":"Mard/larka","English":"Male"}},{"instance":{"openmrs_code":"1535AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"female","label":{"Urdu":"عورت/لڑکی","Roman Urdu":"Aurat/larki","English":"Female"}},{"instance":{"openmrs_code":"163163AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"transgender","label":{"Urdu":"خواجہ سرہ","Roman Urdu":"Khwaja sira","English":"Transgender"}}],"vaccines":[{"instance":{"openmrs_code":"1570AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"bcg","label":{"Urdu":"بی سی جی","Roman Urdu":"BCG","English":"BCG"}},{"instance":{"openmrs_code":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"opv0","label":{"Urdu":"او پی وی 0","Roman Urdu":"OPV 0","English":"OPV 0"}},{"instance":{"openmrs_code":"162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"pcv1","label":{"Urdu":"پی سی وی 1","Roman Urdu":"PCV 1","English":"PCV 1"}},{"instance":{"openmrs_code":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"opv1","label":{"Urdu":"او پی وی 1","Roman Urdu":"OPV 1","English":"OPV 1"}},{"instance":{"openmrs_code":"162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"penta1","label":{"Urdu":"پینٹا ویلنٹ 1","Roman Urdu":"Pentavalent 1","English":"Pentavalent 1"}},{"instance":{"openmrs_code":"162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"pcv2","label":{"Urdu":"پی سی وی 2","Roman Urdu":"PCV 2","English":"PCV 2"}},{"instance":{"openmrs_code":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"opv2","label":{"Urdu":"او پی وی 2","Roman Urdu":"OPV 2","English":"OPV 2"}},{"instance":{"openmrs_code":"162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"penta2","label":{"Urdu":"پینٹا ویلنٹ 2","Roman Urdu":"Pentavalent 2","English":"Pentavalent 2"}},{"instance":{"openmrs_code":"162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"pcv3","label":{"Urdu":"پی سی وی 3","Roman Urdu":"PCV 3","English":"PCV 3"}},{"instance":{"openmrs_code":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"opv3","label":{"Urdu":"او پی وی 3","Roman Urdu":"OPV 3","English":"OPV 3"}},{"instance":{"openmrs_code":"162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"penta3","label":{"Urdu":"پینٹا ویلنٹ 3","Roman Urdu":"Pentavalent 3","English":"Pentavalent 3"}},{"instance":{"openmrs_code":"82242AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"ipv","label":{"Urdu":"آئی پی وی","Roman Urdu":"IPV","English":"IPV"}},{"instance":{"openmrs_code":"79409AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"measles1","label":{"Urdu":"خسرہ 1","Roman Urdu":"Khasra 1","English":"Measles 1"}},{"instance":{"openmrs_code":"79409AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"measles2","label":{"Urdu":"خسرہ 2","Roman Urdu":"Khasra 2","English":"Measles 2"}}],"towns":[{"province":"sindh","city":"karachi","name":"korangi","label":{"Urdu":"کورنگی","Roman Urdu":"Korangi","English":"Korangi"}},{"province":"sindh","city":"karachi","name":"landhi","label":{"Urdu":"لانڈھی","Roman Urdu":"Landhi","English":"Landhi"}},{"province":"sindh","city":"karachi","name":"baldia","label":{"Urdu":"بلدیہ","Roman Urdu":"Baldia","English":"Baldia"}},{"province":"sindh","city":"karachi","name":"bin_qasim","label":{"Urdu":"بن قاسم","Roman Urdu":"Bin Qasim","English":"Bin Qasim"}},{"province":"sindh","city":"karachi","name":"gadap","label":{"Urdu":"گڈاپ","Roman Urdu":"Gadap","English":"Gadap"}},{"province":"sindh","city":"karachi","name":"gulberg","label":{"Urdu":"گلبرگ","Roman Urdu":"Gulberg","English":"Gulberg"}},{"province":"sindh","city":"karachi","name":"gulshan","label":{"Urdu":"گلشن","Roman Urdu":"Gulshan","English":"Gulshan"}},{"province":"sindh","city":"karachi","name":"jamshed","label":{"Urdu":"جمشید","Roman Urdu":"Jamshed","English":"Jamshed"}},{"province":"sindh","city":"karachi","name":"kiamari","label":{"Urdu":"کیماری","Roman Urdu":"Kiamari","English":"Kiamari"}},{"province":"sindh","city":"karachi","name":"liaquatabad","label":{"Urdu":"لیاقت آباد","Roman Urdu":"Liaquatabad","English":"Liaquatabad"}},{"province":"sindh","city":"karachi","name":"lyari","label":{"Urdu":"لیاری","Roman Urdu":"Lyari","English":"Lyari"}},{"province":"sindh","city":"karachi","name":"malir","label":{"Urdu":"ملیر","Roman Urdu":"Malir","English":"Malir"}},{"province":"sindh","city":"karachi","name":"new_karachi","label":{"Urdu":"نیو کراچی","Roman Urdu":"New Karachi","English":"New Karachi"}},{"province":"sindh","city":"karachi","name":"north_nazimabad","label":{"Urdu":"نارتھ ناظم آباد","Roman Urdu":"North Nazimabad","English":"North Nazimabad"}},{"province":"sindh","city":"karachi","name":"orangi","label":{"Urdu":"اورنگی","Roman Urdu":"Orangi","English":"Orangi"}},{"province":"sindh","city":"karachi","name":"saddar","label":{"Urdu":"صدر","Roman Urdu":"Saddar","English":"Saddar"}},{"province":"sindh","city":"karachi","name":"shah_faisal","label":{"Urdu":"شاہ فیصل","Roman Urdu":"Shah Faisal","English":"Shah Faisal"}},{"province":"sindh","city":"karachi","name":"site","label":{"Urdu":"سائٹ","Roman Urdu":"S.I.T.E.","English":"S.I.T.E."}},{"province":"na","city":"na","name":"other","label":{"Urdu":"دیگر","Roman Urdu":"Deegar","English":"Other"}},{"province":"na","city":"na","name":"not_applicable","label":{"Urdu":"قابل اطلاق نہیں","Roman Urdu":"Qaabil-e-atlaaq nahi","English":"Not Applicable"}}],"cities":[{"province":"sindh","name":"karachi","label":{"Urdu":"کراچی","Roman Urdu":"Karachi","English":"Karachi"}},{"province":"punjab","name":"hafizabad","label":{"Urdu":"حافظ آباد","Roman Urdu":"Hafizabad","English":"Hafizabad"}},{"province":"punjab","name":"muzaffargarh","label":{"Urdu":"مظفر گڑھ","Roman Urdu":"Muzaffargarh","English":"Muzaffargarh"}},{"province":"na","name":"other","label":{"Urdu":"دیگر","Roman Urdu":"Deegar","English":"Other"}},{"province":"na","name":"not_applicable","label":{"Urdu":"قابل اطلاق نہیں","Roman Urdu":"Qaabil-e-atlaaq nahi","English":"Not Applicable"}}],"yes_no":[{"instance":{"openmrs_code":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"yes","label":{"Urdu":"ہاں","Roman Urdu":"Yes","English":"Yes"}},{"instance":{"openmrs_code":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"no","label":{"Urdu":"نہیں","Roman Urdu":"No","English":"No"}}]},"instance":{"encounter_type":"Child Vaccination Followup"},"version":"201604080501","id_string":"child_vaccination_followup","type":"survey","children":[{"type":"hidden","name":"provider_uc"},{"type":"hidden","name":"provider_town"},{"type":"hidden","name":"provider_city"},{"type":"hidden","name":"provider_province"},{"type":"hidden","name":"existing_first_name"},{"type":"hidden","name":"existing_last_name"},{"type":"hidden","name":"existing_mother_name"},{"type":"hidden","name":"existing_gender"},{"type":"hidden","name":"existing_client_birth_date"},{"type":"hidden","name":"existing_client_reg_date"},{"type":"hidden","name":"existing_landmark"},{"type":"hidden","name":"existing_house_number"},{"type":"hidden","name":"existing_street"},{"type":"hidden","name":"existing_union_council"},{"type":"hidden","name":"existing_town"},{"type":"hidden","name":"existing_city_village"},{"type":"hidden","name":"existing_province"},{"type":"hidden","name":"existing_union_councilname"},{"type":"hidden","name":"existing_townname"},{"type":"hidden","name":"existing_city_villagename"},{"type":"hidden","name":"existing_provincename"},{"type":"hidden","name":"existing_ethnicity"},{"type":"hidden","name":"existing_program_client_id"},{"type":"hidden","name":"existing_epi_card_number"},{"type":"hidden","name":"existing_child_was_suffering_from_a_disease_at_birth"},{"type":"hidden","name":"existing_reminders_approval"},{"type":"hidden","name":"existing_contact_phone_number"},{"type":"hidden","name":"e_bcg"},{"type":"hidden","name":"e_opv0"},{"type":"hidden","name":"e_penta2"},{"type":"hidden","name":"e_penta1"},{"type":"hidden","name":"e_penta3"},{"type":"hidden","name":"e_opv1"},{"type":"hidden","name":"e_opv2"},{"type":"hidden","name":"e_opv3"},{"type":"hidden","name":"e_pcv1"},{"type":"hidden","name":"e_pcv2"},{"type":"hidden","name":"e_pcv3"},{"type":"hidden","name":"e_ipv"},{"type":"hidden","name":"e_measles1"},{"type":"hidden","name":"e_measles2"},{"type":"hidden","name":"provider_id"},{"instance":{"openmrs_entity_id":"location_id","openmrs_entity":"encounter"},"type":"hidden","name":"provider_location_id"},{"type":"hidden","name":"provider_location_name"},{"type":"note","name":"provider_location_note","label":{"Urdu":"شہر: ${provider_city} ; ٹائون: ${provider_town} ; یوسی: ${provider_uc} ; سینٹرکا نام: ${provider_location_name}","English":"City: ${provider_city} ; Town: ${provider_town} ; UC: ${provider_uc} ; Center Name: ${provider_location_name}","Roman Urdu":"Shehr: ${provider_city} ; Town: ${provider_town} ; UC: ${provider_uc} ; Center ka Naam: ${provider_location_name}"}},{"instance":{"openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"start","name":"start"},{"instance":{"openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"end","name":"end"},{"instance":{"openmrs_entity_id":"163286AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"today","name":"today"},{"instance":{"openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"deviceid","name":"deviceid"},{"instance":{"openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"subscriberid","name":"subscriberid"},{"instance":{"openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"simserial","name":"simserial"},{"instance":{"openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"phonenumber","name":"phonenumber"},{"bind":{"required":"yes"},"label":{"Urdu":"بچے کی پروگرام میں اندراج کی تاریخ: {existing_client_reg_date}$","Roman Urdu":"Bachay ki Program mai andraj ki tareekh: ${existing_client_reg_date}","English":"Child Registration date: ${existing_client_reg_date}"},"type":"note","name":"existing_client_reg_date_note","hint":{"Urdu":"بچے کو ویکسین لگنے کی تاریخ","Roman Urdu":"Bachay ko vaccine lagnay ki tareekh","English":"Date on which child was vaccinated"}},{"bind":{"required":"yes"},"type":"note","name":"program_client_id_note","label":{"Urdu":"کلائنٹ کی پروگرام ائی ڈی: {existing_program_client_id}$","Roman Urdu":"Client ki program ID: ${existing_program_client_id}","English":"Program Client ID: ${existing_program_client_id}"}},{"bind":{"required":"yes"},"type":"note","instance":{"openmrs_entity_id":"EPI Card Number","openmrs_entity":"person_attribute"},"name":"epi_card_number_note","label":{"Urdu":"کارڈ نمبر: {existing_epi_card_number}$","English":"Card Number: ${existing_epi_card_number}","Roman Urdu":"Card Number: ${existing_epi_card_number}"}},{"bind":{"required":"yes"},"type":"note","name":"first_name_note","label":{"Urdu":"نام: {existing_first_name}$","Roman Urdu":"Naam: ${existing_first_name}","English":"First Name: ${existing_first_name}"}},{"bind":{"required":"yes"},"type":"note","name":"last_name_note","label":{"Urdu":"والد کا نام: {existing_last_name}$","Roman Urdu":"Waalid ka naam: ${existing_last_name}","English":"Last name: ${existing_last_name}"}},{"bind":{"calculate":"int((${today} - ${existing_client_birth_date}) div 30.42)"},"type":"calculate","name":"child_age","instance":{"openmrs_entity_id":"154384AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"}},{"type":"note","name":"calc_dob_note","label":{"Urdu":"بچے کی تاریخ پیدائش: {existing_client_birth_date}$ ({child_age}$) مہینے","English":"Child dob: ${existing_client_birth_date} (${child_age}) months","Roman Urdu":"Bachay ki tareekh-e-paidaish: ${existing_client_birth_date} (${child_age}) mahinay"}},{"bind":{"required":"yes"},"type":"note","name":"gender_note","label":{"Urdu":"جنس: {existing_gender}$","Roman Urdu":"Jins:${existing_gender}","English":"Gender: ${existing_gender}"}},{"type":"note","name":"mother_name_note","label":{"Urdu":"ماں کا نام: {existing_mother_name}$","English":"Mother's Name: ${existing_mother_name}","Roman Urdu":"Maa ka naam: ${existing_mother_name}"}},{"bind":{"required":"yes"},"type":"note","name":"exisiting_ethnicity_note","label":{"Urdu":"قومیت: {existing_ethnicity}$","Roman Urdu":"Qomiat: ${existing_ethnicity}","English":"Ethnicity: ${existing_ethnicity}"}},{"type":"note","name":"address","label":{"Urdu":"موجودہ پتہ: ${existing_house_number}, ${existing_street}, ${existing_landmark}, ${existing_union_councilname}, ${existing_townname}, ${existing_city_villagename}, ${existing_provincename}","English":"Current Address: ${existing_house_number}, ${existing_street}, ${existing_landmark}, ${existing_union_councilname}, ${existing_townname}, ${existing_city_villagename}, ${existing_provincename}","Roman Urdu":"Mojooda Address: ${existing_house_number}, ${existing_street}, ${existing_landmark}, ${existing_union_councilname}, ${existing_townname}, ${existing_city_villagename}, ${existing_provincename}"}},{"label":{"Urdu":"کیا آپ کا گھر کا پتہ بدلا ہے؟","English":"Has your home address changed?","Roman Urdu":"Kya aap ka ghar ka pata badla hai?"},"type":"select one","children":[{"instance":{"openmrs_code":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"yes","label":{"Urdu":"ہاں","Roman Urdu":"Yes","English":"Yes"}},{"instance":{"openmrs_code":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"no","label":{"Urdu":"نہیں","Roman Urdu":"No","English":"No"}}],"name":"address_change"},{"control":{"appearance":"minimal"},"name":"province","default":"${provider_province}","bind":{"relevant":"selected(${address_change}, 'yes')","required":"yes"},"label":{"Urdu":"صوبہ","Roman Urdu":"Suba","English":"Province"},"instance":{"openmrs_entity":"person_address","openmrs_entity_id":"stateProvince","openmrs_entity_parent":"usual_residence"},"type":"select one","children":[{"name":"kpk","label":{"Urdu":"خیبر پختون خواہ","English":"Khyber Pakhtunkhwa","Roman Urdu":"Khyber Pakhtunkhwa"}},{"name":"sindh","label":{"Urdu":"سندھ","English":"Sindh","Roman Urdu":"Sindh"}},{"name":"balochistan","label":{"Urdu":"بلوچستان","English":"Balochistan","Roman Urdu":"Balochistan"}},{"name":"punjab","label":{"Urdu":"پنجاب","English":"Punjab","Roman Urdu":"Punjab"}},{"name":"gilgit_baltistan","label":{"Urdu":"گلگت بلتستان","English":"Gilgit Baltistan","Roman Urdu":"Gilgit Baltistan"}},{"name":"kashmir","label":{"Urdu":"کشمیر","English":"Kashmir","Roman Urdu":"Kashmir"}},{"name":"fata","label":{"Urdu":"فاٹا","English":"FATA","Roman Urdu":"FATA"}},{"name":"out_of_country","label":{"Urdu":"ملک سے باہر","English":"Out of Country","Roman Urdu":"Out of Country"}}]},{"control":{"appearance":"minimal"},"name":"city_village","choice_filter":"province=${province} or province='na'","default":"${provider_city}","bind":{"relevant":"selected(${address_change}, 'yes')","required":"yes"},"label":{"Urdu":"شہر","Roman Urdu":"Shehr","English":"City"},"itemset":"cities","instance":{"openmrs_entity":"person_address","openmrs_entity_id":"cityVillage","openmrs_entity_parent":"usual_residence"},"type":"select one"},{"control":{"appearance":"minimal"},"name":"town","choice_filter":"(province=${province} and city=${city_village} ) or city='na'","bind":{"relevant":"selected(${address_change}, 'yes')","required":"yes"},"label":{"Urdu":"ٹاٰئون/ قصبہ/ بستی","Roman Urdu":"Town / Qasbah / Basti","English":"Town"},"itemset":"towns","instance":{"openmrs_entity":"person_address","openmrs_entity_id":"town","openmrs_entity_parent":"usual_residence"},"type":"select one"},{"control":{"appearance":"minimal"},"name":"union_council","choice_filter":"(province=${province} and city=${city_village} and town=${town}) or town='na'","bind":{"relevant":"selected(${address_change}, 'yes')","required":"yes"},"label":{"Urdu":"یونین کونسل","Roman Urdu":"Union Council","English":"Union Council"},"itemset":"ucs","instance":{"openmrs_entity":"person_address","openmrs_entity_id":"subTown","openmrs_entity_parent":"usual_residence"},"type":"select one"},{"bind":{"relevant":"selected(${address_change}, 'yes')","required":"yes"},"type":"text","instance":{"openmrs_entity":"person_address","openmrs_entity_id":"house","openmrs_entity_parent":"usual_residence"},"name":"house_number","label":{"Urdu":"گھر کا نمبر","Roman Urdu":"Ghar ka number","English":"House Number"}},{"bind":{"relevant":"selected(${address_change}, 'yes')","required":"yes"},"type":"text","instance":{"openmrs_entity":"person_address","openmrs_entity_id":"street","openmrs_entity_parent":"usual_residence"},"name":"street","label":{"Urdu":"گلی/کالونی/محلہ","Roman Urdu":"Gali/Colony/Mohalla","English":"Street"}},{"bind":{"relevant":"selected(${address_change}, 'yes')","required":"yes"},"type":"text","instance":{"openmrs_entity":"person_address","openmrs_entity_id":"landmark","openmrs_entity_parent":"usual_residence"},"name":"landmark","label":{"Urdu":"گھر کے قریب کوئی مشہور جگہ","Roman Urdu":"Ghar ke qareeb koi mashoor jagah","English":"Land Mark"}},{"instance":{"openmrs_entity_id":"163277AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"geopoint","name":"center_gps","label":{"Urdu":"حاصل کردہ معلومات کی جگہ کے GPS کارڈینیٹس درج کریں","English":"Collect GPS coordinates of data entry location:","Roman Urdu":"Hasil karda malomaat ki jaga ke GPS coordinates darj karain"}},{"control":{"appearance":"minimal"},"bind":{"required":"yes"},"type":"note","name":"child_was_suffering_from_a_disease_at_birth_note","label":{"Urdu":"کیا بچہ پیدائش کے وقت کسی مرض میں مبتلا تھا؟ {existing_child_was_suffering_from_a_disease_at_birth}$","Roman Urdu":"Kya bacha pedaaish k waqt kissi marz mai mubtila tha? ${existing_child_was_suffering_from_a_disease_at_birth}","English":"Child was suffering from a disease at birth: ${existing_child_was_suffering_from_a_disease_at_birth}"}},{"instance":{"openmrs_entity_id":"163162AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"text","name":"aefi","label":{"Urdu":"حفاظتی ٹیکوں کے مضر اثرات","English":"The temporary side-effects of immunization shots","Roman Urdu":"Hifazati teekon ke muzr asraat"}},{"control":{"appearance":"minimal"},"name":"reminders_approval","bind":{"required":"yes"},"label":{"Urdu":"کیا آپ اپنے بچے کی اگلی ویکسین کی تاریخ کے لیے SMS موصول کرنا چاہتے ہیں؟ {existing_reminders_approval}$","English":"Are you willing to receive SMS reminders for your next visit? ${existing_reminders_approval}","Roman Urdu":"Kya aap apnay bachay ki agli vaccine ki tareekh ke liye SMS mausool karna chahtay hain? ${existing_reminders_approval}"},"instance":{"openmrs_entity_id":"163089AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"select one","children":[{"instance":{"openmrs_code":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"yes","label":{"Urdu":"ہاں","Roman Urdu":"Yes","English":"Yes"}},{"instance":{"openmrs_code":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"no","label":{"Urdu":"نہیں","Roman Urdu":"No","English":"No"}}]},{"bind":{"jr:constraintMsg":{"Urdu":"فون نمبر گیارہ ہندسوں پر مشتمل اور مندرجہ ذیل شکل میں ہونا چاہئے: *********03","English":"Phone number should be 11 digits in the following format: 03*********","Roman Urdu":"Phone number 11 hindason par mushtamil aur mundarja zail shakal main hona chahiey: 03*********"},"relevant":"${existing_reminders_approval}='yes'","constraint":"regex(., '^03[0-9]{9}$')"},"type":"text","instance":{"openmrs_entity_id":"159635AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"name":"contact_phone_number","label":{"Urdu":"موبائل نمبر:{existing_contact_phone_number}$","English":"Mobile Number: ${existing_contact_phone_number}","Roman Urdu":"Mobile Number: ${existing_contact_phone_number}"}},{"bind":{"calculate":"${existing_client_birth_date} + 42"},"type":"calculate","name":"six_weeks"},{"bind":{"calculate":"${existing_client_birth_date} + 70"},"type":"calculate","name":"ten_weeks"},{"bind":{"calculate":"${existing_client_birth_date} + 98"},"type":"calculate","name":"forteen_weeks"},{"bind":{"calculate":"${existing_client_birth_date} + 245"},"type":"calculate","name":"nine_months"},{"bind":{"calculate":"${existing_client_birth_date} + 458"},"type":"calculate","name":"fifteen_months"},{"control":{"appearance":"minimal"},"name":"vaccines","choice_filter":"name != if( ${e_bcg} != '', 'bcg' , '') and \nname != if( ${e_opv0} != '', 'opv0' , '') and \nname != if( ${e_penta1} != '', 'penta1' , '') and \nname != if( ${e_penta2} != '', 'penta2' , '') and \nname != if( ${e_penta3} != '', 'penta3' , '') and \nname != if( ${e_opv1} != '', 'opv1' , '') and \nname != if( ${e_opv2} != '', 'opv2' , '') and \nname != if( ${e_opv3} != '', 'opv3' , '') and \nname != if( ${e_pcv1} != '', 'pcv1' , '') and \nname != if( ${e_pcv2} != '', 'pcv2' , '') and \nname != if( ${e_pcv3} != '', 'pcv3' , '') and \nname != if( ${e_ipv} != '', 'ipv' , '') and \nname != if( ${e_measles1} != '', 'measles1' , '') and \nname != if( ${e_measles2} != '', 'measles2' , '')","label":{"Urdu":"پچھلی تاریخ جب کسی اور سینٹر پر ٹیکے لگواِے گیے یا قطرے پلائے گئے","Roman Urdu":"Pichli tareekh jab kissi aur center par teekay lagwaye gaye ya katray pilaey gaye","English":"Retro vaccines"},"itemset":"vaccines","instance":{"openmrs_entity":"concept","openmrs_entity_id":"984AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"1421AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"type":"select all that apply"},{"type":"group","children":[{"bind":{"jr:constraintMsg":{"Urdu":"حفاظتی ٹیکا ملنے کی تاریخ، بچے کی تاریخ پیدائش کے بعد اور آج کی تاریخ سے پہلے کی ہونی چاہیے","English":"The date of vaccination must be greater than the child's birthdate and less than today.","Roman Urdu":"Hifaazati teeka milnay ki tareekh, bachay ki tareekh-e-pedaaish ke baad aur aaj ki tareekh se phlay ki honi chahiye."},"relevant":"selected(${vaccines}, 'bcg')","constraint":".>= ${existing_client_birth_date} and .<=${today}"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"886AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"bcg_retro","label":{"Urdu":"بی سی جی","Roman Urdu":"BCG","English":"BCG"}},{"bind":{"jr:constraintMsg":{"Urdu":"حفاظتی ٹیکا ملنے کی تاریخ، بچے کی تاریخ پیدائش کے بعد اور آج کی تاریخ سے پہلے کی ہونی چاہیے","English":"The date of vaccination must be greater than the child's birthdate and less than today.","Roman Urdu":"Hifaazati teeka milnay ki tareekh, bachay ki tareekh-e-pedaaish ke baad aur aaj ki tareekh se phlay ki honi chahiye."},"relevant":"selected(${vaccines}, 'opv0')","constraint":".>= ${existing_client_birth_date} and .<=${today}"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"opv0_retro","label":{"Urdu":"او پی وی 0","Roman Urdu":"OPV 0","English":"OPV 0"}},{"bind":{"relevant":"selected(${vaccines}, 'opv0')","calculate":"0"},"type":"calculate","name":"opv0_dose","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"jr:constraintMsg":{"Urdu":"حفاظتی ٹیکا ملنے کی تاریخ، بچے کی تاریخ پیدائش کے بعد اور آج کی تاریخ سے پہلے کی ہونی چاہیے","English":"The date of vaccination must be greater than the child's birthdate and less than today.","Roman Urdu":"Hifaazati teeka milnay ki tareekh, bachay ki tareekh-e-pedaaish ke baad aur aaj ki tareekh se phlay ki honi chahiye."},"relevant":"selected(${vaccines}, 'pcv1')","constraint":".>= ${existing_client_birth_date} and .<=${today}"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"pcv1_retro","label":{"Urdu":"پی سی وی 1","Roman Urdu":"PCV1","English":"PCV1"}},{"bind":{"relevant":"selected(${vaccines}, 'pcv1')","calculate":"1"},"type":"calculate","name":"pcv1_dose","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"jr:constraintMsg":{"Urdu":"حفاظتی ٹیکا ملنے کی تاریخ، بچے کی تاریخ پیدائش کے بعد اور آج کی تاریخ سے پہلے کی ہونی چاہیے","English":"The date of vaccination must be greater than the child's birthdate and less than today.","Roman Urdu":"Hifaazati teeka milnay ki tareekh, bachay ki tareekh-e-pedaaish ke baad aur aaj ki tareekh se phlay ki honi chahiye."},"relevant":"selected(${vaccines}, 'opv1')","constraint":".>= ${existing_client_birth_date} and .<=${today}"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"opv1_retro","label":{"Urdu":"او پی وی1","Roman Urdu":"OPV 1","English":"OPV 1"}},{"bind":{"relevant":"selected(${vaccines}, 'opv1')","calculate":"1"},"type":"calculate","name":"opv1_dose","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"jr:constraintMsg":{"Urdu":"حفاظتی ٹیکا ملنے کی تاریخ، بچے کی تاریخ پیدائش کے بعد اور آج کی تاریخ سے پہلے کی ہونی چاہیے","English":"The date of vaccination must be greater than the child's birthdate and less than today.","Roman Urdu":"Hifaazati teeka milnay ki tareekh, bachay ki tareekh-e-pedaaish ke baad aur aaj ki tareekh se phlay ki honi chahiye."},"relevant":"selected(${vaccines}, 'penta1')","constraint":".>= ${existing_client_birth_date} and .<=${today}"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"penta1_retro","label":{"Urdu":"پینٹا ویلنٹ 1","Roman Urdu":"Pentavalent 1","English":"Pentavalent 1"}},{"bind":{"relevant":"selected(${vaccines}, 'penta1')","calculate":"1"},"type":"calculate","name":"penta1_dose","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"jr:constraintMsg":{"Urdu":"حفاظتی ٹیکا ملنے کی تاریخ، بچے کی تاریخ پیدائش کے بعد اور آج کی تاریخ سے پہلے کی ہونی چاہیے","English":"The date of vaccination must be greater than the child's birthdate and less than today.","Roman Urdu":"Hifaazati teeka milnay ki tareekh, bachay ki tareekh-e-pedaaish ke baad aur aaj ki tareekh se phlay ki honi chahiye."},"relevant":"selected(${vaccines}, 'pcv2')","constraint":".>= ${existing_client_birth_date} and .<=${today}"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"pcv2_retro","label":{"Urdu":"پی سی وی 2","Roman Urdu":"PCV2","English":"PCV2"}},{"bind":{"relevant":"selected(${vaccines}, 'pcv2')","calculate":"2"},"type":"calculate","name":"pcv2_dose","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"jr:constraintMsg":{"Urdu":"حفاظتی ٹیکا ملنے کی تاریخ، بچے کی تاریخ پیدائش کے بعد اور آج کی تاریخ سے پہلے کی ہونی چاہیے","English":"The date of vaccination must be greater than the child's birthdate and less than today.","Roman Urdu":"Hifaazati teeka milnay ki tareekh, bachay ki tareekh-e-pedaaish ke baad aur aaj ki tareekh se phlay ki honi chahiye."},"relevant":"selected(${vaccines}, 'opv2')","constraint":".>= ${existing_client_birth_date} and .<=${today}"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"opv2_retro","label":{"Urdu":"او پی وی 2","Roman Urdu":"OPV 2","English":"OPV 2"}},{"bind":{"relevant":"selected(${vaccines}, 'opv2')","calculate":"2"},"type":"calculate","name":"opv2_dose","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"jr:constraintMsg":{"Urdu":"حفاظتی ٹیکا ملنے کی تاریخ، بچے کی تاریخ پیدائش کے بعد اور آج کی تاریخ سے پہلے کی ہونی چاہیے","English":"The date of vaccination must be greater than the child's birthdate and less than today.","Roman Urdu":"Hifaazati teeka milnay ki tareekh, bachay ki tareekh-e-pedaaish ke baad aur aaj ki tareekh se phlay ki honi chahiye."},"relevant":"selected(${vaccines}, 'penta2')","constraint":".>= ${existing_client_birth_date} and .<=${today}"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"penta2_retro","label":{"Urdu":"پینٹا ویلنٹ 2","Roman Urdu":"Pentavalent 2","English":"Pentavalent 2"}},{"bind":{"relevant":"selected(${vaccines}, 'penta2')","calculate":"2"},"type":"calculate","name":"penta2_dose","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"jr:constraintMsg":{"Urdu":"حفاظتی ٹیکا ملنے کی تاریخ، بچے کی تاریخ پیدائش کے بعد اور آج کی تاریخ سے پہلے کی ہونی چاہیے","English":"The date of vaccination must be greater than the child's birthdate and less than today.","Roman Urdu":"Hifaazati teeka milnay ki tareekh, bachay ki tareekh-e-pedaaish ke baad aur aaj ki tareekh se phlay ki honi chahiye."},"relevant":"selected(${vaccines}, 'pcv3')","constraint":".>= ${existing_client_birth_date} and .<=${today}"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"pcv3_retro","label":{"Urdu":"پی سی وی 3","Roman Urdu":"PCV3","English":"PCV3"}},{"bind":{"relevant":"selected(${vaccines}, 'penta2')","calculate":"3"},"type":"calculate","name":"pcv3_dose","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"jr:constraintMsg":{"Urdu":"حفاظتی ٹیکا ملنے کی تاریخ، بچے کی تاریخ پیدائش کے بعد اور آج کی تاریخ سے پہلے کی ہونی چاہیے","English":"The date of vaccination must be greater than the child's birthdate and less than today.","Roman Urdu":"Hifaazati teeka milnay ki tareekh, bachay ki tareekh-e-pedaaish ke baad aur aaj ki tareekh se phlay ki honi chahiye."},"relevant":"selected(${vaccines}, 'opv3')","constraint":".>= ${existing_client_birth_date} and .<=${today}"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"opv3_retro","label":{"Urdu":"او پی وی3","Roman Urdu":"OPV 3","English":"OPV 3"}},{"bind":{"relevant":"selected(${vaccines}, 'opv3')","calculate":"3"},"type":"calculate","name":"opv3_dose","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"jr:constraintMsg":{"Urdu":"حفاظتی ٹیکا ملنے کی تاریخ، بچے کی تاریخ پیدائش کے بعد اور آج کی تاریخ سے پہلے کی ہونی چاہیے","English":"The date of vaccination must be greater than the child's birthdate and less than today.","Roman Urdu":"Hifaazati teeka milnay ki tareekh, bachay ki tareekh-e-pedaaish ke baad aur aaj ki tareekh se phlay ki honi chahiye."},"relevant":"selected(${vaccines}, 'penta3')","constraint":".>= ${existing_client_birth_date} and .<=${today}"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"penta3_retro","label":{"Urdu":"پینٹا ویلنٹ 3","Roman Urdu":"Pentavalent 3","English":"Pentavalent 3"}},{"bind":{"relevant":"selected(${vaccines}, 'penta3')","calculate":"3"},"type":"calculate","name":"penta3_dose","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"jr:constraintMsg":{"Urdu":"حفاظتی ٹیکا ملنے کی تاریخ، بچے کی تاریخ پیدائش کے بعد اور آج کی تاریخ سے پہلے کی ہونی چاہیے","English":"The date of vaccination must be greater than the child's birthdate and less than today.","Roman Urdu":"Hifaazati teeka milnay ki tareekh, bachay ki tareekh-e-pedaaish ke baad aur aaj ki tareekh se phlay ki honi chahiye."},"relevant":"selected(${vaccines}, 'ipv')","constraint":".>= ${existing_client_birth_date} and .<=${today}"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"1422AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"ipv_retro","label":{"Urdu":"آئی پی وی","Roman Urdu":"IPV","English":"IPV"}},{"bind":{"jr:constraintMsg":{"Urdu":"حفاظتی ٹیکا ملنے کی تاریخ، بچے کی تاریخ پیدائش کے بعد اور آج کی تاریخ سے پہلے کی ہونی چاہیے","English":"The date of vaccination must be greater than the child's birthdate and less than today.","Roman Urdu":"Hifaazati teeka milnay ki tareekh, bachay ki tareekh-e-pedaaish ke baad aur aaj ki tareekh se phlay ki honi chahiye."},"relevant":"selected(${vaccines}, 'measles1')","constraint":".>= ${existing_client_birth_date} and .<=${today}"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"36AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"measles1_retro","label":{"Urdu":"خسرہ 1","Roman Urdu":"Measles 1","English":"Measles 1"}},{"bind":{"relevant":"selected(${vaccines}, 'measles1')","calculate":"1"},"type":"calculate","name":"measles1_dose","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"36AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"jr:constraintMsg":{"Urdu":"حفاظتی ٹیکا ملنے کی تاریخ، بچے کی تاریخ پیدائش کے بعد اور آج کی تاریخ سے پہلے کی ہونی چاہیے","English":"The date of vaccination must be greater than the child's birthdate and less than today.","Roman Urdu":"Hifaazati teeka milnay ki tareekh, bachay ki tareekh-e-pedaaish ke baad aur aaj ki tareekh se phlay ki honi chahiye."},"relevant":"selected(${vaccines}, 'measles2')","constraint":".>= ${existing_client_birth_date} and .<=${today}"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"36AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"measles2_retro","label":{"Urdu":"خسرہ 2","Roman Urdu":"Measles2","English":"Measles2"}},{"bind":{"relevant":"selected(${vaccines}, 'measles2')","calculate":"2"},"type":"calculate","name":"measles2_dose","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"36AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}}],"name":"vaccines_group"},{"control":{"appearance":"minimal"},"name":"vaccines_2","choice_filter":"name != if( ${e_bcg} != '', 'bcg' , '') and \nname != if( ${e_opv0} != '', 'opv0' , '') and \nname != if( ${e_penta2} != '', 'penta2' , '') and \nname != if( ${e_penta1} != '', 'penta1' , '') and \nname != if( ${e_penta3} != '', 'penta3' , '') and \nname != if( ${e_opv1} != '', 'opv1' , '') and \nname != if( ${e_opv2} != '', 'opv2' , '') and \nname != if( ${e_opv3} != '', 'opv3' , '') and \nname != if( ${e_pcv1} != '', 'pcv1' , '') and \nname != if( ${e_pcv2} != '', 'pcv2' , '') and \nname != if( ${e_pcv3} != '', 'pcv3' , '') and \nname != if( ${e_measles1} != '', 'measles1' , '') and \nname != if( ${e_measles2} != '', 'measles2' , '') and \nname != if(selected(${vaccines}, 'bcg'), 'bcg', '') and \nname != if(selected(${vaccines}, 'opv0'), 'opv0', '') and \nname != if(selected(${vaccines}, 'penta1'), 'penta1', '') and \nname != if(selected(${vaccines}, 'opv1'), 'opv1', '') and \nname != if(selected(${vaccines}, 'pcv1'), 'pcv1', '') and \nname != if(selected(${vaccines}, 'penta2'), 'penta2', '') and \nname != if(selected(${vaccines}, 'opv2'), 'opv2', '') and \nname != if(selected(${vaccines}, 'pcv2'), 'pcv2', '') and \nname != if(selected(${vaccines}, 'penta3'), 'penta3', '') and \nname != if(selected(${vaccines}, 'opv3'), 'opv3', '') and \nname != if(selected(${vaccines}, 'pcv3'), 'pcv3', '') and\nname != if(selected(${vaccines}, 'ipv'), 'ipv', '') and \nname != if(selected(${vaccines}, 'measles1'), 'measles1', '') and \nname != if(selected(${vaccines}, 'measles2'), 'measles2', '')","bind":{"required":"yes","constraint":"if(selected(${vaccines_2}, 'bcg') or selected(${vaccines_2}, 'opv0') , .>= ${existing_client_birth_date} and .<=${today}, if(selected(${vaccines_2}, 'opv1') or selected(${vaccines_2}, 'penta1'), .>= ${six_weeks} and .<=${today}, if(selected(${vaccines_2}, 'opv2') or selected(${vaccines_2}, 'penta2'), .>=${ten_weeks} and .<=${today}, if(selected(${vaccines_2}, 'opv3') or selected(${vaccines_2}, 'penta3'), .>=${forteen_weeks} and .<=${today}, if(selected(${vaccines_2}, 'measles1'), .>=${nine_months} and .<=${today}, if(selected(${vaccines_2}, 'measles2'), .>= ${fifteen_months} and .<=${today}))))))"},"label":{"Urdu":"آج کون کون سی ویکسین دی گئی ہیں؟","Roman Urdu":"Aaj kon kon si vaccine di gai hain?","English":"Vaccines administered"},"itemset":"vaccines","instance":{"openmrs_entity":"concept","openmrs_entity_id":"984AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"1441AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"type":"select all that apply"},{"name":"vaccination_date","default":"${today}","bind":{"required":"yes","constraint":"if(selected(${vaccines_2}, 'bcg') or selected(${vaccines_2}, 'opv0') , .>= ${existing_client_birth_date} and .<=${today}, if(selected(${vaccines_2}, 'opv1') or selected(${vaccines_2}, 'penta1'), .>= ${six_weeks} and .<=${today}, if(selected(${vaccines_2}, 'opv2') or selected(${vaccines_2}, 'penta2'), .>=${ten_weeks} and .<=${today}, if(selected(${vaccines_2}, 'opv3') or selected(${vaccines_2}, 'penta3'), .>=${forteen_weeks} and .<=${today}, if(selected(${vaccines_2}, 'measles1'), .>=${nine_months} and .<=${today}, if(selected(${vaccines_2}, 'measles2'), .>= ${fifteen_months} and .<=${today}))))))"},"label":{"Urdu":"تاریخ","English":"Vaccination date","Roman Urdu":"Tareekh"},"instance":{"openmrs_entity_id":"encounter_date","openmrs_entity":"encounter"},"type":"date"},{"bind":{"calculate":"if(selected(${vaccines_2}, 'bcg'),${vaccination_date},'')"},"type":"calculate","name":"bcg","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"886AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"calculate":"if(selected(${vaccines_2}, 'opv0'),${vaccination_date},'')"},"type":"calculate","name":"opv0","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines_2}, 'opv0')","calculate":"0"},"type":"calculate","name":"opv0_dose_today","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"calculate":"if(selected(${vaccines_2}, 'pcv1'),${vaccination_date},'')"},"type":"calculate","name":"pcv1","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines_2}, 'pcv1')","calculate":"1"},"type":"calculate","name":"pcv1_dose_today","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"calculate":"if(selected(${vaccines_2}, 'opv1'),${vaccination_date},'')"},"type":"calculate","name":"opv1","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines_2}, 'opv1')","calculate":"1"},"type":"calculate","name":"opv1_dose_today","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"calculate":"if(selected(${vaccines_2}, 'penta1'),${vaccination_date},'')"},"type":"calculate","name":"penta1","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines_2}, 'penta1')","calculate":"1"},"type":"calculate","name":"penta1_dose_today","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"calculate":"if(selected(${vaccines_2}, 'pcv2'),${vaccination_date},'')"},"type":"calculate","name":"pcv2","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines_2}, 'pcv2')","calculate":"2"},"type":"calculate","name":"pcv2_dose_today","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"calculate":"if(selected(${vaccines_2}, 'opv2'),${vaccination_date},'')"},"type":"calculate","name":"opv2","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines_2}, 'opv2')","calculate":"2"},"type":"calculate","name":"opv2_dose_today","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"calculate":"if(selected(${vaccines_2}, 'penta2'),${vaccination_date},'')"},"type":"calculate","name":"penta2","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines_2}, 'penta2')","calculate":"2"},"type":"calculate","name":"penta2_dose_today","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"calculate":"if(selected(${vaccines_2}, 'pcv3'),${vaccination_date},'')"},"type":"calculate","name":"pcv3","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines_2}, 'pcv3')","calculate":"3"},"type":"calculate","name":"pcv3_dose_today","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"calculate":"if(selected(${vaccines_2}, 'opv3'),${vaccination_date},'')"},"type":"calculate","name":"opv3","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines_2}, 'opv3')","calculate":"3"},"type":"calculate","name":"opv3_dose_today","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"calculate":"if(selected(${vaccines_2}, 'penta3'),${vaccination_date},'')"},"type":"calculate","name":"penta3","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines_2}, 'penta3')","calculate":"3"},"type":"calculate","name":"penta3_dose_today","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines}, 'ipv')","calculate":"if(selected(${vaccines_2}, 'ipv'),${vaccination_date},'')"},"type":"calculate","name":"ipv","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"1422AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"calculate":"if(selected(${vaccines_2}, 'measles1'),${vaccination_date},'')"},"type":"calculate","name":"measles1","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"36AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines_2}, 'measles1')","calculate":"1"},"type":"calculate","name":"measles1_dose_today","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"36AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"calculate":"if(selected(${vaccines_2}, 'measles2'),${vaccination_date},'')"},"type":"calculate","name":"measles2","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"36AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines_2}, 'measles2')","calculate":"2"},"type":"calculate","name":"measles2_dose_today","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"36AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"control":{"bodyless":true},"type":"group","children":[{"bind":{"readonly":"true()","calculate":"concat('uuid:', uuid())"},"type":"calculate","name":"instanceID"}],"name":"meta"}]} \ No newline at end of file diff --git a/opensrp-connector/bin/src/test/resources/form/child_followup/form.xml b/opensrp-connector/bin/src/test/resources/form/child_followup/form.xml new file mode 100644 index 0000000000..7d4260e8c2 --- /dev/null +++ b/opensrp-connector/bin/src/test/resources/form/child_followup/form.xml @@ -0,0 +1,1555 @@ +
+ + +

بچّوں کا فالو اپ رجسٹر برائے ٹیکاجات - Child Follow Up Vaccination Register

+
+
+ + کیا آپ کا گھر کا پتہ بدلا ہے؟ + Has your home address changed? + + Kya aap ka ghar ka pata badla hai? +
+ + +
+
+
+ + + + + + + + + + + + + +
+ + + diff --git a/opensrp-connector/bin/src/test/resources/form/child_followup/form_definition.json b/opensrp-connector/bin/src/test/resources/form/child_followup/form_definition.json new file mode 100644 index 0000000000..38d578690e --- /dev/null +++ b/opensrp-connector/bin/src/test/resources/form/child_followup/form_definition.json @@ -0,0 +1,466 @@ +{ + "form_data_definition_version" : "1", + "form" : { + "bind_type" : "pkchild", + "default_bind_path" : "/model/instance/Child_Vaccination_Followup/", + "fields" : [ { + "name" : "id", + "shouldLoadValue" : true + }, { + "name" : "provider_uc", + "bind" : "/model/instance/Child_Vaccination_Followup/provider_uc", + "shouldLoadValue" : true + }, { + "name" : "provider_town", + "bind" : "/model/instance/Child_Vaccination_Followup/provider_town", + "shouldLoadValue" : true + }, { + "name" : "provider_city", + "bind" : "/model/instance/Child_Vaccination_Followup/provider_city", + "shouldLoadValue" : true + }, { + "name" : "provider_province", + "bind" : "/model/instance/Child_Vaccination_Followup/provider_province", + "shouldLoadValue" : true + }, { + "name" : "existing_first_name", + "bind" : "/model/instance/Child_Vaccination_Followup/existing_first_name", + "shouldLoadValue" : true + }, { + "name" : "existing_last_name", + "bind" : "/model/instance/Child_Vaccination_Followup/existing_last_name", + "shouldLoadValue" : true + }, { + "name" : "existing_mother_name", + "bind" : "/model/instance/Child_Vaccination_Followup/existing_mother_name", + "shouldLoadValue" : true + }, { + "name" : "existing_gender", + "bind" : "/model/instance/Child_Vaccination_Followup/existing_gender", + "shouldLoadValue" : true + }, { + "name" : "existing_birth_date", + "bind" : "/model/instance/Child_Vaccination_Followup/existing_client_birth_date", + "shouldLoadValue" : true + }, { + "name" : "existing_client_reg_date", + "bind" : "/model/instance/Child_Vaccination_Followup/existing_client_reg_date", + "shouldLoadValue" : true + }, { + "name" : "existing_landmark", + "bind" : "/model/instance/Child_Vaccination_Followup/existing_landmark", + "shouldLoadValue" : true + }, { + "name" : "existing_house_number", + "bind" : "/model/instance/Child_Vaccination_Followup/existing_house_number", + "shouldLoadValue" : true + }, { + "name" : "existing_street", + "bind" : "/model/instance/Child_Vaccination_Followup/existing_street", + "shouldLoadValue" : true + }, { + "name" : "existing_union_council", + "bind" : "/model/instance/Child_Vaccination_Followup/existing_union_council", + "shouldLoadValue" : true + }, { + "name" : "existing_town", + "bind" : "/model/instance/Child_Vaccination_Followup/existing_town", + "shouldLoadValue" : true + }, { + "name" : "existing_city_village", + "bind" : "/model/instance/Child_Vaccination_Followup/existing_city_village", + "shouldLoadValue" : true + }, { + "name" : "existing_province", + "bind" : "/model/instance/Child_Vaccination_Followup/existing_province", + "shouldLoadValue" : true + }, { + "name" : "existing_union_councilname", + "bind" : "/model/instance/Child_Vaccination_Followup/existing_union_councilname", + "shouldLoadValue" : true + }, { + "name" : "existing_townname", + "bind" : "/model/instance/Child_Vaccination_Followup/existing_townname", + "shouldLoadValue" : true + }, { + "name" : "existing_city_villagename", + "bind" : "/model/instance/Child_Vaccination_Followup/existing_city_villagename", + "shouldLoadValue" : true + }, { + "name" : "existing_provincename", + "bind" : "/model/instance/Child_Vaccination_Followup/existing_provincename", + "shouldLoadValue" : true + }, { + "name" : "existing_ethnicity", + "bind" : "/model/instance/Child_Vaccination_Followup/existing_ethnicity", + "shouldLoadValue" : true + }, { + "name" : "existing_program_client_id", + "bind" : "/model/instance/Child_Vaccination_Followup/existing_program_client_id", + "shouldLoadValue" : true + }, { + "name" : "existing_epi_card_number", + "bind" : "/model/instance/Child_Vaccination_Followup/existing_epi_card_number", + "shouldLoadValue" : true + }, { + "name" : "existing_child_was_suffering_from_a_disease_at_birth", + "bind" : "/model/instance/Child_Vaccination_Followup/existing_child_was_suffering_from_a_disease_at_birth", + "shouldLoadValue" : true + }, { + "name" : "existing_reminders_approval", + "bind" : "/model/instance/Child_Vaccination_Followup/existing_reminders_approval", + "shouldLoadValue" : true + }, { + "name" : "existing_contact_phone_number", + "bind" : "/model/instance/Child_Vaccination_Followup/existing_contact_phone_number", + "shouldLoadValue" : true + }, { + "name" : "e_bcg", + "bind" : "/model/instance/Child_Vaccination_Followup/e_bcg", + "shouldLoadValue" : true + }, { + "name" : "e_opv0", + "bind" : "/model/instance/Child_Vaccination_Followup/e_opv0", + "shouldLoadValue" : true + }, { + "name" : "e_penta2", + "bind" : "/model/instance/Child_Vaccination_Followup/e_penta2", + "shouldLoadValue" : true + }, { + "name" : "e_penta1", + "bind" : "/model/instance/Child_Vaccination_Followup/e_penta1", + "shouldLoadValue" : true + }, { + "name" : "e_penta3", + "bind" : "/model/instance/Child_Vaccination_Followup/e_penta3", + "shouldLoadValue" : true + }, { + "name" : "e_opv1", + "bind" : "/model/instance/Child_Vaccination_Followup/e_opv1", + "shouldLoadValue" : true + }, { + "name" : "e_opv2", + "bind" : "/model/instance/Child_Vaccination_Followup/e_opv2", + "shouldLoadValue" : true + }, { + "name" : "e_opv3", + "bind" : "/model/instance/Child_Vaccination_Followup/e_opv3", + "shouldLoadValue" : true + }, { + "name" : "e_pcv1", + "bind" : "/model/instance/Child_Vaccination_Followup/e_pcv1", + "shouldLoadValue" : true + }, { + "name" : "e_pcv2", + "bind" : "/model/instance/Child_Vaccination_Followup/e_pcv2", + "shouldLoadValue" : true + }, { + "name" : "e_pcv3", + "bind" : "/model/instance/Child_Vaccination_Followup/e_pcv3", + "shouldLoadValue" : true + }, { + "name" : "e_ipv", + "bind" : "/model/instance/Child_Vaccination_Followup/e_ipv", + "shouldLoadValue" : true + }, { + "name" : "e_measles1", + "bind" : "/model/instance/Child_Vaccination_Followup/e_measles1", + "shouldLoadValue" : true + }, { + "name" : "e_measles2", + "bind" : "/model/instance/Child_Vaccination_Followup/e_measles2", + "shouldLoadValue" : true + }, { + "name" : "provider_id", + "bind" : "/model/instance/Child_Vaccination_Followup/provider_id", + "shouldLoadValue" : true + }, { + "name" : "provider_location_id", + "bind" : "/model/instance/Child_Vaccination_Followup/provider_location_id", + "shouldLoadValue" : true + }, { + "name" : "provider_location_name", + "bind" : "/model/instance/Child_Vaccination_Followup/provider_location_name", + "shouldLoadValue" : true + }, { + "name" : "provider_location_note", + "bind" : "/model/instance/Child_Vaccination_Followup/provider_location_note" + }, { + "name" : "start", + "bind" : "/model/instance/Child_Vaccination_Followup/start" + }, { + "name" : "end", + "bind" : "/model/instance/Child_Vaccination_Followup/end" + }, { + "name" : "today", + "bind" : "/model/instance/Child_Vaccination_Followup/today" + }, { + "name" : "deviceid", + "bind" : "/model/instance/Child_Vaccination_Followup/deviceid" + }, { + "name" : "subscriberid", + "bind" : "/model/instance/Child_Vaccination_Followup/subscriberid" + }, { + "name" : "simserial", + "bind" : "/model/instance/Child_Vaccination_Followup/simserial" + }, { + "name" : "phonenumber", + "bind" : "/model/instance/Child_Vaccination_Followup/phonenumber" + }, { + "name" : "existing_client_reg_date_note", + "bind" : "/model/instance/Child_Vaccination_Followup/existing_client_reg_date_note" + }, { + "name" : "program_client_id_note", + "bind" : "/model/instance/Child_Vaccination_Followup/program_client_id_note" + }, { + "name" : "epi_card_number_note", + "bind" : "/model/instance/Child_Vaccination_Followup/epi_card_number_note" + }, { + "name" : "first_name_note", + "bind" : "/model/instance/Child_Vaccination_Followup/first_name_note" + }, { + "name" : "last_name_note", + "bind" : "/model/instance/Child_Vaccination_Followup/last_name_note" + }, { + "name" : "child_age", + "bind" : "/model/instance/Child_Vaccination_Followup/child_age" + }, { + "name" : "calc_dob_note", + "bind" : "/model/instance/Child_Vaccination_Followup/calc_dob_note" + }, { + "name" : "gender_note", + "bind" : "/model/instance/Child_Vaccination_Followup/gender_note" + }, { + "name" : "mother_name_note", + "bind" : "/model/instance/Child_Vaccination_Followup/mother_name_note" + }, { + "name" : "exisiting_ethnicity_note", + "bind" : "/model/instance/Child_Vaccination_Followup/exisiting_ethnicity_note" + }, { + "name" : "address", + "bind" : "/model/instance/Child_Vaccination_Followup/address" + }, { + "name" : "address_change", + "bind" : "/model/instance/Child_Vaccination_Followup/address_change" + }, { + "name" : "province", + "bind" : "/model/instance/Child_Vaccination_Followup/province" + }, { + "name" : "city_village", + "bind" : "/model/instance/Child_Vaccination_Followup/city_village" + }, { + "name" : "town", + "bind" : "/model/instance/Child_Vaccination_Followup/town" + }, { + "name" : "union_council", + "bind" : "/model/instance/Child_Vaccination_Followup/union_council" + }, { + "name" : "house_number", + "bind" : "/model/instance/Child_Vaccination_Followup/house_number" + }, { + "name" : "street", + "bind" : "/model/instance/Child_Vaccination_Followup/street" + }, { + "name" : "landmark", + "bind" : "/model/instance/Child_Vaccination_Followup/landmark" + }, { + "name" : "center_gps", + "bind" : "/model/instance/Child_Vaccination_Followup/center_gps" + }, { + "name" : "child_was_suffering_from_a_disease_at_birth_note", + "bind" : "/model/instance/Child_Vaccination_Followup/child_was_suffering_from_a_disease_at_birth_note" + }, { + "name" : "aefi", + "bind" : "/model/instance/Child_Vaccination_Followup/aefi" + }, { + "name" : "reminders_approval", + "bind" : "/model/instance/Child_Vaccination_Followup/reminders_approval" + }, { + "name" : "contact_phone_number", + "bind" : "/model/instance/Child_Vaccination_Followup/contact_phone_number" + }, { + "name" : "six_weeks", + "bind" : "/model/instance/Child_Vaccination_Followup/six_weeks" + }, { + "name" : "ten_weeks", + "bind" : "/model/instance/Child_Vaccination_Followup/ten_weeks" + }, { + "name" : "forteen_weeks", + "bind" : "/model/instance/Child_Vaccination_Followup/forteen_weeks" + }, { + "name" : "nine_months", + "bind" : "/model/instance/Child_Vaccination_Followup/nine_months" + }, { + "name" : "fifteen_months", + "bind" : "/model/instance/Child_Vaccination_Followup/fifteen_months" + }, { + "name" : "vaccines", + "bind" : "/model/instance/Child_Vaccination_Followup/vaccines" + }, { + "name" : "bcg_retro", + "bind" : "/model/instance/Child_Vaccination_Followup/vaccines_group/bcg_retro" + }, { + "name" : "opv0_retro", + "bind" : "/model/instance/Child_Vaccination_Followup/vaccines_group/opv0_retro" + }, { + "name" : "opv0_dose", + "bind" : "/model/instance/Child_Vaccination_Followup/vaccines_group/opv0_dose" + }, { + "name" : "pcv1_retro", + "bind" : "/model/instance/Child_Vaccination_Followup/vaccines_group/pcv1_retro" + }, { + "name" : "pcv1_dose", + "bind" : "/model/instance/Child_Vaccination_Followup/vaccines_group/pcv1_dose" + }, { + "name" : "opv1_retro", + "bind" : "/model/instance/Child_Vaccination_Followup/vaccines_group/opv1_retro" + }, { + "name" : "opv1_dose", + "bind" : "/model/instance/Child_Vaccination_Followup/vaccines_group/opv1_dose" + }, { + "name" : "penta1_retro", + "bind" : "/model/instance/Child_Vaccination_Followup/vaccines_group/penta1_retro" + }, { + "name" : "penta1_dose", + "bind" : "/model/instance/Child_Vaccination_Followup/vaccines_group/penta1_dose" + }, { + "name" : "pcv2_retro", + "bind" : "/model/instance/Child_Vaccination_Followup/vaccines_group/pcv2_retro" + }, { + "name" : "pcv2_dose", + "bind" : "/model/instance/Child_Vaccination_Followup/vaccines_group/pcv2_dose" + }, { + "name" : "opv2_retro", + "bind" : "/model/instance/Child_Vaccination_Followup/vaccines_group/opv2_retro" + }, { + "name" : "opv2_dose", + "bind" : "/model/instance/Child_Vaccination_Followup/vaccines_group/opv2_dose" + }, { + "name" : "penta2_retro", + "bind" : "/model/instance/Child_Vaccination_Followup/vaccines_group/penta2_retro" + }, { + "name" : "penta2_dose", + "bind" : "/model/instance/Child_Vaccination_Followup/vaccines_group/penta2_dose" + }, { + "name" : "pcv3_retro", + "bind" : "/model/instance/Child_Vaccination_Followup/vaccines_group/pcv3_retro" + }, { + "name" : "pcv3_dose", + "bind" : "/model/instance/Child_Vaccination_Followup/vaccines_group/pcv3_dose" + }, { + "name" : "opv3_retro", + "bind" : "/model/instance/Child_Vaccination_Followup/vaccines_group/opv3_retro" + }, { + "name" : "opv3_dose", + "bind" : "/model/instance/Child_Vaccination_Followup/vaccines_group/opv3_dose" + }, { + "name" : "penta3_retro", + "bind" : "/model/instance/Child_Vaccination_Followup/vaccines_group/penta3_retro" + }, { + "name" : "penta3_dose", + "bind" : "/model/instance/Child_Vaccination_Followup/vaccines_group/penta3_dose" + }, { + "name" : "ipv_retro", + "bind" : "/model/instance/Child_Vaccination_Followup/vaccines_group/ipv_retro" + }, { + "name" : "measles1_retro", + "bind" : "/model/instance/Child_Vaccination_Followup/vaccines_group/measles1_retro" + }, { + "name" : "measles1_dose", + "bind" : "/model/instance/Child_Vaccination_Followup/vaccines_group/measles1_dose" + }, { + "name" : "measles2_retro", + "bind" : "/model/instance/Child_Vaccination_Followup/vaccines_group/measles2_retro" + }, { + "name" : "measles2_dose", + "bind" : "/model/instance/Child_Vaccination_Followup/vaccines_group/measles2_dose" + }, { + "name" : "vaccines_2", + "bind" : "/model/instance/Child_Vaccination_Followup/vaccines_2" + }, { + "name" : "vaccination_date", + "bind" : "/model/instance/Child_Vaccination_Followup/vaccination_date" + }, { + "name" : "bcg", + "bind" : "/model/instance/Child_Vaccination_Followup/bcg" + }, { + "name" : "opv0", + "bind" : "/model/instance/Child_Vaccination_Followup/opv0" + }, { + "name" : "opv0_dose_today", + "bind" : "/model/instance/Child_Vaccination_Followup/opv0_dose_today" + }, { + "name" : "pcv1", + "bind" : "/model/instance/Child_Vaccination_Followup/pcv1" + }, { + "name" : "pcv1_dose_today", + "bind" : "/model/instance/Child_Vaccination_Followup/pcv1_dose_today" + }, { + "name" : "opv1", + "bind" : "/model/instance/Child_Vaccination_Followup/opv1" + }, { + "name" : "opv1_dose_today", + "bind" : "/model/instance/Child_Vaccination_Followup/opv1_dose_today" + }, { + "name" : "penta1", + "bind" : "/model/instance/Child_Vaccination_Followup/penta1" + }, { + "name" : "penta1_dose_today", + "bind" : "/model/instance/Child_Vaccination_Followup/penta1_dose_today" + }, { + "name" : "pcv2", + "bind" : "/model/instance/Child_Vaccination_Followup/pcv2" + }, { + "name" : "pcv2_dose_today", + "bind" : "/model/instance/Child_Vaccination_Followup/pcv2_dose_today" + }, { + "name" : "opv2", + "bind" : "/model/instance/Child_Vaccination_Followup/opv2" + }, { + "name" : "opv2_dose_today", + "bind" : "/model/instance/Child_Vaccination_Followup/opv2_dose_today" + }, { + "name" : "penta2", + "bind" : "/model/instance/Child_Vaccination_Followup/penta2" + }, { + "name" : "penta2_dose_today", + "bind" : "/model/instance/Child_Vaccination_Followup/penta2_dose_today" + }, { + "name" : "pcv3", + "bind" : "/model/instance/Child_Vaccination_Followup/pcv3" + }, { + "name" : "pcv3_dose_today", + "bind" : "/model/instance/Child_Vaccination_Followup/pcv3_dose_today" + }, { + "name" : "opv3", + "bind" : "/model/instance/Child_Vaccination_Followup/opv3" + }, { + "name" : "opv3_dose_today", + "bind" : "/model/instance/Child_Vaccination_Followup/opv3_dose_today" + }, { + "name" : "penta3", + "bind" : "/model/instance/Child_Vaccination_Followup/penta3" + }, { + "name" : "penta3_dose_today", + "bind" : "/model/instance/Child_Vaccination_Followup/penta3_dose_today" + }, { + "name" : "ipv", + "bind" : "/model/instance/Child_Vaccination_Followup/ipv" + }, { + "name" : "measles1", + "bind" : "/model/instance/Child_Vaccination_Followup/measles1" + }, { + "name" : "measles1_dose_today", + "bind" : "/model/instance/Child_Vaccination_Followup/measles1_dose_today" + }, { + "name" : "measles2", + "bind" : "/model/instance/Child_Vaccination_Followup/measles2" + }, { + "name" : "measles2_dose_today", + "bind" : "/model/instance/Child_Vaccination_Followup/measles2_dose_today" + }, { + "name" : "instanceID", + "bind" : "/model/instance/Child_Vaccination_Followup/meta/instanceID" + } ] + } +} \ No newline at end of file diff --git a/opensrp-connector/bin/src/test/resources/form/child_followup/model.xml b/opensrp-connector/bin/src/test/resources/form/child_followup/model.xml new file mode 100644 index 0000000000..b8d42cd6ba --- /dev/null +++ b/opensrp-connector/bin/src/test/resources/form/child_followup/model.xml @@ -0,0 +1,1685 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + ${provider_province} + ${provider_city} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${today} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + static_instance-provinces-0 + kpk + + + static_instance-provinces-1 + sindh + + + static_instance-provinces-2 + balochistan + + + static_instance-provinces-3 + punjab + + + static_instance-provinces-4 + gilgit_baltistan + + + static_instance-provinces-5 + kashmir + + + static_instance-provinces-6 + fata + + + static_instance-provinces-7 + out_of_country + + + + + + + static_instance-ucs-0 + sindh + karachi + korangi + bilal_colony + + + static_instance-ucs-1 + sindh + karachi + korangi + nasir_colony + + + static_instance-ucs-2 + sindh + karachi + korangi + chakra_goth + + + static_instance-ucs-3 + sindh + karachi + korangi + mustafa_taj_colony + + + static_instance-ucs-4 + sindh + karachi + korangi + hundred_quarters + + + static_instance-ucs-5 + sindh + karachi + korangi + gulzar_colony + + + static_instance-ucs-6 + sindh + karachi + korangi + korangi_sector_33 + + + static_instance-ucs-7 + sindh + karachi + korangi + zaman_town + + + static_instance-ucs-8 + sindh + karachi + korangi + hasrat_mohani_colony + + + static_instance-ucs-9 + sindh + karachi + baldia + gulshan_e_ghazi + + + static_instance-ucs-10 + sindh + karachi + baldia + ittehad_town + + + static_instance-ucs-11 + sindh + karachi + baldia + islam_nagar + + + static_instance-ucs-12 + sindh + karachi + baldia + nai_abadi + + + static_instance-ucs-13 + sindh + karachi + baldia + saeedabad + + + static_instance-ucs-14 + sindh + karachi + baldia + muslim_mujahid_colony + + + static_instance-ucs-15 + sindh + karachi + baldia + muhajir_camp + + + static_instance-ucs-16 + sindh + karachi + baldia + rasheedabad + + + static_instance-ucs-17 + sindh + karachi + bin_qasim + ibrahim_hyderi + + + static_instance-ucs-18 + sindh + karachi + bin_qasim + rehri + + + static_instance-ucs-19 + sindh + karachi + bin_qasim + cattle_colony + + + static_instance-ucs-20 + sindh + karachi + bin_qasim + qaidabad + + + static_instance-ucs-21 + sindh + karachi + bin_qasim + landhi_colony + + + static_instance-ucs-22 + sindh + karachi + bin_qasim + gulshan_e_hadeed + + + static_instance-ucs-23 + sindh + karachi + bin_qasim + gaghar + + + static_instance-ucs-24 + sindh + karachi + gadap + murad_memon_goth + + + static_instance-ucs-25 + sindh + karachi + gadap + darsano_chana + + + static_instance-ucs-26 + sindh + karachi + gadap + gujro + + + static_instance-ucs-27 + sindh + karachi + gadap + songal + + + static_instance-ucs-28 + sindh + karachi + gadap + maymarabad + + + static_instance-ucs-29 + sindh + karachi + gadap + yousuf_goth + + + static_instance-ucs-30 + sindh + karachi + gadap + manghopir + + + static_instance-ucs-31 + sindh + karachi + gulberg + azizabad + + + static_instance-ucs-32 + sindh + karachi + gulberg + karimabad + + + static_instance-ucs-33 + sindh + karachi + gulberg + aisha_manzil + + + static_instance-ucs-34 + sindh + karachi + gulberg + ancholi + + + static_instance-ucs-35 + sindh + karachi + gulberg + naseerabad + + + static_instance-ucs-36 + sindh + karachi + gulberg + yaseenabad + + + static_instance-ucs-37 + sindh + karachi + gulberg + water_pump + + + static_instance-ucs-38 + sindh + karachi + gulberg + shafiq_mill_colony + + + static_instance-ucs-39 + sindh + karachi + gulshan + delhi_mercantile_society + + + static_instance-ucs-40 + sindh + karachi + gulshan + civic_centre + + + static_instance-ucs-41 + sindh + karachi + gulshan + pir_ilahi_buksh_colony + + + static_instance-ucs-42 + sindh + karachi + gulshan + essa_nagri + + + static_instance-ucs-43 + sindh + karachi + gulshan + gulshan_e_iqbal + + + static_instance-ucs-44 + sindh + karachi + gulshan + gillani_railway_station + + + static_instance-ucs-45 + sindh + karachi + gulshan + shanti_nagar + + + static_instance-ucs-46 + sindh + karachi + gulshan + jamali_colony + + + static_instance-ucs-47 + sindh + karachi + gulshan + gulshan_e_iqbal_ii + + + static_instance-ucs-48 + sindh + karachi + gulshan + pehlwan_goth + + + static_instance-ucs-49 + sindh + karachi + gulshan + matrovil_colony + + + static_instance-ucs-50 + sindh + karachi + gulshan + gulzar_e_hijri + + + static_instance-ucs-51 + sindh + karachi + gulshan + safooran_goth + + + static_instance-ucs-52 + sindh + karachi + jamshed + akhtar_colony + + + static_instance-ucs-53 + sindh + karachi + jamshed + manzoor_colony + + + static_instance-ucs-54 + sindh + karachi + jamshed + azam_basti + + + static_instance-ucs-55 + sindh + karachi + jamshed + chanesar_goth + + + static_instance-ucs-56 + sindh + karachi + jamshed + mahmudabad + + + static_instance-ucs-57 + sindh + karachi + jamshed + pechs + + + static_instance-ucs-58 + sindh + karachi + jamshed + pechs_ii + + + static_instance-ucs-59 + sindh + karachi + jamshed + jut_line + + + static_instance-ucs-60 + sindh + karachi + jamshed + central_jacob_lines + + + static_instance-ucs-61 + sindh + karachi + jamshed + jamshed_quarters + + + static_instance-ucs-62 + sindh + karachi + jamshed + garden_east + + + static_instance-ucs-63 + sindh + karachi + jamshed + soldier_bazar + + + static_instance-ucs-64 + sindh + karachi + jamshed + pakistan_quarters + + + static_instance-ucs-65 + sindh + karachi + kiamari + bhutta_village + + + static_instance-ucs-66 + sindh + karachi + kiamari + sultanabad + + + static_instance-ucs-67 + sindh + karachi + kiamari + kiamari_uc + + + static_instance-ucs-68 + sindh + karachi + kiamari + baba_bhit + + + static_instance-ucs-69 + sindh + karachi + kiamari + machar_colony + + + static_instance-ucs-70 + sindh + karachi + kiamari + maripur + + + static_instance-ucs-71 + sindh + karachi + kiamari + shershah + + + static_instance-ucs-72 + sindh + karachi + kiamari + gabo_pat + + + static_instance-ucs-73 + sindh + karachi + landhi + muzafarabad + + + static_instance-ucs-74 + sindh + karachi + landhi + muslimabad + + + static_instance-ucs-75 + sindh + karachi + landhi + dawood_chowrangi + + + static_instance-ucs-76 + sindh + karachi + landhi + moinabad + + + static_instance-ucs-77 + sindh + karachi + landhi + sharafi_goth + + + static_instance-ucs-78 + sindh + karachi + landhi + bhutto_nagar + + + static_instance-ucs-79 + sindh + karachi + landhi + khawaja_ajmeer_colony + + + static_instance-ucs-80 + sindh + karachi + landhi + landhi_uc + + + static_instance-ucs-81 + sindh + karachi + landhi + awami_colony + + + static_instance-ucs-82 + sindh + karachi + landhi + burmee_colony + + + static_instance-ucs-83 + sindh + karachi + landhi + korangi_uc + + + static_instance-ucs-84 + sindh + karachi + landhi + sherabad + + + static_instance-ucs-85 + sindh + karachi + liaquatabad + rizvia_society + + + static_instance-ucs-86 + sindh + karachi + liaquatabad + firdous_colony + + + static_instance-ucs-87 + sindh + karachi + liaquatabad + super_market + + + static_instance-ucs-88 + sindh + karachi + liaquatabad + dak_khana + + + static_instance-ucs-89 + sindh + karachi + liaquatabad + qasimabad + + + static_instance-ucs-90 + sindh + karachi + liaquatabad + bandhani_colony + + + static_instance-ucs-91 + sindh + karachi + liaquatabad + sharifabad + + + static_instance-ucs-92 + sindh + karachi + liaquatabad + commercial_area + + + static_instance-ucs-93 + sindh + karachi + liaquatabad + mujahid_colony + + + static_instance-ucs-94 + sindh + karachi + liaquatabad + nazimabad + + + static_instance-ucs-95 + sindh + karachi + liaquatabad + abbasi_shaheed + + + static_instance-ucs-96 + sindh + karachi + lyari + agra_taj_colony + + + static_instance-ucs-97 + sindh + karachi + lyari + daryaabad + + + static_instance-ucs-98 + sindh + karachi + lyari + nawabad + + + static_instance-ucs-99 + sindh + karachi + lyari + khada_memon_society + + + static_instance-ucs-100 + sindh + karachi + lyari + baghdadi + + + static_instance-ucs-101 + sindh + karachi + lyari + shah_baig_line + + + static_instance-ucs-102 + sindh + karachi + lyari + bihar_colony + + + static_instance-ucs-103 + sindh + karachi + lyari + ragiwara + + + static_instance-ucs-104 + sindh + karachi + lyari + singo_line + + + static_instance-ucs-105 + sindh + karachi + lyari + chakiwara + + + static_instance-ucs-106 + sindh + karachi + lyari + allama_iqbal_colony + + + static_instance-ucs-107 + sindh + karachi + malir + model_colony + + + static_instance-ucs-108 + sindh + karachi + malir + kala_board + + + static_instance-ucs-109 + sindh + karachi + malir + saudabad + + + static_instance-ucs-110 + sindh + karachi + malir + khokhra_par + + + static_instance-ucs-111 + sindh + karachi + malir + jafar_e_tayyar + + + static_instance-ucs-112 + sindh + karachi + malir + gharibabad + + + static_instance-ucs-113 + sindh + karachi + malir + ghazi_brohi_goth + + + static_instance-ucs-114 + sindh + karachi + new_karachi + kalyana + + + static_instance-ucs-115 + sindh + karachi + new_karachi + sir_syed_colony + + + static_instance-ucs-116 + sindh + karachi + new_karachi + fatima_jinnah_colony + + + static_instance-ucs-117 + sindh + karachi + new_karachi + godhra + + + static_instance-ucs-118 + sindh + karachi + new_karachi + abu_zar_ghaffari + + + static_instance-ucs-119 + sindh + karachi + new_karachi + hakim_ahsan + + + static_instance-ucs-120 + sindh + karachi + new_karachi + madina_colony + + + static_instance-ucs-121 + sindh + karachi + new_karachi + faisal_colony + + + static_instance-ucs-122 + sindh + karachi + new_karachi + khamiso_goth + + + static_instance-ucs-123 + sindh + karachi + new_karachi + mustufa_colony + + + static_instance-ucs-124 + sindh + karachi + new_karachi + khawaja_ajmeer_nagri + + + static_instance-ucs-125 + sindh + karachi + new_karachi + gulshan_e_saeed + + + static_instance-ucs-126 + sindh + karachi + new_karachi + shah_nawaz_bhutto_colony + + + static_instance-ucs-127 + sindh + karachi + north_nazimabad + paposh_nagar + + + static_instance-ucs-128 + sindh + karachi + north_nazimabad + pahar_ganj + + + static_instance-ucs-129 + sindh + karachi + north_nazimabad + khandu_goth + + + static_instance-ucs-130 + sindh + karachi + north_nazimabad + hyderi + + + static_instance-ucs-131 + sindh + karachi + north_nazimabad + sakhi_hassan + + + static_instance-ucs-132 + sindh + karachi + north_nazimabad + farooq_e_azam + + + static_instance-ucs-133 + sindh + karachi + north_nazimabad + nusrat_bhutto_colony + + + static_instance-ucs-134 + sindh + karachi + north_nazimabad + shadman_town + + + static_instance-ucs-135 + sindh + karachi + north_nazimabad + buffer_zone + + + static_instance-ucs-136 + sindh + karachi + north_nazimabad + buffer_zone_ii + + + static_instance-ucs-137 + sindh + karachi + orangi + mominabad + + + static_instance-ucs-138 + sindh + karachi + orangi + haryana_colony + + + static_instance-ucs-139 + sindh + karachi + orangi + hanifabad + + + static_instance-ucs-140 + sindh + karachi + orangi + mohammad_nagar + + + static_instance-ucs-141 + sindh + karachi + orangi + madina_colony_orangi + + + static_instance-ucs-142 + sindh + karachi + orangi + ghaziabad + + + static_instance-ucs-143 + sindh + karachi + orangi + chisti_nagar + + + static_instance-ucs-144 + sindh + karachi + orangi + bilal_colony_orangi + + + static_instance-ucs-145 + sindh + karachi + orangi + iqbal_baloch_colony + + + static_instance-ucs-146 + sindh + karachi + orangi + ghabool_town + + + static_instance-ucs-147 + sindh + karachi + orangi + data_nagar + + + static_instance-ucs-148 + sindh + karachi + orangi + mujahidabad + + + static_instance-ucs-149 + sindh + karachi + orangi + baloch_goth + + + static_instance-ucs-150 + sindh + karachi + saddar + old_haji_camp + + + static_instance-ucs-151 + sindh + karachi + saddar + garden + + + static_instance-ucs-152 + sindh + karachi + saddar + kharadar + + + static_instance-ucs-153 + sindh + karachi + saddar + city_railway_colony + + + static_instance-ucs-154 + sindh + karachi + saddar + nanak_wara + + + static_instance-ucs-155 + sindh + karachi + saddar + gazdarabad + + + static_instance-ucs-156 + sindh + karachi + saddar + millat_nagar_islam_pura + + + static_instance-ucs-157 + sindh + karachi + saddar + saddar_uc + + + static_instance-ucs-158 + sindh + karachi + saddar + civil_line + + + static_instance-ucs-159 + sindh + karachi + saddar + clifton + + + static_instance-ucs-160 + sindh + karachi + saddar + kehkashan + + + static_instance-ucs-161 + sindh + karachi + shah_faisal + natha_khan_goth + + + static_instance-ucs-162 + sindh + karachi + shah_faisal + pak_sadat_colony + + + static_instance-ucs-163 + sindh + karachi + shah_faisal + drigh_colony + + + static_instance-ucs-164 + sindh + karachi + shah_faisal + raita_plot + + + static_instance-ucs-165 + sindh + karachi + shah_faisal + moria_khan_goth + + + static_instance-ucs-166 + sindh + karachi + shah_faisal + rafa_e_aam_society + + + static_instance-ucs-167 + sindh + karachi + shah_faisal + al_falah_society + + + static_instance-ucs-168 + sindh + karachi + site + pak_colony + + + static_instance-ucs-169 + sindh + karachi + site + old_golimar + + + static_instance-ucs-170 + sindh + karachi + site + jahanabad + + + static_instance-ucs-171 + sindh + karachi + site + metrovil + + + static_instance-ucs-172 + sindh + karachi + site + bhawani_chali + + + static_instance-ucs-173 + sindh + karachi + site + frontier_colony + + + static_instance-ucs-174 + sindh + karachi + site + banaras_colony + + + static_instance-ucs-175 + sindh + karachi + site + qasba_colony + + + static_instance-ucs-176 + sindh + karachi + site + islamia_colony + + + static_instance-ucs-177 + na + na + na + other + + + static_instance-ucs-178 + na + na + na + not_applicable + + + + + + + static_instance-gender-0 + male + + + static_instance-gender-1 + female + + + static_instance-gender-2 + transgender + + + + + + + static_instance-vaccines-0 + bcg + + + static_instance-vaccines-1 + opv0 + + + static_instance-vaccines-2 + pcv1 + + + static_instance-vaccines-3 + opv1 + + + static_instance-vaccines-4 + penta1 + + + static_instance-vaccines-5 + pcv2 + + + static_instance-vaccines-6 + opv2 + + + static_instance-vaccines-7 + penta2 + + + static_instance-vaccines-8 + pcv3 + + + static_instance-vaccines-9 + opv3 + + + static_instance-vaccines-10 + penta3 + + + static_instance-vaccines-11 + ipv + + + static_instance-vaccines-12 + measles1 + + + static_instance-vaccines-13 + measles2 + + + + + + + static_instance-towns-0 + sindh + karachi + korangi + + + static_instance-towns-1 + sindh + karachi + landhi + + + static_instance-towns-2 + sindh + karachi + baldia + + + static_instance-towns-3 + sindh + karachi + bin_qasim + + + static_instance-towns-4 + sindh + karachi + gadap + + + static_instance-towns-5 + sindh + karachi + gulberg + + + static_instance-towns-6 + sindh + karachi + gulshan + + + static_instance-towns-7 + sindh + karachi + jamshed + + + static_instance-towns-8 + sindh + karachi + kiamari + + + static_instance-towns-9 + sindh + karachi + liaquatabad + + + static_instance-towns-10 + sindh + karachi + lyari + + + static_instance-towns-11 + sindh + karachi + malir + + + static_instance-towns-12 + sindh + karachi + new_karachi + + + static_instance-towns-13 + sindh + karachi + north_nazimabad + + + static_instance-towns-14 + sindh + karachi + orangi + + + static_instance-towns-15 + sindh + karachi + saddar + + + static_instance-towns-16 + sindh + karachi + shah_faisal + + + static_instance-towns-17 + sindh + karachi + site + + + static_instance-towns-18 + na + na + other + + + static_instance-towns-19 + na + na + not_applicable + + + + + + + static_instance-cities-0 + sindh + karachi + + + static_instance-cities-1 + punjab + hafizabad + + + static_instance-cities-2 + punjab + muzaffargarh + + + static_instance-cities-3 + na + other + + + static_instance-cities-4 + na + not_applicable + + + + + + + static_instance-yes_no-0 + yes + + + static_instance-yes_no-1 + no + + + + diff --git a/opensrp-connector/bin/src/test/resources/form/new_household_registration/form.json b/opensrp-connector/bin/src/test/resources/form/new_household_registration/form.json new file mode 100644 index 0000000000..0288ac30df --- /dev/null +++ b/opensrp-connector/bin/src/test/resources/form/new_household_registration/form.json @@ -0,0 +1,655 @@ +{ + "default_language": "Bengali", + "id_string": "FWNewHH_1", + "children": [ + { + "name": "existing_location", + "instance": { + "openmrs_entity_id": "location_id", + "openmrs_entity": "encounter" + }, + "type": "hidden" + }, + { + "name": "today", + "instance": { + "openmrs_entity_id": "encounter_date", + "openmrs_entity": "encounter" + }, + "type": "today" + }, + { + "name": "start", + "instance": { + "openmrs_entity_id": "encounter_start", + "openmrs_entity": "encounter" + }, + "type": "start" + }, + { + "name": "end", + "instance": { + "openmrs_entity_id": "encounter_end", + "openmrs_entity": "encounter" + }, + "type": "end" + }, + { + "name": "FWNHREGDATE", + "hint": { + "Bengali": "আজকের তারিখ দিন", + "English": "Confirm Today’s date is correct" + }, + "bind": { + "jr:constraintMsg": { + "Bengali": "তারিখ আজকের তারিখের চেয়ে বেশী হতে পারবেনা", + "English": "Date cannot be greater than current date." + }, + "required": "yes", + "constraint": ".<=${today}" + }, + "label": { + "Bengali": "তথ্য সংগ্রহের তারিখ", + "English": "Date of Interview" + }, + "instance": { + "openmrs_entity_id": "160753AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept" + }, + "type": "date" + }, + { + "control": { + "appearance": "numbers" + }, + "name": "FWGOBHHID", + "hint": { + "Bengali": "অনুগ্রহ করে খানার দরজাতে লেখা কালো রঙের JiVitA/Study household ID (HHID) টি টাইপ করুন", + "English": "Please input the Black – painted Government household ID (HHID) as displayed on the door/wall of the HH." + }, + "bind": { + "jr:constraintMsg": { + "Bengali": "অনুগ্রহ করে ০০০১ থেকে ৯৯৯৯ এর মধ্যে ৪ ডিজিটের GoB HHID টাইপ করুন", + "English": "Please enter 4 digits of GoB HHID from 0001 to 9999" + }, + "required": "yes", + "constraint": "regex(., '^(?!0{4})[0-9]{4}$')" + }, + "label": { + "Bengali": "GoB HHID", + "English": "GoB HHID" + }, + "instance": { + "openmrs_entity_id": "GOB HHID", + "openmrs_entity": "person_identifier" + }, + "type": "text" + }, + { + "control": { + "appearance": "numbers" + }, + "name": "FWJIVHHID", + "hint": { + "Bengali": "অনুগ্রহ করে খানার দরজাতে লেখা লাল রঙের JiVitA/Study household ID (HHID) টি টাইপ করুন", + "English": "Please input the RED – painted JiVitA / Study household ID (HHID) as displayed on the door/wall of the HH." + }, + "bind": { + "jr:constraintMsg": { + "Bengali": "অনুগ্রহ করে ০০০১ থেকে ৯৯৯৯ এর মধ্যে ৪ ডিজিটের JiVitA HHID টাইপ করুন", + "English": "Please enter 4 digits of JiVitA HHID from 0001 to 9999" + }, + "required": "yes", + "constraint": "regex(., '^(?!0{4})[0-9]{4}$')" + }, + "label": { + "Bengali": "JiVitA HHID", + "English": "JiVitA HHID" + }, + "instance": { + "openmrs_entity_id": "JiVitA HHID", + "openmrs_entity": "person_identifier" + }, + "type": "text" + }, + { + "name": "FWNHNEARTO", + "label": { + "Bengali": "নিকটবর্তী স্থান", + "English": "Near to" + }, + "instance": { + "openmrs_entity_parent": "usual_residence", + "openmrs_entity_id": "landmark", + "openmrs_entity": "person_address" + }, + "type": "text" + }, + { + "name": "FWNHHHGPS", + "bind": { + "required": "yes" + }, + "label": { + "Bengali": "জি পি এস", + "English": "Collect GPS Location of HH" + }, + "instance": { + "openmrs_entity_parent": "usual_residence", + "openmrs_entity_id": "geopoint", + "openmrs_entity": "person_address" + }, + "type": "geopoint" + }, + { + "name": "FWHOHFNAME", + "bind": { + "required": "yes" + }, + "label": { + "Bengali": "খানা প্রধানের নাম-", + "English": "Head of Household Name" + }, + "instance": { + "openmrs_entity_id": "first_name", + "openmrs_entity": "person" + }, + "type": "text" + }, + { + "name": "FWHOHLNAME", + "bind": { + "calculate": "\".\"" + }, + "instance": { + "openmrs_entity_id": "last_name", + "openmrs_entity": "person" + }, + "type": "calculate" + }, + { + "name": "FWHOHBIRTHDATE", + "bind": { + "calculate": "\"1900-01-01\"" + }, + "instance": { + "openmrs_entity_id": "birthdate", + "openmrs_entity": "person" + }, + "type": "calculate" + }, + { + "name": "FWHOHGENDER", + "bind": { + "calculate": "\"male\"" + }, + "instance": { + "openmrs_entity_id": "gender", + "openmrs_entity": "person" + }, + "type": "calculate" + }, + { + "name": "FWNHHMBRNUM", + "label": { + "Bengali": "খানা সদস্যের সংখ্যা কত?", + "English": "How many people are currently living in this household?" + }, + "instance": { + "openmrs_entity_id": "5611AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept" + }, + "type": "integer" + }, + { + "children": [ + { + "name": "0", + "label": { + "Bengali": "না", + "English": "No" + }, + "instance": { + "openmrs_code": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "name": "1", + "label": { + "Bengali": "হ্যাঁ", + "English": "Yes" + }, + "instance": { + "openmrs_code": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "name": "9", + "label": { + "Bengali": "জানিনা", + "English": "Don't know" + }, + "instance": { + "openmrs_code": "1067AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + } + ], + "name": "FWNHHMWRA", + "label": { + "Bengali": "এই খানায় কি প্রজনন বয়সী বিবাহিত মহিলা আছেন?", + "English": "Are there any MWRAs in this Household?" + }, + "type": "select one" + }, + { + "children": [ + { + "name": "FWWOMFNAME", + "hint": { + "Bengali": "অনুগ্রহ করে মহিলার নাম টাইপ করুন", + "English": "Please type woman's name" + }, + "bind": { + "required": "yes" + }, + "label": { + "Bengali": "মহিলার নাম-", + "English": "Woman Name" + }, + "instance": { + "openmrs_entity_id": "first_name", + "openmrs_entity": "person" + }, + "type": "text" + }, + { + "name": "FWWOMLNAME", + "bind": { + "calculate": "\".\"" + }, + "instance": { + "openmrs_entity_id": "last_name", + "openmrs_entity": "person" + }, + "type": "calculate" + }, + { + "control": { + "appearance": "numbers" + }, + "name": "FWWOMNID", + "hint": { + "Bengali": "অনুগ্রহ করে জাতীয় পরিচয়পত্র কার্ড দেখে সরকার প্রদত্ত আইডি টাইপ করুন", + "English": "Please input the Government ID as displayed on the national ID card" + }, + "bind": { + "jr:constraintMsg": { + "Bengali": "জাতীয় পরিচয়পত্র নং ১৩ অথবা ১৭ ডিজিটের হবে", + "English": "National ID should be 13 or 17 digits" + }, + "constraint": "regex(., '^(?!0{13})[0-9]{13}$') or regex(., '^(?!0{17})[0-9]{17}$')" + }, + "label": { + "Bengali": "মহিলার জাতীয় পরিচয়পত্র নং-", + "English": "Woman's National ID Number" + }, + "instance": { + "openmrs_entity_id": "NID", + "openmrs_entity": "person_identifier" + }, + "type": "text" + }, + { + "control": { + "appearance": "numbers" + }, + "name": "FWWOMBID", + "hint": { + "Bengali": "অনুগ্রহ করে জন্ম নিবন্ধন সনদ দেখে সরকার প্রদত্ত আইডি টাইপ করুন", + "English": "Please input the Government ID as displayed on the birth certificate" + }, + "bind": { + "jr:constraintMsg": { + "Bengali": "জন্ম নিবন্ধন সনদ নং ১৭ ডিজিটের হবে", + "English": "Birth Registration ID should be 17 digits" + }, + "required": "yes", + "constraint": "regex(., '^(?!0{17})[0-9]{17}$')" + }, + "label": { + "Bengali": "মহিলার জন্ম নিবন্ধন সনদ নং-", + "English": "Woman's Birth Registration ID" + }, + "instance": { + "openmrs_entity_id": "Birth Registration ID", + "openmrs_entity": "person_identifier" + }, + "type": "text" + }, + { + "name": "FWHUSNAME", + "hint": { + "Bengali": "অনুগ্রহ করে স্বামীর নাম টাইপ করুন", + "English": "Please type husband's name" + }, + "bind": { + "required": "yes" + }, + "label": { + "Bengali": "স্বামীর নাম-", + "English": "Husband Name" + }, + "instance": { + "openmrs_entity_id": "161135AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept" + }, + "type": "text" + }, + { + "name": "FWBIRTHDATE", + "hint": { + "Bengali": "মহিলার জন্ম নিবন্ধন পত্র থাকলে সেখান থেকে জন্ম তারিখটি লিখে নিন। যদি জন্ম তারিখ জানা না থাকে তবে তারিখ ১৫ সিলেক্ট করুন, যদি মাস জানা না থাকে তবে মাস ৬ (জুন) সিলেক্ট করুন", + "English": "If birth certificate is available, take date of birth from the birth certificate. \nIf date of birth is unknown, choose 15th as the date of birth. If month is unknown, choose month 06 (June) as month of birth." + }, + "bind": { + "jr:constraintMsg": { + "Bengali": "মহিলার বয়স অবশ্যই ১৩ বছরের বেশী হবে", + "English": "Woman must be older than 13 years of age" + }, + "required": "yes", + "constraint": "((${FWBIRTHDATE})+4745) <= today()" + }, + "label": { + "Bengali": "মহিলার জন্ম তারিখ", + "English": "Woman's Date of Birth" + }, + "instance": { + "openmrs_entity_id": "birthdate", + "openmrs_entity": "person" + }, + "type": "date" + }, + { + "name": "FWGENDER", + "bind": { + "calculate": "\"female\"" + }, + "instance": { + "openmrs_entity_id": "gender", + "openmrs_entity": "person" + }, + "type": "calculate" + }, + { + "name": "FWWOMAGE", + "bind": { + "calculate": "round(((${today} - ${FWBIRTHDATE}) div 365.25),0)" + }, + "type": "calculate" + }, + { + "name": "display_age", + "label": { + "Bengali": "মহিলার বয়স ${FWWOMAGE}", + "English": "The woman's age is ${FWWOMAGE}." + }, + "type": "note" + }, + { + "children": [ + { + "name": "0", + "label": { + "Bengali": "না", + "English": "No" + }, + "instance": { + "openmrs_code": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "name": "1", + "label": { + "Bengali": "হ্যাঁ", + "English": "Yes" + }, + "instance": { + "openmrs_code": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "name": "9", + "label": { + "Bengali": "জানিনা", + "English": "Don't know" + }, + "instance": { + "openmrs_code": "1067AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + } + ], + "name": "FWNHWOMSTRMEN", + "bind": { + "required": "yes" + }, + "label": { + "Bengali": "আপনার কি মাসিক একেবারে উঠে গেছে/আপনি কি স্থায়ী জন্মনিয়ন্ত্রন পদ্ধতি গ্রহণ করেছেন?", + "English": "Are you currently menopausal or sterilized?" + }, + "type": "select one" + }, + { + "children": [ + { + "name": "0", + "label": { + "Bengali": "মারা গেছেন", + "English": "Deceased" + }, + "instance": { + "openmrs_code": "159AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "name": "1", + "label": { + "Bengali": "বেঁচে আছেন", + "English": "Alive" + }, + "instance": { + "openmrs_code": "160429AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "name": "9", + "label": { + "Bengali": "জানিনা", + "English": "Don't know" + }, + "instance": { + "openmrs_code": "1067AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + } + ], + "name": "FWNHWOMHUSALV", + "bind": { + "relevant": "${FWNHWOMSTRMEN}='0'", + "required": "yes" + }, + "label": { + "Bengali": "আপনার স্বামী কি বেঁচে আছেন?", + "English": "Is the husband alive?" + }, + "instance": { + "openmrs_entity_id": "5561AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept" + }, + "type": "select one" + }, + { + "children": [ + { + "name": "0", + "label": { + "Bengali": "না", + "English": "No" + }, + "instance": { + "openmrs_code": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "name": "1", + "label": { + "Bengali": "হ্যাঁ", + "English": "Yes" + }, + "instance": { + "openmrs_code": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "name": "9", + "label": { + "Bengali": "জানিনা", + "English": "Don't know" + }, + "instance": { + "openmrs_code": "1067AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + } + ], + "name": "FWNHWOMHUSLIV", + "bind": { + "relevant": "${FWNHWOMSTRMEN}='0' and ${FWNHWOMHUSALV}='1'", + "required": "yes" + }, + "label": { + "Bengali": "আপনি কি বর্তমানে আপনার স্বামীর সাথে বসবাস করছেন?", + "English": "Are you currently living with your husband?" + }, + "instance": { + "openmrs_entity_id": "1060AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept" + }, + "type": "select one" + }, + { + "children": [ + { + "name": "0", + "label": { + "Bengali": "না", + "English": "No" + }, + "instance": { + "openmrs_code": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "name": "1", + "label": { + "Bengali": "হ্যাঁ", + "English": "Yes" + }, + "instance": { + "openmrs_code": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "name": "9", + "label": { + "Bengali": "জানিনা", + "English": "Don't know" + }, + "instance": { + "openmrs_code": "1067AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + } + ], + "name": "FWNHWOMHUSSTR", + "bind": { + "relevant": "${FWNHWOMSTRMEN}='0' and ${FWNHWOMHUSLIV}='1'", + "required": "yes" + }, + "label": { + "Bengali": "আপনার স্বামী কি স্থায়ী জন্মনিয়ন্ত্রন পদ্ধতি গ্রহণ করেছেন?", + "English": "Is the husband sterilized?" + }, + "type": "select one" + }, + { + "name": "FWELIGIBLE", + "bind": { + "calculate": "if(${FWNHWOMSTRMEN}='0' and ${FWNHWOMHUSLIV}='1' and ${FWNHWOMHUSSTR}='0',1,0)" + }, + "type": "calculate" + }, + { + "name": "add_women", + "label": { + "Bengali": "এই খানায় যদি আরও কোন মহিলা থাকে যাকে রেজিস্ট্রেশন করা হয়নি, তাহলে '+' অপশনটি বাছুন এবং একই প্রক্রিয়ায় পরবর্তী মহিলাকে রেজিস্ট্রেশন করুন", + "English": "If there are any additional unregistered women in this household, select the '+' to add them now." + }, + "type": "note" + } + ], + "name": "woman", + "hint": { + "Bengali": "আমরা এখন মহিলাটির রেজিস্ট্রেশন প্রক্রিয়া শুরু করতে যাচ্ছি। অনুগ্রহ করে মহিলাটিরে তার জন্ম নিবন্ধন স ও জাতীয় পরিচয়পত্র নিয়ে আসতে বলুন।", + "English": "We will now register the woman. Please ask her to bring her National ID Card and Birth Certificate." + }, + "bind": { + "relevant": "${FWNHHMWRA}='1'" + }, + "label": { + "Bengali": "মহিলা তথ্যঃ", + "English": "New Woman Registration" + }, + "instance": { + "openmrs_entity_id": "Census and New Woman Registration", + "openmrs_entity": "person" + }, + "type": "repeat" + }, + { + "name": "join_names", + "bind": { + "calculate": "join(' ', ${FWWOMFNAME})" + }, + "type": "calculate" + }, + { + "name": "MWRA", + "bind": { + "calculate": "if(${join_names} = '', 0, count(${woman}))" + }, + "type": "calculate" + }, + { + "control": { + "bodyless": true + }, + "children": [ + { + "name": "instanceID", + "bind": { + "readonly": "true()", + "calculate": "concat('uuid:', uuid())" + }, + "type": "calculate" + } + ], + "name": "meta", + "type": "group" + } + ], + "instance": { + "encounter_type": "New Household Registration" + }, + "version": "201505070930", + "type": "survey", + "name": "FWNewHH", + "sms_keyword": "FWNewHH", + "title": "FW new HH Reg" +} \ No newline at end of file diff --git a/opensrp-connector/bin/src/test/resources/form/new_household_registration/form.xml b/opensrp-connector/bin/src/test/resources/form/new_household_registration/form.xml new file mode 100644 index 0000000000..85089deaa5 --- /dev/null +++ b/opensrp-connector/bin/src/test/resources/form/new_household_registration/form.xml @@ -0,0 +1,26 @@ + +
+

নতুন খানা রেজিস্ট্রেশন ফর্ম

+ + + + + + + + + +
এই খানায় কি প্রজনন বয়সী বিবাহিত মহিলা আছেন?Are there any MWRAs in this Household? +
+

মহিলা তথ্যঃNew Woman Registration

আপনার কি মাসিক একেবারে উঠে গেছে/আপনি কি স্থায়ী জন্মনিয়ন্ত্রন পদ্ধতি গ্রহণ করেছেন?Are you currently menopausal or sterilized?* +
আপনার স্বামী কি বেঁচে আছেন?Is the husband alive?* +
আপনি কি বর্তমানে আপনার স্বামীর সাথে বসবাস করছেন?Are you currently living with your husband?* +
আপনার স্বামী কি স্থায়ী জন্মনিয়ন্ত্রন পদ্ধতি গ্রহণ করেছেন?Is the husband sterilized?* +
+
+
+ + XML to HTML transformation for form took 0.03 secondsThis validation is yet not functional.
diff --git a/opensrp-connector/bin/src/test/resources/form/new_household_registration/form_definition.json b/opensrp-connector/bin/src/test/resources/form/new_household_registration/form_definition.json new file mode 100644 index 0000000000..f1dea2a941 --- /dev/null +++ b/opensrp-connector/bin/src/test/resources/form/new_household_registration/form_definition.json @@ -0,0 +1,166 @@ +{ + "form_data_definition_version": "1", + "form": { + "default_bind_path": "/model/instance/FWNewHH", + "bind_type": "household", + "fields": [ + { + "name": "id", + "shouldLoadValue": true + }, + { + "name": "existing_location", + "bind": "/model/instance/FWNewHH/existing_location" + }, + { + "name": "today", + "bind": "/model/instance/FWNewHH/today" + }, + { + "name": "start", + "bind": "/model/instance/FWNewHH/start" + }, + { + "name": "end", + "bind": "/model/instance/FWNewHH/end" + }, + { + "name": "FWNHREGDATE", + "bind": "/model/instance/FWNewHH/FWNHREGDATE" + }, + { + "name": "FWGOBHHID", + "bind": "/model/instance/FWNewHH/FWGOBHHID" + }, + { + "name": "FWJIVHHID", + "bind": "/model/instance/FWNewHH/FWJIVHHID" + }, + { + "name": "FWNHNEARTO", + "bind": "/model/instance/FWNewHH/FWNHNEARTO" + }, + { + "name": "FWNHHHGPS", + "bind": "/model/instance/FWNewHH/FWNHHHGPS" + }, + { + "name": "FWHOHFNAME", + "bind": "/model/instance/FWNewHH/FWHOHFNAME" + }, + { + "name": "FWHOHLNAME", + "bind": "/model/instance/FWNewHH/FWHOHLNAME" + }, + { + "name": "FWHOHBIRTHDATE", + "bind": "/model/instance/FWNewHH/FWHOHBIRTHDATE" + }, + { + "name": "FWHOHBIRTHDATEAPPROX", + "bind": "/model/instance/FWNewHH/FWHOHBIRTHDATEAPPROX" + }, + { + "name": "FWHOHGENDER", + "bind": "/model/instance/FWNewHH/FWHOHGENDER" + }, + { + "name": "FWNHHMBRNUM", + "bind": "/model/instance/FWNewHH/FWNHHMBRNUM" + }, + { + "name": "FWNHHMWRA", + "bind": "/model/instance/FWNewHH/FWNHHMWRA" + }, + { + "name": "join_names", + "bind": "/model/instance/FWNewHH/join_names" + }, + { + "name": "MWRA", + "bind": "/model/instance/FWNewHH/MWRA" + } + ], + "sub_forms": [ + { + "name": "elco_registration", + "bind_type": "elco", + "default_bind_path": "/model/instance/FWNewHH/woman", + "fields": [ + { + "name": "id", + "shouldLoadValue": true + }, + { + "name": "GOBHHID", + "bind": "/model/instance/FWNewHH/woman/GOBHHID" + }, + { + "name": "JiVitAHHID", + "bind": "/model/instance/FWNewHH/woman/JiVitAHHID" + }, + { + "name": "FWWOMFNAME", + "bind": "/model/instance/FWNewHH/woman/FWWOMFNAME" + }, + { + "name": "FWWOMLNAME", + "bind": "/model/instance/FWNewHH/woman/FWWOMLNAME" + }, + { + "name": "FWWOMNID", + "bind": "/model/instance/FWNewHH/woman/FWWOMNID" + }, + { + "name": "FWWOMBID", + "bind": "/model/instance/FWNewHH/woman/FWWOMBID" + }, + { + "name": "FWHUSNAME", + "bind": "/model/instance/FWNewHH/woman/FWHUSNAME" + }, + { + "name": "FWBIRTHDATE", + "bind": "/model/instance/FWNewHH/woman/FWBIRTHDATE" + }, + { + "name": "FWBIRTHDATEAPPROX", + "bind": "/model/instance/FWNewHH/woman/FWBIRTHDATEAPPROX" + }, + { + "name": "FWGENDER", + "bind": "/model/instance/FWNewHH/woman/FWGENDER" + }, + { + "name": "FWWOMAGE", + "bind": "/model/instance/FWNewHH/woman/FWWOMAGE" + }, + { + "name": "display_age", + "bind": "/model/instance/FWNewHH/woman/display_age" + }, + { + "name": "FWNHWOMSTRMEN", + "bind": "/model/instance/FWNewHH/woman/FWNHWOMSTRMEN" + }, + { + "name": "FWNHWOMHUSALV", + "bind": "/model/instance/FWNewHH/woman/FWNHWOMHUSALV" + }, + { + "name": "FWNHWOMHUSLIV", + "bind": "/model/instance/FWNewHH/woman/FWNHWOMHUSLIV" + }, + { + "name": "FWNHWOMHUSSTR", + "bind": "/model/instance/FWNewHH/woman/FWNHWOMHUSSTR" + }, + { + "name": "FWELIGIBLE", + "bind": "/model/instance/FWNewHH/woman/FWELIGIBLE" + } + ] + } + ] + } +} \ No newline at end of file diff --git a/opensrp-connector/bin/src/test/resources/form/new_household_registration/form_submission1.json b/opensrp-connector/bin/src/test/resources/form/new_household_registration/form_submission1.json new file mode 100644 index 0000000000..a6a2f189a5 --- /dev/null +++ b/opensrp-connector/bin/src/test/resources/form/new_household_registration/form_submission1.json @@ -0,0 +1,228 @@ +{ + "_id": "251ca0ef09df9af88f0e9d5f180115a3", + "_rev": "1-e73e1d93acdcdaeb1d41a738da5d9284", + "type": "FormSubmission", + "anmId": "demotest", + "instanceId": "88c0e824-10b4-44c2-9429-754b8d823776", + "formName": "new_household_registration", + "entityId": "a3f2abf4-2699-4761-819a-cea739224164", + "clientVersion": 1430997074596, + "formDataDefinitionVersion": "1", + "formInstance": { + "form_data_definition_version": "1", + "form": { + "bind_type": "household", + "default_bind_path": "/model/instance/FWNewHH", + "fields": [ + { + "name": "id", + "value": "a3f2abf4-2699-4761-819a-cea739224164", + "source": "household.id" + }, + { + "name": "existing_location", + "value": "KUPTALA", + "source": "household.existing_location" + }, + { + "name": "today", + "value": "2015-05-07", + "source": "household.today" + }, + { + "name": "start", + "value": "2015-05-07T17:07:21.000+06:00", + "source": "household.start" + }, + { + "name": "end", + "value": "2015-05-07T17:07:21.000+06:00", + "source": "household.end" + }, + { + "name": "FWNHREGDATE", + "value": "2015-05-07", + "source": "household.FWNHREGDATE" + }, + { + "name": "FWGOBHHID", + "value": "1234", + "source": "household.FWGOBHHID" + }, + { + "name": "FWJIVHHID", + "value": "1234", + "source": "household.FWJIVHHID" + }, + { + "name": "FWNHNEARTO", + "value": "nothing", + "source": "household.FWNHNEARTO" + }, + { + "name": "FWNHHHGPS", + "value": "34 34 0 0", + "source": "household.FWNHHHGPS" + }, + { + "name": "FWHOHFNAME", + "value": "test", + "source": "household.FWHOHFNAME" + }, + { + "name": "FWHOHLNAME", + "value": ".", + "source": "household.FWHOHLNAME" + }, + { + "name": "FWHOHBIRTHDATE", + "value": "1900-01-01", + "source": "household.FWHOHBIRTHDATE" + }, + { + "name": "FWHOHGENDER", + "value": "male", + "source": "household.FWHOHGENDER" + }, + { + "name": "FWNHHMBRNUM", + "value": "2", + "source": "household.FWNHHMBRNUM" + }, + { + "name": "FWNHHMWRA", + "value": "1", + "source": "household.FWNHHMWRA" + }, + { + "name": "join_names", + "value": "shumi sumaita", + "source": "household.join_names" + }, + { + "name": "MWRA", + "value": "2", + "source": "household.MWRA" + } + ], + "sub_forms": [ + { + "name": "elco_registration", + "bind_type": "elco", + "default_bind_path": "/model/instance/FWNewHH/woman", + "fields": [ + { + "name": "id", + "source": "elco.id" + }, + { + "name": "GOBHHID", + "source": "elco.GOBHHID" + }, + { + "name": "JiVitAHHID", + "source": "elco.JiVitAHHID" + }, + { + "name": "FWWOMFNAME", + "source": "elco.FWWOMFNAME" + }, + { + "name": "FWWOMLNAME", + "source": "elco.FWWOMLNAME" + }, + { + "name": "FWWOMNID", + "source": "elco.FWWOMNID" + }, + { + "name": "FWWOMBID", + "source": "elco.FWWOMBID" + }, + { + "name": "FWHUSNAME", + "source": "elco.FWHUSNAME" + }, + { + "name": "FWBIRTHDATE", + "source": "elco.FWBIRTHDATE" + }, + { + "name": "FWGENDER", + "source": "elco.FWGENDER" + }, + { + "name": "FWWOMAGE", + "source": "elco.FWWOMAGE" + }, + { + "name": "display_age", + "source": "elco.display_age" + }, + { + "name": "FWNHWOMSTRMEN", + "source": "elco.FWNHWOMSTRMEN" + }, + { + "name": "FWNHWOMHUSALV", + "source": "elco.FWNHWOMHUSALV" + }, + { + "name": "FWNHWOMHUSLIV", + "source": "elco.FWNHWOMHUSLIV" + }, + { + "name": "FWNHWOMHUSSTR", + "source": "elco.FWNHWOMHUSSTR" + }, + { + "name": "FWELIGIBLE", + "source": "elco.FWELIGIBLE" + } + ], + "instances": [ + { + "GOBHHID": "1234323", + "JiVitAHHID": "123465656", + "FWWOMFNAME": "shumi", + "FWWOMLNAME": ".", + "FWWOMNID": "", + "FWWOMBID": "54676545676787876", + "FWHUSNAME": "selim", + "FWBIRTHDATE": "1998-02-04", + "FWGENDER": "female", + "FWWOMAGE": "17", + "display_age": "", + "FWNHWOMSTRMEN": "1", + "FWNHWOMHUSALV": "", + "FWNHWOMHUSLIV": "", + "FWNHWOMHUSSTR": "", + "FWELIGIBLE": "0", + "id": "babcd9d2-b3e9-4f6d-8a06-2df8f5fbf01f" + }, + { + "GOBHHID": "1234121", + "JiVitAHHID": "12348787", + "FWWOMFNAME": "sumaita", + "FWWOMLNAME": ".", + "FWWOMNID": "", + "FWWOMBID": "56543456567654567", + "FWHUSNAME": "razzak", + "FWBIRTHDATE": "1989-08-18", + "FWGENDER": "female", + "FWWOMAGE": "26", + "display_age": "", + "FWNHWOMSTRMEN": "0", + "FWNHWOMHUSALV": "1", + "FWNHWOMHUSLIV": "1", + "FWNHWOMHUSSTR": "1", + "FWELIGIBLE": "0", + "id": "74eebb60-a1b9-4691-81a4-5c04ecce7ae9" + } + ] + } + ] + } + }, + "serverVersion": 1430998001293 +} \ No newline at end of file diff --git a/opensrp-connector/bin/src/test/resources/form/new_household_registration/form_submission2.json b/opensrp-connector/bin/src/test/resources/form/new_household_registration/form_submission2.json new file mode 100644 index 0000000000..76f8e41550 --- /dev/null +++ b/opensrp-connector/bin/src/test/resources/form/new_household_registration/form_submission2.json @@ -0,0 +1,207 @@ +{ + "_id": "251ca0ef09df9af88f0e9d5f18000df2", + "_rev": "1-0cec42380dce0fef7b1263aad8652c3f", + "type": "FormSubmission", + "anmId": "demotest", + "instanceId": "916363c4-a10e-488d-8de4-9be7a05d43cd", + "formName": "new_household_registration", + "entityId": "0aac6d81-b51f-4096-b354-5a5786e406c8", + "clientVersion": 1430924780686, + "formDataDefinitionVersion": "1", + "formInstance": { + "form_data_definition_version": "1", + "form": { + "bind_type": "household", + "default_bind_path": "/model/instance/FWNewHH", + "fields": [ + { + "name": "id", + "value": "0aac6d81-b51f-4096-b354-5a5786e406c8", + "source": "household.id" + }, + { + "name": "existing_location", + "value": "KUPTALA", + "source": "household.existing_location" + }, + { + "name": "today", + "value": "2015-05-06", + "source": "household.today" + }, + { + "name": "start", + "value": "2015-05-06T21:05:35.000+06:00", + "source": "household.start" + }, + { + "name": "end", + "value": "2015-05-06T21:05:35.000+06:00", + "source": "household.end" + }, + { + "name": "FWNHREGDATE", + "value": "2015-05-06", + "source": "household.FWNHREGDATE" + }, + { + "name": "FWGOBHHID", + "value": "0002", + "source": "household.FWGOBHHID" + }, + { + "name": "FWJIVHHID", + "value": "0002", + "source": "household.FWJIVHHID" + }, + { + "name": "FWNHNEARTO", + "source": "household.FWNHNEARTO" + }, + { + "name": "FWNHHHGPS", + "value": "23.7984 90.4019 0 25", + "source": "household.FWNHHHGPS" + }, + { + "name": "FWHOHFNAME", + "value": "karim mia", + "source": "household.FWHOHFNAME" + }, + { + "name": "FWHOHLNAME", + "value": ".", + "source": "household.FWHOHLNAME" + }, + { + "name": "FWHOHBIRTHDATE", + "value": "1900-01-01", + "source": "household.FWHOHBIRTHDATE" + }, + { + "name": "FWHOHGENDER", + "value": "male", + "source": "household.FWHOHGENDER" + }, + { + "name": "FWNHHMBRNUM", + "value": "1", + "source": "household.FWNHHMBRNUM" + }, + { + "name": "FWNHHMWRA", + "value": "0", + "source": "household.FWNHHMWRA" + }, + { + "name": "join_names", + "source": "household.join_names" + }, + { + "name": "MWRA", + "value": "0", + "source": "household.MWRA" + } + ], + "sub_forms": [ + { + "name": "elco_registration", + "bind_type": "elco", + "default_bind_path": "/model/instance/FWNewHH/woman", + "fields": [ + { + "name": "id", + "source": "elco.id" + }, + { + "name": "GOBHHID", + "source": "elco.GOBHHID" + }, + { + "name": "JiVitAHHID", + "source": "elco.JiVitAHHID" + }, + { + "name": "FWWOMFNAME", + "source": "elco.FWWOMFNAME" + }, + { + "name": "FWWOMLNAME", + "source": "elco.FWWOMLNAME" + }, + { + "name": "FWWOMNID", + "source": "elco.FWWOMNID" + }, + { + "name": "FWWOMBID", + "source": "elco.FWWOMBID" + }, + { + "name": "FWHUSNAME", + "source": "elco.FWHUSNAME" + }, + { + "name": "FWBIRTHDATE", + "source": "elco.FWBIRTHDATE" + }, + { + "name": "FWGENDER", + "source": "elco.FWGENDER" + }, + { + "name": "FWWOMAGE", + "source": "elco.FWWOMAGE" + }, + { + "name": "display_age", + "source": "elco.display_age" + }, + { + "name": "FWNHWOMSTRMEN", + "source": "elco.FWNHWOMSTRMEN" + }, + { + "name": "FWNHWOMHUSALV", + "source": "elco.FWNHWOMHUSALV" + }, + { + "name": "FWNHWOMHUSLIV", + "source": "elco.FWNHWOMHUSLIV" + }, + { + "name": "FWNHWOMHUSSTR", + "source": "elco.FWNHWOMHUSSTR" + }, + { + "name": "FWELIGIBLE", + "source": "elco.FWELIGIBLE" + } + ], + "instances": [ + { + "GOBHHID": "0002", + "JiVitAHHID": "042002", + "FWWOMFNAME": "fana", + "FWWOMLNAME": ".", + "FWWOMNID": "", + "FWWOMBID": "9999999999999999", + "FWHUSNAME": "", + "FWBIRTHDATE": "2000-12-12", + "FWGENDER": "female", + "FWWOMAGE": "NaN", + "display_age": "", + "FWNHWOMSTRMEN": "", + "FWNHWOMHUSALV": "", + "FWNHWOMHUSLIV": "", + "FWNHWOMHUSSTR": "", + "FWELIGIBLE": "0", + "id": "b19db74f-6e96-4652-a765-5078beb12434" + } + ] + } + ] + } + }, + "serverVersion": 1430924937728 +} \ No newline at end of file diff --git a/opensrp-connector/bin/src/test/resources/form/new_household_registration/form_submission3.json b/opensrp-connector/bin/src/test/resources/form/new_household_registration/form_submission3.json new file mode 100644 index 0000000000..113c3c0829 --- /dev/null +++ b/opensrp-connector/bin/src/test/resources/form/new_household_registration/form_submission3.json @@ -0,0 +1,208 @@ +{ + "_id": "251ca0ef09df9af88f0e9d5f1800160d", + "_rev": "1-89988ca8cc2db0cd67afc292263137fe", + "type": "FormSubmission", + "anmId": "demotest", + "instanceId": "1cdf1628-86f2-440b-b5b0-4bc612d2fd2f", + "formName": "new_household_registration", + "entityId": "baf59aa4-64e9-46fc-99e6-8cd8f01618ff", + "clientVersion": 1430925173098, + "formDataDefinitionVersion": "1", + "formInstance": { + "form_data_definition_version": "1", + "form": { + "bind_type": "household", + "default_bind_path": "/model/instance/FWNewHH", + "fields": [ + { + "name": "id", + "value": "baf59aa4-64e9-46fc-99e6-8cd8f01618ff", + "source": "household.id" + }, + { + "name": "existing_location", + "value": "LAKSHMIPUR", + "source": "household.existing_location" + }, + { + "name": "today", + "value": "2015-05-06", + "source": "household.today" + }, + { + "name": "start", + "value": "2015-05-06T21:09:22.000+06:00", + "source": "household.start" + }, + { + "name": "end", + "value": "2015-05-06T21:09:22.000+06:00", + "source": "household.end" + }, + { + "name": "FWNHREGDATE", + "value": "2015-05-06", + "source": "household.FWNHREGDATE" + }, + { + "name": "FWGOBHHID", + "value": "0091", + "source": "household.FWGOBHHID" + }, + { + "name": "FWJIVHHID", + "value": "0091", + "source": "household.FWJIVHHID" + }, + { + "name": "FWNHNEARTO", + "source": "household.FWNHNEARTO" + }, + { + "name": "FWNHHHGPS", + "value": "23.7984 90.402 0 40", + "source": "household.FWNHHHGPS" + }, + { + "name": "FWHOHFNAME", + "value": "hasan ferox", + "source": "household.FWHOHFNAME" + }, + { + "name": "FWHOHLNAME", + "value": ".", + "source": "household.FWHOHLNAME" + }, + { + "name": "FWHOHBIRTHDATE", + "value": "1900-01-01", + "source": "household.FWHOHBIRTHDATE" + }, + { + "name": "FWHOHGENDER", + "value": "male", + "source": "household.FWHOHGENDER" + }, + { + "name": "FWNHHMBRNUM", + "value": "1", + "source": "household.FWNHHMBRNUM" + }, + { + "name": "FWNHHMWRA", + "value": "1", + "source": "household.FWNHHMWRA" + }, + { + "name": "join_names", + "value": "mithila", + "source": "household.join_names" + }, + { + "name": "MWRA", + "value": "1", + "source": "household.MWRA" + } + ], + "sub_forms": [ + { + "name": "elco_registration", + "bind_type": "elco", + "default_bind_path": "/model/instance/FWNewHH/woman", + "fields": [ + { + "name": "id", + "source": "elco.id" + }, + { + "name": "GOBHHID", + "source": "elco.GOBHHID" + }, + { + "name": "JiVitAHHID", + "source": "elco.JiVitAHHID" + }, + { + "name": "FWWOMFNAME", + "source": "elco.FWWOMFNAME" + }, + { + "name": "FWWOMLNAME", + "source": "elco.FWWOMLNAME" + }, + { + "name": "FWWOMNID", + "source": "elco.FWWOMNID" + }, + { + "name": "FWWOMBID", + "source": "elco.FWWOMBID" + }, + { + "name": "FWHUSNAME", + "source": "elco.FWHUSNAME" + }, + { + "name": "FWBIRTHDATE", + "source": "elco.FWBIRTHDATE" + }, + { + "name": "FWGENDER", + "source": "elco.FWGENDER" + }, + { + "name": "FWWOMAGE", + "source": "elco.FWWOMAGE" + }, + { + "name": "display_age", + "source": "elco.display_age" + }, + { + "name": "FWNHWOMSTRMEN", + "source": "elco.FWNHWOMSTRMEN" + }, + { + "name": "FWNHWOMHUSALV", + "source": "elco.FWNHWOMHUSALV" + }, + { + "name": "FWNHWOMHUSLIV", + "source": "elco.FWNHWOMHUSLIV" + }, + { + "name": "FWNHWOMHUSSTR", + "source": "elco.FWNHWOMHUSSTR" + }, + { + "name": "FWELIGIBLE", + "source": "elco.FWELIGIBLE" + } + ], + "instances": [ + { + "GOBHHID": "0091", + "JiVitAHHID": "0524091", + "FWWOMFNAME": "mithila", + "FWWOMLNAME": ".", + "FWWOMNID": "1111111111111", + "FWWOMBID": "12345678912345678", + "FWHUSNAME": "hasan feroz", + "FWBIRTHDATE": "1989-01-01", + "FWGENDER": "female", + "FWWOMAGE": "26", + "display_age": "", + "FWNHWOMSTRMEN": "0", + "FWNHWOMHUSALV": "1", + "FWNHWOMHUSLIV": "1", + "FWNHWOMHUSSTR": "1", + "FWELIGIBLE": "0", + "id": "409b44c4-262a-40b8-ad7d-748c480c7c13" + } + ] + } + ] + } + }, + "serverVersion": 1430925176060 +} \ No newline at end of file diff --git a/opensrp-connector/bin/src/test/resources/form/new_household_registration/form_submission4.json b/opensrp-connector/bin/src/test/resources/form/new_household_registration/form_submission4.json new file mode 100644 index 0000000000..7665de2411 --- /dev/null +++ b/opensrp-connector/bin/src/test/resources/form/new_household_registration/form_submission4.json @@ -0,0 +1,208 @@ +{ + "_id": "251ca0ef09df9af88f0e9d5f18001e50", + "_rev": "1-3a413b7428ae33aafd08898dc2c974d4", + "type": "FormSubmission", + "anmId": "demotest", + "instanceId": "cad01d9c-9f7f-4e0b-a66a-2d1121bf8b8d", + "formName": "new_household_registration", + "entityId": "f92ee1b5-c3ce-42fb-bbc8-e01f474acc5a", + "clientVersion": 1430926871912, + "formDataDefinitionVersion": "1", + "formInstance": { + "form_data_definition_version": "1", + "form": { + "bind_type": "household", + "default_bind_path": "/model/instance/FWNewHH", + "fields": [ + { + "name": "id", + "value": "f92ee1b5-c3ce-42fb-bbc8-e01f474acc5a", + "source": "household.id" + }, + { + "name": "existing_location", + "value": "KUPTALA", + "source": "household.existing_location" + }, + { + "name": "today", + "value": "2015-05-06", + "source": "household.today" + }, + { + "name": "start", + "value": "2015-05-06T21:38:52.000+06:00", + "source": "household.start" + }, + { + "name": "end", + "value": "2015-05-06T21:38:52.000+06:00", + "source": "household.end" + }, + { + "name": "FWNHREGDATE", + "value": "2015-05-06", + "source": "household.FWNHREGDATE" + }, + { + "name": "FWGOBHHID", + "value": "4567", + "source": "household.FWGOBHHID" + }, + { + "name": "FWJIVHHID", + "value": "5678", + "source": "household.FWJIVHHID" + }, + { + "name": "FWNHNEARTO", + "source": "household.FWNHNEARTO" + }, + { + "name": "FWNHHHGPS", + "value": "23.7984 90.4021 0 37", + "source": "household.FWNHHHGPS" + }, + { + "name": "FWHOHFNAME", + "value": "jashim mia", + "source": "household.FWHOHFNAME" + }, + { + "name": "FWHOHLNAME", + "value": ".", + "source": "household.FWHOHLNAME" + }, + { + "name": "FWHOHBIRTHDATE", + "value": "1900-01-01", + "source": "household.FWHOHBIRTHDATE" + }, + { + "name": "FWHOHGENDER", + "value": "male", + "source": "household.FWHOHGENDER" + }, + { + "name": "FWNHHMBRNUM", + "value": "5", + "source": "household.FWNHHMBRNUM" + }, + { + "name": "FWNHHMWRA", + "value": "1", + "source": "household.FWNHHMWRA" + }, + { + "name": "join_names", + "value": "razia sultana", + "source": "household.join_names" + }, + { + "name": "MWRA", + "value": "1", + "source": "household.MWRA" + } + ], + "sub_forms": [ + { + "name": "elco_registration", + "bind_type": "elco", + "default_bind_path": "/model/instance/FWNewHH/woman", + "fields": [ + { + "name": "id", + "source": "elco.id" + }, + { + "name": "GOBHHID", + "source": "elco.GOBHHID" + }, + { + "name": "JiVitAHHID", + "source": "elco.JiVitAHHID" + }, + { + "name": "FWWOMFNAME", + "source": "elco.FWWOMFNAME" + }, + { + "name": "FWWOMLNAME", + "source": "elco.FWWOMLNAME" + }, + { + "name": "FWWOMNID", + "source": "elco.FWWOMNID" + }, + { + "name": "FWWOMBID", + "source": "elco.FWWOMBID" + }, + { + "name": "FWHUSNAME", + "source": "elco.FWHUSNAME" + }, + { + "name": "FWBIRTHDATE", + "source": "elco.FWBIRTHDATE" + }, + { + "name": "FWGENDER", + "source": "elco.FWGENDER" + }, + { + "name": "FWWOMAGE", + "source": "elco.FWWOMAGE" + }, + { + "name": "display_age", + "source": "elco.display_age" + }, + { + "name": "FWNHWOMSTRMEN", + "source": "elco.FWNHWOMSTRMEN" + }, + { + "name": "FWNHWOMHUSALV", + "source": "elco.FWNHWOMHUSALV" + }, + { + "name": "FWNHWOMHUSLIV", + "source": "elco.FWNHWOMHUSLIV" + }, + { + "name": "FWNHWOMHUSSTR", + "source": "elco.FWNHWOMHUSSTR" + }, + { + "name": "FWELIGIBLE", + "source": "elco.FWELIGIBLE" + } + ], + "instances": [ + { + "GOBHHID": "4567", + "JiVitAHHID": "5678", + "FWWOMFNAME": "razia sultana", + "FWWOMLNAME": ".", + "FWWOMNID": "0987654321123", + "FWWOMBID": "09876543211234567", + "FWHUSNAME": "jashim mia", + "FWBIRTHDATE": "1991-02-27", + "FWGENDER": "female", + "FWWOMAGE": "24", + "display_age": "", + "FWNHWOMSTRMEN": "0", + "FWNHWOMHUSALV": "1", + "FWNHWOMHUSLIV": "1", + "FWNHWOMHUSSTR": "0", + "FWELIGIBLE": "1", + "id": "0036b7ca-36ec-4242-9885-a0a03a666cda" + } + ] + } + ] + } + }, + "serverVersion": 1430926886181 +} \ No newline at end of file diff --git a/opensrp-connector/bin/src/test/resources/form/new_household_registration/form_submission5.json b/opensrp-connector/bin/src/test/resources/form/new_household_registration/form_submission5.json new file mode 100644 index 0000000000..8447c0ff4a --- /dev/null +++ b/opensrp-connector/bin/src/test/resources/form/new_household_registration/form_submission5.json @@ -0,0 +1,209 @@ +{ + "_id": "251ca0ef09df9af88f0e9d5f180115a3", + "_rev": "1-e73e1d93acdcdaeb1d41a738da5d9284", + "type": "FormSubmission", + "anmId": "demotest", + "instanceId": "88c0e824-10b4-44c2-9429-754b8d823776", + "formName": "new_household_registration", + "entityId": "a3f2abf4-2699-4761-819a-cea739224164", + "clientVersion": 1430997074596, + "formDataDefinitionVersion": "1", + "formInstance": { + "form_data_definition_version": "1", + "form": { + "bind_type": "household", + "default_bind_path": "/model/instance/FWNewHH", + "fields": [ + { + "name": "id", + "value": "a3f2abf4-2699-4761-819a-cea739224164", + "source": "household.id" + }, + { + "name": "existing_location", + "value": "KUPTALA", + "source": "household.existing_location" + }, + { + "name": "today", + "value": "2015-05-07", + "source": "household.today" + }, + { + "name": "start", + "value": "2015-05-07T17:07:21.000+06:00", + "source": "household.start" + }, + { + "name": "end", + "value": "2015-05-07T17:07:21.000+06:00", + "source": "household.end" + }, + { + "name": "FWNHREGDATE", + "value": "2015-05-07", + "source": "household.FWNHREGDATE" + }, + { + "name": "FWGOBHHID", + "value": "1234", + "source": "household.FWGOBHHID" + }, + { + "name": "FWJIVHHID", + "value": "1234", + "source": "household.FWJIVHHID" + }, + { + "name": "FWNHNEARTO", + "value": "nothing", + "source": "household.FWNHNEARTO" + }, + { + "name": "FWNHHHGPS", + "value": "34 34 0 0", + "source": "household.FWNHHHGPS" + }, + { + "name": "FWHOHFNAME", + "value": "test", + "source": "household.FWHOHFNAME" + }, + { + "name": "FWHOHLNAME", + "value": ".", + "source": "household.FWHOHLNAME" + }, + { + "name": "FWHOHBIRTHDATE", + "value": "1900-01-01", + "source": "household.FWHOHBIRTHDATE" + }, + { + "name": "FWHOHGENDER", + "value": "male", + "source": "household.FWHOHGENDER" + }, + { + "name": "FWNHHMBRNUM", + "value": "2", + "source": "household.FWNHHMBRNUM" + }, + { + "name": "FWNHHMWRA", + "value": "1", + "source": "household.FWNHHMWRA" + }, + { + "name": "join_names", + "value": "shumi sumaita", + "source": "household.join_names" + }, + { + "name": "MWRA", + "value": "2", + "source": "household.MWRA" + } + ], + "sub_forms": [ + { + "name": "elco_registration", + "bind_type": "elco", + "default_bind_path": "/model/instance/FWNewHH/woman", + "fields": [ + { + "name": "id", + "source": "elco.id" + }, + { + "name": "GOBHHID", + "source": "elco.GOBHHID" + }, + { + "name": "JiVitAHHID", + "source": "elco.JiVitAHHID" + }, + { + "name": "FWWOMFNAME", + "source": "elco.FWWOMFNAME" + }, + { + "name": "FWWOMLNAME", + "source": "elco.FWWOMLNAME" + }, + { + "name": "FWWOMNID", + "source": "elco.FWWOMNID" + }, + { + "name": "FWWOMBID", + "source": "elco.FWWOMBID" + }, + { + "name": "FWHUSNAME", + "source": "elco.FWHUSNAME" + }, + { + "name": "FWBIRTHDATE", + "source": "elco.FWBIRTHDATE" + }, + { + "name": "FWGENDER", + "source": "elco.FWGENDER" + }, + { + "name": "FWWOMAGE", + "source": "elco.FWWOMAGE" + }, + { + "name": "display_age", + "source": "elco.display_age" + }, + { + "name": "FWNHWOMSTRMEN", + "source": "elco.FWNHWOMSTRMEN" + }, + { + "name": "FWNHWOMHUSALV", + "source": "elco.FWNHWOMHUSALV" + }, + { + "name": "FWNHWOMHUSLIV", + "source": "elco.FWNHWOMHUSLIV" + }, + { + "name": "FWNHWOMHUSSTR", + "source": "elco.FWNHWOMHUSSTR" + }, + { + "name": "FWELIGIBLE", + "source": "elco.FWELIGIBLE" + } + ], + "instances": [ + { + "GOBHHID": "", + "JiVitAHHID": "", + "FWWOMFNAME": "", + "FWWOMLNAME": "", + "FWWOMNID": "", + "FWWOMBID": "", + "FWHUSNAME": "", + "FWBIRTHDATE": "", + "FWGENDER": "", + "FWWOMAGE": "", + "display_age": "", + "FWNHWOMSTRMEN": "", + "FWNHWOMHUSALV": "", + "FWNHWOMHUSLIV": "", + "FWNHWOMHUSSTR": "", + "FWELIGIBLE": "", + "id": "babcd9d2-b3e9-4f6d-8a06-2df8f5fbf01f" + } + ] + } + ] + } + }, + "serverVersion": 1430998001293 +} \ No newline at end of file diff --git a/opensrp-connector/bin/src/test/resources/form/new_household_registration/form_submission6.json b/opensrp-connector/bin/src/test/resources/form/new_household_registration/form_submission6.json new file mode 100644 index 0000000000..8f3ec6c5ad --- /dev/null +++ b/opensrp-connector/bin/src/test/resources/form/new_household_registration/form_submission6.json @@ -0,0 +1,216 @@ +{ + "_id": "251ca0ef09df9af88f0e9d5f180115a3", + "_rev": "1-e73e1d93acdcdaeb1d41a738da5d9284", + "type": "FormSubmission", + "anmId": "admin", + "instanceId": "88c0e824-10b4-44c2-9429-754b8d823776", + "formName": "new_household_registration", + "entityId": "a3f2abf4-2699-4761-819a-cea739224164", + "clientVersion": 1430997074596, + "formDataDefinitionVersion": "1", + "formInstance": { + "form_data_definition_version": "1", + "form": { + "bind_type": "household", + "default_bind_path": "/model/instance/FWNewHH", + "fields": [ + { + "name": "id", + "value": "a3f2abf4-2699-4761-819a-cea739224164", + "source": "household.id" + }, + { + "name": "existing_location", + "value": "KUPTALA", + "source": "household.existing_location" + }, + { + "name": "today", + "value": "2015-05-07", + "source": "household.today" + }, + { + "name": "start", + "value": "2015-05-07T17:07:21.000+06:00", + "source": "household.start" + }, + { + "name": "end", + "value": "2015-05-07T17:07:21.000+06:00", + "source": "household.end" + }, + { + "name": "FWNHREGDATE", + "value": "2015-05-07", + "source": "household.FWNHREGDATE" + }, + { + "name": "FWGOBHHID", + "value": "1234", + "source": "household.FWGOBHHID" + }, + { + "name": "FWJIVHHID", + "value": "1234", + "source": "household.FWJIVHHID" + }, + { + "name": "FWNHNEARTO", + "value": "nothing", + "source": "household.FWNHNEARTO" + }, + { + "name": "FWNHHHGPS", + "value": "34 34 0 0", + "source": "household.FWNHHHGPS" + }, + { + "name": "FWHOHFNAME", + "value": "test", + "source": "household.FWHOHFNAME" + }, + { + "name": "FWHOHLNAME", + "value": ".", + "source": "household.FWHOHLNAME" + }, + { + "name": "FWHOHBIRTHDATE", + "value": "1900-01-01", + "source": "household.FWHOHBIRTHDATE" + }, + { + "name": "FWHOHBIRTHDATEAPPROX", + "value": "1", + "source": "household.FWHOHBIRTHDATEAPPROX" + }, + { + "name": "FWHOHGENDER", + "value": "male", + "source": "household.FWHOHGENDER" + }, + { + "name": "FWNHHMBRNUM", + "source": "household.FWNHHMBRNUM" + }, + { + "name": "FWNHHMWRA", + "source": "household.FWNHHMWRA" + }, + { + "name": "join_names", + "value": "shumi sumaita", + "source": "household.join_names" + }, + { + "name": "MWRA", + "source": "household.MWRA" + } + ], + "sub_forms": [ + { + "name": "elco_registration", + "bind_type": "elco", + "default_bind_path": "/model/instance/FWNewHH/woman", + "fields": [ + { + "name": "id", + "source": "elco.id" + }, + { + "name": "GOBHHID", + "source": "elco.GOBHHID" + }, + { + "name": "JiVitAHHID", + "source": "elco.JiVitAHHID" + }, + { + "name": "FWWOMFNAME", + "source": "elco.FWWOMFNAME" + }, + { + "name": "FWWOMLNAME", + "source": "elco.FWWOMLNAME" + }, + { + "name": "FWWOMNID", + "source": "elco.FWWOMNID" + }, + { + "name": "FWWOMBID", + "source": "elco.FWWOMBID" + }, + { + "name": "FWHUSNAME", + "source": "elco.FWHUSNAME" + }, + { + "name": "FWBIRTHDATE", + "source": "elco.FWBIRTHDATE" + }, + { + "name": "FWBIRTHDATEAPPROX", + "source": "elco.FWBIRTHDATEAPPROX" + }, + { + "name": "FWGENDER", + "source": "elco.FWGENDER" + }, + { + "name": "FWWOMAGE", + "source": "elco.FWWOMAGE" + }, + { + "name": "display_age", + "source": "elco.display_age" + }, + { + "name": "FWNHWOMSTRMEN", + "source": "elco.FWNHWOMSTRMEN" + }, + { + "name": "FWNHWOMHUSALV", + "source": "elco.FWNHWOMHUSALV" + }, + { + "name": "FWNHWOMHUSLIV", + "source": "elco.FWNHWOMHUSLIV" + }, + { + "name": "FWNHWOMHUSSTR", + "source": "elco.FWNHWOMHUSSTR" + }, + { + "name": "FWELIGIBLE", + "source": "elco.FWELIGIBLE" + } + ], + "instances": [ + { + "GOBHHID": "48374", + "JiVitAHHID": "78748", + "FWWOMFNAME": "tEST First", + "FWWOMLNAME": " lastname", + "FWWOMNID": "", + "FWWOMBID": "", + "FWHUSNAME": "", + "FWBIRTHDATE": "2000-05-07", + "FWBIRTHDATEAPPROX":"1", + "FWGENDER": "Female", + "FWWOMAGE": "", + "display_age": "", + "FWNHWOMSTRMEN": "", + "FWNHWOMHUSALV": "", + "FWNHWOMHUSLIV": "", + "FWNHWOMHUSSTR": "", + "FWELIGIBLE": "", + "id": "babcd9d2-b3e9-4f6d-8a06-2df8f5fbf01f" + } + ] + } + ] + } + }, + "serverVersion": 1430998001293 +} \ No newline at end of file diff --git a/opensrp-connector/bin/src/test/resources/form/new_household_registration/form_submission7.json b/opensrp-connector/bin/src/test/resources/form/new_household_registration/form_submission7.json new file mode 100644 index 0000000000..443ced2385 --- /dev/null +++ b/opensrp-connector/bin/src/test/resources/form/new_household_registration/form_submission7.json @@ -0,0 +1,216 @@ +{ + "_id": "251ca0ef09df9af88f0e9d5f180115a3", + "_rev": "1-e73e1d93acdcdaeb1d41a738da5d9284", + "type": "FormSubmission", + "anmId": "admin", + "instanceId": "88c0e824-10b4-44c2-9429-754b8d823776", + "formName": "new_household_registration", + "entityId": "a3f2abf4-2699-4761-819a-cea739224164", + "clientVersion": 1430997074596, + "formDataDefinitionVersion": "1", + "formInstance": { + "form_data_definition_version": "1", + "form": { + "bind_type": "household", + "default_bind_path": "/model/instance/FWNewHH", + "fields": [ + { + "name": "id", + "value": "a3f2abf4-2699-4761-819a-cea739224164", + "source": "household.id" + }, + { + "name": "existing_location", + "value": "KUPTALA", + "source": "household.existing_location" + }, + { + "name": "today", + "value": "2015-05-07", + "source": "household.today" + }, + { + "name": "start", + "value": "2015-05-07T17:07:21.000+06:00", + "source": "household.start" + }, + { + "name": "end", + "value": "2015-05-07T17:07:21.000+06:00", + "source": "household.end" + }, + { + "name": "FWNHREGDATE", + "value": "2015-05-07", + "source": "household.FWNHREGDATE" + }, + { + "name": "FWGOBHHID", + "value": "1234", + "source": "household.FWGOBHHID" + }, + { + "name": "FWJIVHHID", + "value": "1234", + "source": "household.FWJIVHHID" + }, + { + "name": "FWNHNEARTO", + "value": "nothing", + "source": "household.FWNHNEARTO" + }, + { + "name": "FWNHHHGPS", + "value": "34 34 0 0", + "source": "household.FWNHHHGPS" + }, + { + "name": "FWHOHFNAME", + "value": "test", + "source": "household.FWHOHFNAME" + }, + { + "name": "FWHOHLNAME", + "value": ".", + "source": "household.FWHOHLNAME" + }, + { + "name": "FWHOHBIRTHDATE", + "value": "1900-01-01", + "source": "household.FWHOHBIRTHDATE" + }, + { + "name": "FWHOHBIRTHDATEAPPROX", + "value": "1", + "source": "household.FWHOHBIRTHDATEAPPROX" + }, + { + "name": "FWHOHGENDER", + "value": "male", + "source": "household.FWHOHGENDER" + }, + { + "name": "FWNHHMBRNUM", + "source": "household.FWNHHMBRNUM" + }, + { + "name": "FWNHHMWRA", + "source": "household.FWNHHMWRA" + }, + { + "name": "join_names", + "value": "shumi sumaita", + "source": "household.join_names" + }, + { + "name": "MWRA", + "source": "household.MWRA" + } + ], + "sub_forms": [ + { + "name": "elco_registration", + "bind_type": "elco", + "default_bind_path": "/model/instance/FWNewHH/woman", + "fields": [ + { + "name": "id", + "source": "elco.id" + }, + { + "name": "GOBHHID", + "source": "elco.GOBHHID" + }, + { + "name": "JiVitAHHID", + "source": "elco.JiVitAHHID" + }, + { + "name": "FWWOMFNAME", + "source": "elco.FWWOMFNAME" + }, + { + "name": "FWWOMLNAME", + "source": "elco.FWWOMLNAME" + }, + { + "name": "FWWOMNID", + "source": "elco.FWWOMNID" + }, + { + "name": "FWWOMBID", + "source": "elco.FWWOMBID" + }, + { + "name": "FWHUSNAME", + "source": "elco.FWHUSNAME" + }, + { + "name": "FWBIRTHDATE", + "source": "elco.FWBIRTHDATE" + }, + { + "name": "FWBIRTHDATEAPPROX", + "source": "elco.FWBIRTHDATEAPPROX" + }, + { + "name": "FWGENDER", + "source": "elco.FWGENDER" + }, + { + "name": "FWWOMAGE", + "source": "elco.FWWOMAGE" + }, + { + "name": "display_age", + "source": "elco.display_age" + }, + { + "name": "FWNHWOMSTRMEN", + "source": "elco.FWNHWOMSTRMEN" + }, + { + "name": "FWNHWOMHUSALV", + "source": "elco.FWNHWOMHUSALV" + }, + { + "name": "FWNHWOMHUSLIV", + "source": "elco.FWNHWOMHUSLIV" + }, + { + "name": "FWNHWOMHUSSTR", + "source": "elco.FWNHWOMHUSSTR" + }, + { + "name": "FWELIGIBLE", + "source": "elco.FWELIGIBLE" + } + ], + "instances": [ + { + "GOBHHID": "48374", + "JiVitAHHID": "78748", + "FWWOMFNAME": "tEST First", + "FWWOMLNAME": " lastname", + "FWWOMNID": "5478549854895", + "FWWOMBID": "43030293029323", + "FWHUSNAME": "husb", + "FWBIRTHDATE": "2000-05-07", + "FWBIRTHDATEAPPROX":"0", + "FWGENDER": "Female", + "FWWOMAGE": "21", + "display_age": "", + "FWNHWOMSTRMEN": "", + "FWNHWOMHUSALV": "", + "FWNHWOMHUSLIV": "", + "FWNHWOMHUSSTR": "", + "FWELIGIBLE": "", + "id": "babcd9d2-b3e9-4f6d-8a06-2df8f5fbf01f" + } + ] + } + ] + } + }, + "serverVersion": 1430998001293 +} \ No newline at end of file diff --git a/opensrp-connector/bin/src/test/resources/form/new_household_registration/form_submission8.json b/opensrp-connector/bin/src/test/resources/form/new_household_registration/form_submission8.json new file mode 100644 index 0000000000..0c1850d4ed --- /dev/null +++ b/opensrp-connector/bin/src/test/resources/form/new_household_registration/form_submission8.json @@ -0,0 +1,211 @@ +{ + "_id": "251ca0ef09df9af88f0e9d5f180115a3", + "_rev": "1-e73e1d93acdcdaeb1d41a738da5d9284", + "type": "FormSubmission", + "anmId": "admin", + "instanceId": "88c0e824-10b4-44c2-9429-754b8d823776", + "formName": "new_household_registration", + "entityId": "a3f2abf4-2699-4761-819a-cea739224164", + "clientVersion": 1430997074596, + "formDataDefinitionVersion": "1", + "formInstance": { + "form_data_definition_version": "1", + "form": { + "bind_type": "household", + "default_bind_path": "/model/instance/FWNewHH", + "fields": [ + { + "name": "id", + "value": "a3f2abf4-2699-4761-819a-cea739224164", + "source": "household.id" + }, + { + "name": "existing_location", + "value": "KUPTALA", + "source": "household.existing_location" + }, + { + "name": "today", + "value": "2015-05-07", + "source": "household.today" + }, + { + "name": "start", + "value": "2015-05-07T17:07:21.000+06:00", + "source": "household.start" + }, + { + "name": "end", + "value": "2015-05-07T17:07:21.000+06:00", + "source": "household.end" + }, + { + "name": "FWNHREGDATE", + "value": "2015-05-07", + "source": "household.FWNHREGDATE" + }, + { + "name": "FWGOBHHID", + "value": "1234", + "source": "household.FWGOBHHID" + }, + { + "name": "FWJIVHHID", + "value": "1234", + "source": "household.FWJIVHHID" + }, + { + "name": "FWNHNEARTO", + "value": "nothing", + "source": "household.FWNHNEARTO" + }, + { + "name": "FWNHHHGPS", + "value": "34 34 0 0", + "source": "household.FWNHHHGPS" + }, + { + "name": "FWHOHFNAME", + "value": "test", + "source": "household.FWHOHFNAME" + }, + { + "name": "FWHOHLNAME", + "value": ".", + "source": "household.FWHOHLNAME" + }, + { + "name": "FWHOHBIRTHDATE", + "value": "1900-01-01", + "source": "household.FWHOHBIRTHDATE" + }, + { + "name": "FWHOHGENDER", + "value": "male", + "source": "household.FWHOHGENDER" + }, + { + "name": "FWNHHMBRNUM", + "source": "household.FWNHHMBRNUM" + }, + { + "name": "FWNHHMWRA", + "source": "household.FWNHHMWRA" + }, + { + "name": "join_names", + "value": "shumi sumaita", + "source": "household.join_names" + }, + { + "name": "MWRA", + "source": "household.MWRA" + } + ], + "sub_forms": [ + { + "name": "elco_registration", + "bind_type": "elco", + "default_bind_path": "/model/instance/FWNewHH/woman", + "fields": [ + { + "name": "id", + "source": "elco.id" + }, + { + "name": "GOBHHID", + "source": "elco.GOBHHID" + }, + { + "name": "JiVitAHHID", + "source": "elco.JiVitAHHID" + }, + { + "name": "FWWOMFNAME", + "source": "elco.FWWOMFNAME" + }, + { + "name": "FWWOMLNAME", + "source": "elco.FWWOMLNAME" + }, + { + "name": "FWWOMNID", + "source": "elco.FWWOMNID" + }, + { + "name": "FWWOMBID", + "source": "elco.FWWOMBID" + }, + { + "name": "FWHUSNAME", + "source": "elco.FWHUSNAME" + }, + { + "name": "FWBIRTHDATE", + "source": "elco.FWBIRTHDATE" + }, + { + "name": "FWBIRTHDATEAPPROX", + "source": "elco.FWBIRTHDATEAPPROX" + }, + { + "name": "FWGENDER", + "source": "elco.FWGENDER" + }, + { + "name": "FWWOMAGE", + "source": "elco.FWWOMAGE" + }, + { + "name": "display_age", + "source": "elco.display_age" + }, + { + "name": "FWNHWOMSTRMEN", + "source": "elco.FWNHWOMSTRMEN" + }, + { + "name": "FWNHWOMHUSALV", + "source": "elco.FWNHWOMHUSALV" + }, + { + "name": "FWNHWOMHUSLIV", + "source": "elco.FWNHWOMHUSLIV" + }, + { + "name": "FWNHWOMHUSSTR", + "source": "elco.FWNHWOMHUSSTR" + }, + { + "name": "FWELIGIBLE", + "source": "elco.FWELIGIBLE" + } + ], + "instances": [ + { + "GOBHHID": "48374", + "JiVitAHHID": "78748", + "FWWOMFNAME": "tEST First", + "FWWOMLNAME": " lastname", + "FWWOMNID": "", + "FWWOMBID": "", + "FWHUSNAME": "", + "FWBIRTHDATE": "2000-05-07", + "FWBIRTHDATEAPPROX":"", + "FWGENDER": "Female", + "FWWOMAGE": "", + "display_age": "", + "FWNHWOMSTRMEN": "", + "FWNHWOMHUSALV": "", + "FWNHWOMHUSLIV": "", + "FWNHWOMHUSSTR": "", + "FWELIGIBLE": "", + "id": "babcd9d2-b3e9-4f6d-8a06-2df8f5fbf01f" + } + ] + } + ] + } + }, + "serverVersion": 1430998001293 +} \ No newline at end of file diff --git a/opensrp-connector/bin/src/test/resources/form/new_household_registration/model.xml b/opensrp-connector/bin/src/test/resources/form/new_household_registration/model.xml new file mode 100644 index 0000000000..a0cabcad26 --- /dev/null +++ b/opensrp-connector/bin/src/test/resources/form/new_household_registration/model.xml @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/opensrp-connector/bin/src/test/resources/form/new_household_registration_with_grouped_subform_data/form.json b/opensrp-connector/bin/src/test/resources/form/new_household_registration_with_grouped_subform_data/form.json new file mode 100644 index 0000000000..99dadab7ad --- /dev/null +++ b/opensrp-connector/bin/src/test/resources/form/new_household_registration_with_grouped_subform_data/form.json @@ -0,0 +1,1100 @@ +{ + "name": "FWNewHH", + "title": "নতুন খানা নিবন্ধন ফর্ম", + "sms_keyword": "FWNewHH", + "default_language": "Bengali", + "instance": { + "encounter_type": "New Household Registration" + }, + "version": "201510181114", + "id_string": "FWNewHH", + "type": "survey", + "children": [ + { + "type": "hidden", + "name": "version", + "label": { + "English": "TechVersion: v1.4 Aug 26, 2015\nFormVersion: v1.0" + } + }, + { + "type": "hidden", + "name": "changes", + "label": { + "English": "NN: \n1. Added a calculation field 'REGDATE' under 'woman' group\n2. Removed the conceptIDs which have Datatype N/A\n3. Define NID as person_attribute\nKZ: Dropped 9=DK from Vitsts choices\nCG: Added person_address mappings and NN added Variable Names for these address fields\nCG: Change NID back to person_identifier\nCG: Delete location_name field - need to communicate this change to Raihan - mauzapara name coming from existing_Mauzapara instead.\nCG: Added concept IDs for woman and husband unable to have children.\nKZ: 9/9\n1. Added photo capture of ID cards\n2. Added double entry of both IDs\n3. Added the which ID? screening question\n4. Changed the number of MWRAs in HH question to integer.\n5. Moved eligibility screening questions above ID questions, as in Census.\nCG: Updated address mappings so address5 is mapped to HHID\nCG: Added id_type to choices sheet.\n15/9\nKZ: Added Bangla to id_type choices, What type of ID and Re-Type National ID.\nKZ: Made FWWOMANYID field hidden until we come to a final decision on how to do this image capture.\nKZ: Removed leading zero from the '01' on the labels in HH Inhabitant number question.\nNN: Updated the constraint of 'How many member....' from \"regex(., '^(?!0{2})[0-9]{2}$')\" to \" .< 31 or .=99\"\nNN: Updated the 'relevant' logic of NID/BRID questions. added 'selected' logic\nKH: 16/9\n1. Added datatype / leading zeroes question as comment for FWNHHMBRNUM\n2. Changed constraint for FWNHHMBRNUM to exclude 0 as option\n3. Added \"Respondent Age\" concept UID to FWWOMAGE for data collection/analysis.\n4. Added \"Meets eligibility criteria for clinical trial or study\" concept UID to FWELIGIBLE to match FD form\nNN: 22/9\n1. Added entity:concept for FWELIGIBLE\n---\nKZ: 27/9\n1. Changed HHNUMB to text, still need to update the constraint to match with text.\nNN: 28/9\nUpdated the constraint of 'How many member....' from \".< 3 1 or .=99\" to \"regex(., '^(?!0{2})[0-9]{2}$')\"\nKZ (28/9):\n1. Change NUMMWRA to select one with yesno responses. Removed hints and constraints\n2. Updated hints and constraints for HH INhabitants to include leading zeros\nNN (8/10):\nAdd DoB, Gender questions before 'eligible' group\nMade FWNHHMBRNUM and FWNHHMWRA required field\nUpdated the constraing of 'how many member....' --> (regex(., '^(?!0{2})[0-9]{2}$') and .<31) or .=99\nUpdated the logic of Age (should not accept less than 12 years\nUpdated the hint/constraint message with english numeric input e.g 13 instead of ১৩\nCG (15/10):\nAdd ELCO count calculation; strike-through MWRA calculation\nNN (18/10): \nRemoved the Strikethrough fields.\nAdded two hidden variables for developers use- user_type and external_user_ID" + } + }, + { + "instance": { + "openmrs_entity_id": "location_id", + "openmrs_entity": "encounter" + }, + "type": "hidden", + "name": "existing_location" + }, + { + "type": "hidden", + "name": "existing_Country" + }, + { + "type": "hidden", + "name": "existing_Division" + }, + { + "type": "hidden", + "name": "existing_District" + }, + { + "type": "hidden", + "name": "existing_Upazilla" + }, + { + "type": "hidden", + "name": "existing_Union" + }, + { + "type": "hidden", + "name": "existing_Ward" + }, + { + "type": "hidden", + "name": "existing_Subunit" + }, + { + "type": "hidden", + "name": "existing_Mauzapara" + }, + { + "instance": { + "openmrs_entity_id": "encounter_date", + "openmrs_entity": "encounter" + }, + "type": "today", + "name": "today" + }, + { + "instance": { + "openmrs_entity_id": "encounter_start", + "openmrs_entity": "encounter" + }, + "type": "start", + "name": "start" + }, + { + "instance": { + "openmrs_entity_id": "encounter_end", + "openmrs_entity": "encounter" + }, + "type": "end", + "name": "end" + }, + { + "name": "FWNHREGDATE", + "hint": { + "Bengali": "আজকের তারিখ দিন", + "English": "Please enter today's date." + }, + "bind": { + "jr:constraintMsg": { + "Bengali": "আজকের তারিখের পরের কোন তারিখ\nহতে পারবে না", + "English": "Date cannot be greater than current date." + }, + "required": "yes", + "constraint": ".<=${today}" + }, + "label": { + "Bengali": "সাক্ষাৎকারের তারিখ", + "English": "Date of Interview" + }, + "instance": { + "openmrs_entity_id": "160753AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept" + }, + "type": "date" + }, + { + "control": { + "appearance": "numbers" + }, + "name": "FWGOBHHID", + "hint": { + "Bengali": "কালো কালিতে লেখা সরকারী খানা নম্বর (HHID) যেভাবে ঘরের দেয়াল বা দরজায় দেওয়া আছে সেভাবেই ইনপুট দিন।\nসরকারী খানা নম্বর (HHID) পাওয়া না গেলে ৯৯৯৯ ইনপুট দিন", + "English": "Please input the Black – painted Government household ID (HHID) as displayed on the door/wall of the HH. If there is no Government HHID, enter 9999." + }, + "bind": { + "jr:constraintMsg": { + "Bengali": "অনুগ্রহ করে ০০০১ থেকে ৯৯৯৯ এর মধ্যে ৪ ডিজিটের GoB HHID টাইপ করুন", + "English": "Please enter 4 digits of GoB HHID from 0001 to 9999" + }, + "required": "yes", + "constraint": "regex(., '^(?!0{4})[0-9]{4}$')" + }, + "label": { + "Bengali": "GoB HHID", + "English": "GoB HHID" + }, + "instance": { + "openmrs_entity_id": "GoB_HHID", + "openmrs_entity": "person_attribute" + }, + "type": "text" + }, + { + "control": { + "appearance": "numbers" + }, + "name": "FWJIVHHID", + "hint": { + "Bengali": "লাল কালিতে দেয়া জীবিতা খানা নম্বর (HHID) যেভাবে দেয়ালে বা দরজায় দেওয়া আছে সেভাবেই ইনপুট দিন ।\nজীবিতা খানা নম্বর (HHID) পাওয়া না গেলে ৯৯৯৯ ইনপুট দিন", + "English": "Please input the RED – painted JiVitA / Study household ID (HHID) as displayed on the door/wall of the HH. Enter 9999 if JiVitA HHID is not found." + }, + "bind": { + "jr:constraintMsg": { + "Bengali": "অনুগ্রহ করে ০০০১ থেকে ৯৯৯৯ এর মধ্যে ৪ ডিজিটের JiVitA HHID টাইপ করুন", + "English": "Please enter 4 digits of JiVitA HHID from 0001 to 9999" + }, + "required": "yes", + "constraint": "regex(., '^(?!0{4})[0-9]{4}$')" + }, + "label": { + "Bengali": "JiVitA HHID", + "English": "JiVitA HHID" + }, + "instance": { + "openmrs_entity_id": "JiVitA_HHID", + "openmrs_entity": "person_attribute" + }, + "type": "text" + }, + { + "bind": { + "calculate": "${existing_Country}" + }, + "type": "calculate", + "name": "FWCOUNTRY", + "instance": { + "openmrs_entity": "person_address", + "openmrs_entity_id": "country", + "openmrs_entity_parent": "usual_residence" + } + }, + { + "bind": { + "calculate": "${existing_Division}" + }, + "type": "calculate", + "name": "FWDIVISION", + "instance": { + "openmrs_entity": "person_address", + "openmrs_entity_id": "stateProvince", + "openmrs_entity_parent": "usual_residence" + } + }, + { + "bind": { + "calculate": "${existing_District}" + }, + "type": "calculate", + "name": "FWDISTRICT", + "instance": { + "openmrs_entity": "person_address", + "openmrs_entity_id": "countyDistrict", + "openmrs_entity_parent": "usual_residence" + } + }, + { + "bind": { + "calculate": "${existing_Upazilla}" + }, + "type": "calculate", + "name": "FWUPAZILLA", + "instance": { + "openmrs_entity": "person_address", + "openmrs_entity_id": "cityVillage", + "openmrs_entity_parent": "usual_residence" + } + }, + { + "bind": { + "calculate": "${existing_Union}" + }, + "type": "calculate", + "name": "FWUNION", + "instance": { + "openmrs_entity": "person_address", + "openmrs_entity_id": "address1", + "openmrs_entity_parent": "usual_residence" + } + }, + { + "bind": { + "calculate": "${existing_Ward}" + }, + "type": "calculate", + "name": "FWWARD", + "instance": { + "openmrs_entity": "person_address", + "openmrs_entity_id": "address2", + "openmrs_entity_parent": "usual_residence" + } + }, + { + "bind": { + "calculate": "${existing_Subunit}" + }, + "type": "calculate", + "name": "FWSUBUNIT", + "instance": { + "openmrs_entity": "person_address", + "openmrs_entity_id": "address3", + "openmrs_entity_parent": "usual_residence" + } + }, + { + "bind": { + "calculate": "${existing_Mauzapara}" + }, + "type": "calculate", + "name": "FWMAUZA_PARA", + "instance": { + "openmrs_entity": "person_address", + "openmrs_entity_id": "address4", + "openmrs_entity_parent": "usual_residence" + } + }, + { + "bind": { + "calculate": "${FWGOBHHID}" + }, + "type": "calculate", + "name": "FWGOB_HHID", + "instance": { + "openmrs_entity": "person_address", + "openmrs_entity_id": "address5", + "openmrs_entity_parent": "usual_residence" + } + }, + { + "bind": { + "required": "yes" + }, + "type": "geopoint", + "instance": { + "openmrs_entity": "person_address", + "openmrs_entity_id": "geopoint", + "openmrs_entity_parent": "usual_residence" + }, + "name": "FWNHHHGPS", + "label": { + "Bengali": "জি পি এস", + "English": "Collect GPS Location of HH" + } + }, + { + "bind": { + "required": "yes" + }, + "type": "text", + "instance": { + "openmrs_entity_id": "first_name", + "openmrs_entity": "person" + }, + "name": "FWHOHFNAME", + "label": { + "Bengali": "খানা প্রধানের নাম-", + "English": "Head of Household Name" + } + }, + { + "bind": { + "calculate": "\".\"" + }, + "type": "calculate", + "name": "FWHOHLNAME", + "instance": { + "openmrs_entity_id": "last_name", + "openmrs_entity": "person" + } + }, + { + "bind": { + "calculate": "\"1900-01-01\"" + }, + "type": "calculate", + "name": "FWHOHBIRTHDATE", + "instance": { + "openmrs_entity_id": "birthdate", + "openmrs_entity": "person" + } + }, + { + "name": "FWHOHGENDER", + "bind": { + "required": "yes" + }, + "label": { + "Bengali": "খানা প্রধানের লিঙ্গ", + "English": "Head of Household Gender" + }, + "instance": { + "openmrs_entity_id": "gender", + "openmrs_entity": "person" + }, + "type": "select one", + "children": [ + { + "name": "1", + "label": { + "Bengali": "ছেলে", + "English": "Male" + } + }, + { + "name": "2", + "label": { + "Bengali": "মেয়ে", + "English": "Female" + } + } + ] + }, + { + "control": { + "appearance": "numbers" + }, + "name": "FWNHHMBRNUM", + "hint": { + "Bengali": "খানার সদস্য সংখ্যা লিখতে 01-29 লিখুন । 30 বা তার বেশী হলে 30 লিখুন। খানার সদস্যের সংখ্যা জানা না থাকলে 99 লিখুন ।", + "English": "Enter 01-29 for the number of household members. Enter 30 if 30 or more. Enter 99 if the total number is unknown." + }, + "bind": { + "jr:constraintMsg": { + "Bengali": "খানার সদস্য সংখ্যাকে দুই ডিজিট হিসেবে এন্ট্রি করতে হবে। খানার সদস্য সংখ্যা লিখতে 01- 29 লিখুন । খানার সদস্যের সংখ্যা 30 বা তার বেশি হলে 30 লিখুন। খানার সদস্যের সংখ্যা জানা না থাকলে 99 লিখুন ।", + "English": "Number should be entered as two digits. Enter 01-29 for the number of household members. Enter 30 if there are 30 or more household members. Enter 99 if the total number is unknown." + }, + "required": "yes", + "constraint": "(regex(., '^(?!0{2})[0-9]{2}$') and .<31) or .=99" + }, + "label": { + "Bengali": "এই খানায় বর্তমানে কতজন মানুষ বসবাস করছে?", + "English": "How many people are currently living in this household?" + }, + "instance": { + "openmrs_entity_id": "5611AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept" + }, + "type": "text" + }, + { + "name": "FWNHHMWRA", + "bind": { + "required": "yes" + }, + "label": { + "Bengali": "এই খানায় কি ১৫ থেকে ৪৯ বছর বয়সের কোন বিবাহিত মহিলা আছেন?", + "English": "Are there any married women between the ages of 15 - 49 live in this household?" + }, + "instance": { + "openmrs_entity_id": "1901AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept" + }, + "type": "select one", + "children": [ + { + "instance": { + "openmrs_code": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "0", + "label": { + "Bengali": "না", + "English": "No" + } + }, + { + "instance": { + "openmrs_code": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "1", + "label": { + "Bengali": "হ্যাঁ", + "English": "Yes" + } + }, + { + "instance": { + "openmrs_code": "1067AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "9", + "label": { + "Bengali": "জানি না", + "English": "Don't know" + } + } + ] + }, + { + "name": "woman", + "hint": { + "Bengali": "আমরা এখন মহিলাকে নিবন্ধন করব। তাকে জাতীয় পরিচয়পত্র এবং জন্ম নিবন্ধন সনদপত্র নিয়ে আসতে অনুরোধ করুন।", + "English": "We will now register the woman. Please ask her to bring her National ID Card and Birth Certificate." + }, + "bind": { + "relevant": "${FWNHHMWRA}='1'" + }, + "label": { + "Bengali": "মহিলার তথ্যঃ", + "English": "New Woman Registration" + }, + "instance": { + "openmrs_entity_id": "New Woman Registration", + "openmrs_entity": "person" + }, + "type": "repeat", + "children": [ + { + "bind": { + "calculate": "${FWGOBHHID}" + }, + "type": "calculate", + "name": "GOBHHID", + "instance": { + "openmrs_entity_id": "GoB_HHID", + "openmrs_entity": "person_attribute" + } + }, + { + "bind": { + "calculate": "${FWJIVHHID}" + }, + "type": "calculate", + "name": "JiVitAHHID", + "instance": { + "openmrs_entity_id": "JiVitA_HHID", + "openmrs_entity": "person_attribute" + } + }, + { + "bind": { + "calculate": "${FWNHREGDATE}" + }, + "type": "calculate", + "name": "REGDATE" + }, + { + "name": "FWWOMFNAME", + "hint": { + "Bengali": "মহিলার নাম টাইপ করুন", + "English": "Please type woman's name" + }, + "bind": { + "required": "yes" + }, + "label": { + "Bengali": "মহিলার নাম-", + "English": "Woman Name" + }, + "instance": { + "openmrs_entity_id": "first_name", + "openmrs_entity": "person" + }, + "type": "text" + }, + { + "bind": { + "calculate": "\".\"" + }, + "type": "calculate", + "name": "FWWOMLNAME", + "instance": { + "openmrs_entity_id": "last_name", + "openmrs_entity": "person" + } + }, + { + "name": "FWBIRTHDATE", + "hint": { + "Bengali": "“যদি জন্মনিবন্ধন সনদপত্র থাকে তাহলে জন্মতারিখ সেখান থেকেই সংগ্রহ করুন। যদি জন্মতারিখ বলতে না পারে তাহলে মাসের ১৫ তারিখকে জন্মতারিখ হিসেবে বেছে নিন। যদি জন্মমাস বলতে না পারে তাহলে ৬ বা জুনকে মাস হিসেবে বেছে নিন এবং মহিলা যে বছরটিতে তার জন্ম বলবে সেটি এন্ট্রি করুন।”", + "English": "If birth certificate is available take date of birth from birth certificate. If date of birth is unknown choose 15 as the date of birth, if month is unknown choose 06 (June) as month of birth and enter the year of birth as mentioned by the woman." + }, + "default": "2000-01-02 00:00:00", + "bind": { + "jr:constraintMsg": { + "Bengali": "মহিলার বয়স অবশ্যই ১২ বছরের বেশী হবে", + "English": "Woman must be older than 12 years of age" + }, + "required": "yes", + "constraint": "((${FWBIRTHDATE})+4380) <= today()" + }, + "label": { + "Bengali": "মহিলার জন্ম তারিখ", + "English": "Woman's Date of Birth" + }, + "instance": { + "openmrs_entity_id": "birthdate", + "openmrs_entity": "person" + }, + "type": "date" + }, + { + "bind": { + "calculate": "\"female\"" + }, + "type": "calculate", + "name": "FWGENDER", + "instance": { + "openmrs_entity_id": "gender", + "openmrs_entity": "person" + } + }, + { + "bind": { + "calculate": "round(((${today} - ${FWBIRTHDATE}) div 365.25),0)" + }, + "type": "calculate", + "name": "FWWOMAGE", + "instance": { + "openmrs_entity_id": "1532AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept" + } + }, + { + "type": "note", + "name": "display_age", + "label": { + "Bengali": "মহিলার বয়স ${FWWOMAGE}", + "English": "The woman's age is ${FWWOMAGE}." + } + }, + { + "control": { + "appearance": "yes" + }, + "name": "FWNHWOMSTRMEN", + "label": { + "Bengali": "আপনার কি বর্তমানে মাসিক একেবারে উঠে গেছে বা আপনি কি বর্তমানে স্থায়ী জন্মনিয়ন্ত্রন পদ্ধতি গ্রহণ করেছেন?", + "English": "Are you currently menopausal or sterilized?" + }, + "instance": { + "openmrs_entity_id": "163006AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept" + }, + "type": "select one", + "children": [ + { + "instance": { + "openmrs_code": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "0", + "label": { + "Bengali": "না", + "English": "No" + } + }, + { + "instance": { + "openmrs_code": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "1", + "label": { + "Bengali": "হ্যাঁ", + "English": "Yes" + } + }, + { + "instance": { + "openmrs_code": "1067AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "9", + "label": { + "Bengali": "জানি না", + "English": "Don't know" + } + } + ] + }, + { + "control": { + "appearance": "yes" + }, + "name": "FWNHWOMHUSLIV", + "bind": { + "relevant": "selected(${FWNHWOMSTRMEN}, '0') or selected(${FWNHWOMSTRMEN}, '9')" + }, + "label": { + "Bengali": "আপনি কি বর্তমানে আপনার স্বামীর সাথে বসবাস করছেন?", + "English": "Are you currently living with your husband?" + }, + "instance": { + "openmrs_entity_id": "162994AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept" + }, + "type": "select one", + "children": [ + { + "instance": { + "openmrs_code": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "0", + "label": { + "Bengali": "না", + "English": "No" + } + }, + { + "instance": { + "openmrs_code": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "1", + "label": { + "Bengali": "হ্যাঁ", + "English": "Yes" + } + }, + { + "instance": { + "openmrs_code": "1067AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "9", + "label": { + "Bengali": "জানি না", + "English": "Don't know" + } + } + ] + }, + { + "control": { + "appearance": "yes" + }, + "name": "FWNHWOMHUSALV", + "bind": { + "relevant": "selected(${FWNHWOMHUSLIV}, '0') or selected(${FWNHWOMHUSLIV}, '9')" + }, + "label": { + "Bengali": "আপনার স্বামী কি জীবিত আছেন?", + "English": "Is the husband alive?" + }, + "instance": { + "openmrs_entity_id": "5561AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept" + }, + "type": "select one", + "children": [ + { + "instance": { + "openmrs_code": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "0", + "label": { + "Bengali": "না", + "English": "No" + } + }, + { + "instance": { + "openmrs_code": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "1", + "label": { + "Bengali": "হ্যাঁ", + "English": "Yes" + } + } + ] + }, + { + "control": { + "appearance": "yes" + }, + "name": "FWNHWOMHUSSTR", + "bind": { + "relevant": "selected(${FWNHWOMHUSLIV}, '1') or (selected(${FWNHWOMHUSLIV}, '9') and selected(${FWNHWOMHUSALV}, '1'))" + }, + "label": { + "Bengali": "আপনার স্বামী কি স্থায়ী জন্মনিয়ন্ত্রন পদ্ধতি গ্রহণ করেছেন?", + "English": "Is the husband sterilized?" + }, + "instance": { + "openmrs_entity_id": "162959AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept" + }, + "type": "select one", + "children": [ + { + "instance": { + "openmrs_code": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "0", + "label": { + "Bengali": "না", + "English": "No" + } + }, + { + "instance": { + "openmrs_code": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "1", + "label": { + "Bengali": "হ্যাঁ", + "English": "Yes" + } + }, + { + "instance": { + "openmrs_code": "1067AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "9", + "label": { + "Bengali": "জানি না", + "English": "Don't know" + } + } + ] + }, + { + "bind": { + "calculate": "if(${FWNHWOMSTRMEN}='0' and ${FWNHWOMHUSLIV}='1' and ${FWNHWOMHUSSTR}='0','1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA','1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA')" + }, + "type": "calculate", + "name": "FWELIGIBLE", + "instance": { + "openmrs_entity_id": "162699AAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept" + } + }, + { + "bind": { + "relevant": "${FWELIGIBLE}='1'" + }, + "type": "group", + "children": [ + { + "name": "FWWOMANYID", + "hint": { + "Bengali": "প্রযোজ্য সবগুলো উত্তর নির্বাচন করুন", + "English": "Select all that apply." + }, + "label": { + "Bengali": "নিচের কোন পরিচয় পত্রটি মহিলার কাছে আছে?", + "English": "Which of the following IDs does the woman have?" + }, + "instance": { + "openmrs_entity_id": "163087AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept" + }, + "type": "select all that apply", + "children": [ + { + "instance": { + "openmrs_code": "163084AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "1", + "label": { + "Bengali": "জাতীয় পরিচয়পত্র নম্বর", + "English": "National ID Number" + } + }, + { + "instance": { + "openmrs_code": "163083AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "2", + "label": { + "Bengali": "জন্ম নিবন্ধন সনদপত্র নম্বর", + "English": "Birth Registration ID Number" + } + } + ] + }, + { + "control": { + "appearance": "numbers" + }, + "name": "FWWOMNID", + "hint": { + "Bengali": "জাতীয় পরিচয়পত্রে দেওয়া সরকারী নম্বর যেভাবে দেওয়া আছে সেভাবেই প্রবেশ করান", + "English": "Please input the Government ID as displayed on the national ID card" + }, + "bind": { + "relevant": "selected(${FWWOMANYID},'1')", + "jr:constraintMsg": { + "Bengali": "জাতীয় পরিচয়পত্র নং ১৩ অথবা ১৭ ডিজিটের হবে", + "English": "National ID should be 13 or 17 digits" + }, + "required": "yes", + "constraint": "regex(., '^(?!0{13})[0-9]{13}$') or regex(., '^(?!0{17})[0-9]{17}$')" + }, + "label": { + "Bengali": "মহিলার জাতীয় পরিচয়পত্র নং-", + "English": "Woman's National ID Number" + }, + "type": "text" + }, + { + "control": { + "appearance": "numbers" + }, + "name": "FWWOMRETYPENID", + "hint": { + "Bengali": "জাতীয় পরিচয়পত্রের নম্বরটি পুনরায় প্রবেশ করান", + "English": "Please re-input the National ID number" + }, + "bind": { + "relevant": "selected(${FWWOMANYID},'1')", + "jr:constraintMsg": { + "Bengali": "এই নম্বরটি ও পূর্বের স্ক্রিনে দেওয়া জন্ম নিবন্ধন নম্বরটি একই হতে হবে", + "English": "This number and the one in the previous screen should be same" + }, + "required": "yes", + "constraint": ".=${FWWOMNID}" + }, + "label": { + "Bengali": "মহিলার জাতীয় পরিচয়পত্র নম্বরটি পুনরায় লিখুন", + "English": "Re-Type Woman's National ID Number" + }, + "instance": { + "openmrs_entity_id": "NID", + "openmrs_entity": "person_identifier" + }, + "type": "text" + }, + { + "control": { + "appearance": "numbers" + }, + "name": "FWWOMBID", + "hint": { + "Bengali": "জন্ম নিবন্ধন সনদপত্রের সরকারী নম্বর যেভাবে দেওয়া আছে সেভাবেই ইনপুট দিন।", + "English": "Please input the Government ID as displayed on the birth certificate" + }, + "bind": { + "relevant": "selected(${FWWOMANYID},'2')", + "jr:constraintMsg": { + "Bengali": "জন্ম নিবন্ধন সনদ নং ১৭ ডিজিটের হবে", + "English": "Birth Registration ID should be 17 digits" + }, + "required": "yes", + "constraint": "regex(., '^(?!0{17})[0-9]{17}$')" + }, + "label": { + "Bengali": "মহিলার জন্ম নিবন্ধন সনদ নং-", + "English": "Woman's Birth Registration ID" + }, + "type": "text" + }, + { + "control": { + "appearance": "numbers" + }, + "name": "FWWOMRETYPEBID", + "hint": { + "Bengali": "জন্ম নিবন্ধন নম্বরটি পূনরায় প্রবেশ করান", + "English": "Please re-input the Birth Registration Number" + }, + "bind": { + "relevant": "selected(${FWWOMANYID},'2')", + "jr:constraintMsg": { + "Bengali": "এই নম্বরটি ও পূর্বের স্ক্রিনে দেওয়া জন্ম নিবন্ধন নম্বরটি একই হতে হবে", + "English": "This number and the one in the previous screen should be same" + }, + "required": "yes", + "constraint": ".=${FWWOMBID}" + }, + "label": { + "Bengali": "মহিলার জন্ম নিবন্ধন সনদ নং-", + "English": "Woman's Birth Registration ID" + }, + "instance": { + "openmrs_entity_id": "Birth Registration ID", + "openmrs_entity": "person_identifier" + }, + "type": "text" + }, + { + "name": "FWHUSNAME", + "hint": { + "Bengali": "স্বামীর নাম টাইপ করুন", + "English": "Please type husband's name" + }, + "bind": { + "required": "yes" + }, + "label": { + "Bengali": "স্বামীর নাম-", + "English": "Husband's Name" + }, + "instance": { + "openmrs_entity_id": "161135AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept" + }, + "type": "text" + }, + { + "bind": { + "calculate": "${existing_Country}" + }, + "type": "calculate", + "name": "FWWOMCOUNTRY", + "instance": { + "openmrs_entity": "person_address", + "openmrs_entity_id": "country", + "openmrs_entity_parent": "usual_residence" + } + }, + { + "bind": { + "calculate": "${existing_Division}" + }, + "type": "calculate", + "name": "FWWOMDIVISION", + "instance": { + "openmrs_entity": "person_address", + "openmrs_entity_id": "stateProvince", + "openmrs_entity_parent": "usual_residence" + } + }, + { + "bind": { + "calculate": "${existing_District}" + }, + "type": "calculate", + "name": "FWWOMDISTRICT", + "instance": { + "openmrs_entity": "person_address", + "openmrs_entity_id": "countyDistrict", + "openmrs_entity_parent": "usual_residence" + } + }, + { + "bind": { + "calculate": "${existing_Upazilla}" + }, + "type": "calculate", + "name": "FWWOMUPAZILLA", + "instance": { + "openmrs_entity": "person_address", + "openmrs_entity_id": "cityVillage", + "openmrs_entity_parent": "usual_residence" + } + }, + { + "bind": { + "calculate": "${existing_Union}" + }, + "type": "calculate", + "name": "FWWOMUNION", + "instance": { + "openmrs_entity": "person_address", + "openmrs_entity_id": "address1", + "openmrs_entity_parent": "usual_residence" + } + }, + { + "bind": { + "calculate": "${existing_Ward}" + }, + "type": "calculate", + "name": "FWWOMWARD", + "instance": { + "openmrs_entity": "person_address", + "openmrs_entity_id": "address2", + "openmrs_entity_parent": "usual_residence" + } + }, + { + "bind": { + "calculate": "${existing_Subunit}" + }, + "type": "calculate", + "name": "FWWOMSUBUNIT", + "instance": { + "openmrs_entity": "person_address", + "openmrs_entity_id": "address3", + "openmrs_entity_parent": "usual_residence" + } + }, + { + "bind": { + "calculate": "${existing_Mauzapara}" + }, + "type": "calculate", + "name": "FWWOMMAUZA_PARA", + "instance": { + "openmrs_entity": "person_address", + "openmrs_entity_id": "address4", + "openmrs_entity_parent": "usual_residence" + } + }, + { + "bind": { + "calculate": "${FWGOBHHID}" + }, + "type": "calculate", + "name": "FWWOMGOBHHID", + "instance": { + "openmrs_entity": "person_address", + "openmrs_entity_id": "address5", + "openmrs_entity_parent": "usual_residence" + } + }, + { + "bind": { + "calculate": "${FWNHHHGPS}" + }, + "type": "calculate", + "name": "FWWOMGPS", + "instance": { + "openmrs_entity": "person_address", + "openmrs_entity_id": "geopoint", + "openmrs_entity_parent": "usual_residence" + } + } + ], + "name": "eligible" + }, + { + "type": "note", + "name": "add_women", + "label": { + "Bengali": "নির্দেশনাঃ এই খানায় যদি আরও কোন মহিলা থাকে যাকে রেজিস্ট্রেশন করা হয়নি, তাহলে '+' এ ক্লিক করুন এবং একই প্রক্রিয়ায় পরবর্তী মহিলাকে রেজিস্ট্রেশন করুন", + "English": "If there are any additional unregistered women in this household, select the '+' to add them now." + } + } + ] + }, + { + "bind": { + "calculate": "sum(${FWELIGIBLE})" + }, + "type": "calculate", + "name": "ELCO" + }, + { + "default": "FWA", + "type": "hidden", + "name": "user_type" + }, + { + "type": "hidden", + "name": "external_user_ID" + }, + { + "control": { + "bodyless": true + }, + "type": "group", + "children": [ + { + "bind": { + "readonly": "true()", + "calculate": "concat('uuid:', uuid())" + }, + "type": "calculate", + "name": "instanceID" + } + ], + "name": "meta" + } + ] +} \ No newline at end of file diff --git a/opensrp-connector/bin/src/test/resources/form/new_household_registration_with_grouped_subform_data/form.xml b/opensrp-connector/bin/src/test/resources/form/new_household_registration_with_grouped_subform_data/form.xml new file mode 100644 index 0000000000..bda24f905a --- /dev/null +++ b/opensrp-connector/bin/src/test/resources/form/new_household_registration_with_grouped_subform_data/form.xml @@ -0,0 +1,31 @@ + +
+

নতুন খানা নিবন্ধন ফর্ম

+ + + + + + + +
খানা প্রধানের লিঙ্গHead of Household Gender* +
+ +
এই খানায় কি ১৫ থেকে ৪৯ বছর বয়সের কোন বিবাহিত মহিলা আছেন?Are there any married women between the ages of 15 - 49 live in this household?* +
+

মহিলার তথ্যঃNew Woman Registration

আপনার কি বর্তমানে মাসিক একেবারে উঠে গেছে বা আপনি কি বর্তমানে স্থায়ী জন্মনিয়ন্ত্রন পদ্ধতি গ্রহণ করেছেন?Are you currently menopausal or sterilized? +
আপনি কি বর্তমানে আপনার স্বামীর সাথে বসবাস করছেন?Are you currently living with your husband? +
আপনার স্বামী কি জীবিত আছেন?Is the husband alive? +
আপনার স্বামী কি স্থায়ী জন্মনিয়ন্ত্রন পদ্ধতি গ্রহণ করেছেন?Is the husband sterilized? +
নিচের কোন পরিচয় পত্রটি মহিলার কাছে আছে?Which of the following IDs does the woman have?প্রযোজ্য সবগুলো উত্তর নির্বাচন করুনSelect all that apply. +
+
+
+
+ +XML to HTML transformation for form took 0.05 secondsThis validation is yet not functional.
diff --git a/opensrp-connector/bin/src/test/resources/form/new_household_registration_with_grouped_subform_data/form_definition.json b/opensrp-connector/bin/src/test/resources/form/new_household_registration_with_grouped_subform_data/form_definition.json new file mode 100644 index 0000000000..916bdf7aa8 --- /dev/null +++ b/opensrp-connector/bin/src/test/resources/form/new_household_registration_with_grouped_subform_data/form_definition.json @@ -0,0 +1,290 @@ +{ + "form_data_definition_version": "13", + "form": { + "default_bind_path": "/model/instance/FWNewHH", + "bind_type": "household", + "fields": [ + { + "name": "id", + "shouldLoadValue": true + }, + { + "name": "location_name", + "bind": "/model/instance/FWNewHH/existing_Mauzapara" + }, + { + "name": "existing_location", + "bind": "/model/instance/FWNewHH/existing_location" + }, + { + "name": "existing_Country", + "bind": "/model/instance/FWNewHH/existing_Country" + }, + { + "name": "existing_Division", + "bind": "/model/instance/FWNewHH/existing_Division" + }, + { + "name": "existing_District", + "bind": "/model/instance/FWNewHH/existing_District" + }, + { + "name": "existing_Upazilla", + "bind": "/model/instance/FWNewHH/existing_Upazilla" + }, + { + "name": "existing_Union", + "bind": "/model/instance/FWNewHH/existing_Union" + }, + { + "name": "existing_Ward", + "bind": "/model/instance/FWNewHH/existing_Ward" + }, + { + "name": "existing_Subunit", + "bind": "/model/instance/FWNewHH/existing_Subunit" + }, + { + "name": "existing_Mauzapara", + "bind": "/model/instance/FWNewHH/existing_Mauzapara" + }, + { + "name": "today", + "bind": "/model/instance/FWNewHH/today" + }, + { + "name": "start", + "bind": "/model/instance/FWNewHH/start" + }, + { + "name": "end", + "bind": "/model/instance/FWNewHH/end" + }, + { + "name": "FWNHREGDATE", + "bind": "/model/instance/FWNewHH/FWNHREGDATE" + }, + { + "name": "FWGOBHHID", + "bind": "/model/instance/FWNewHH/FWGOBHHID" + }, + { + "name": "FWJIVHHID", + "bind": "/model/instance/FWNewHH/FWJIVHHID" + }, + { + "name": "FWCOUNTRY", + "bind": "/model/instance/FWNewHH/FWCOUNTRY" + }, + { + "name": "FWDIVISION", + "bind": "/model/instance/FWNewHH/FWDIVISION" + }, + { + "name": "FWDISTRICT", + "bind": "/model/instance/FWNewHH/FWDISTRICT" + }, + { + "name": "FWUPAZILLA", + "bind": "/model/instance/FWNewHH/FWUPAZILLA" + }, + { + "name": "FWUNION", + "bind": "/model/instance/FWNewHH/FWUNION" + }, + { + "name": "FWWARD", + "bind": "/model/instance/FWNewHH/FWWARD" + }, + { + "name": "FWSUBUNIT", + "bind": "/model/instance/FWNewHH/FWSUBUNIT" + }, + { + "name": "FWMAUZA_PARA", + "bind": "/model/instance/FWNewHH/FWMAUZA_PARA" + }, + { + "name": "FWNHHHGPS", + "bind": "/model/instance/FWNewHH/FWNHHHGPS" + }, + { + "name": "FWHOHFNAME", + "bind": "/model/instance/FWNewHH/FWHOHFNAME" + }, + { + "name": "FWHOHLNAME", + "bind": "/model/instance/FWNewHH/FWHOHLNAME" + }, + { + "name": "FWHOHBIRTHDATE", + "bind": "/model/instance/FWNewHH/FWHOHBIRTHDATE" + }, + { + "name": "FWHOHGENDER", + "bind": "/model/instance/FWNewHH/FWHOHGENDER" + }, + { + "name": "FWNHHMBRNUM", + "bind": "/model/instance/FWNewHH/FWNHHMBRNUM" + }, + { + "name": "FWNHHMWRA", + "bind": "/model/instance/FWNewHH/FWNHHMWRA" + }, + { + "name": "join_names", + "bind": "/model/instance/FWNewHH/join_names" + }, + { + "name": "ELCO", + "bind": "/model/instance/FWNewHH/ELCO" + }, + { + "name": "user_type", + "bind": "/model/instance/FWNewHH/user_type" + }, + { + "name": "external_user_ID", + "bind": "/model/instance/FWNewHH/external_user_ID" + } + ], + "sub_forms": [ + { + "name": "elco_registration", + "bind_type": "elco", + "default_bind_path": "/model/instance/FWNewHH/woman", + "fields": [ + { + "name": "id", + "shouldLoadValue": true + }, + { + "name": "relationalid", + "shouldLoadValue": true + }, + { + "name": "WomanREGDATE", + "bind": "/model/instance/FWNewHH/woman/REGDATE" + }, + { + "name": "GOBHHID", + "bind": "/model/instance/FWNewHH/woman/GOBHHID" + }, + { + "name": "JiVitAHHID", + "bind": "/model/instance/FWNewHH/woman/JiVitAHHID" + }, + { + "name": "FWWOMFNAME", + "bind": "/model/instance/FWNewHH/woman/FWWOMFNAME" + }, + { + "name": "FWWOMLNAME", + "bind": "/model/instance/FWNewHH/woman/FWWOMLNAME" + }, + { + "name": "FWBIRTHDATE", + "bind": "/model/instance/FWNewHH/woman/FWBIRTHDATE" + }, + { + "name": "FWGENDER", + "bind": "/model/instance/FWNewHH/woman/FWGENDER" + }, + { + "name": "FWWOMAGE", + "bind": "/model/instance/FWNewHH/woman/FWWOMAGE" + }, + { + "name": "display_age", + "bind": "/model/instance/FWNewHH/woman/display_age" + }, + { + "name": "FWNHWOMSTRMEN", + "bind": "/model/instance/FWNewHH/woman/FWNHWOMSTRMEN" + }, + { + "name": "FWNHWOMHUSALV", + "bind": "/model/instance/FWNewHH/woman/FWNHWOMHUSALV" + }, + { + "name": "FWNHWOMHUSLIV", + "bind": "/model/instance/FWNewHH/woman/FWNHWOMHUSLIV" + }, + { + "name": "FWNHWOMHUSSTR", + "bind": "/model/instance/FWNewHH/woman/FWNHWOMHUSSTR" + }, + { + "name": "FWELIGIBLE", + "bind": "/model/instance/FWNewHH/woman/FWELIGIBLE" + }, + { + "name": "FWWOMANYID", + "bind": "/model/instance/FWNewHH/woman/eligible/FWWOMANYID" + }, + { + "name": "FWWOMNID", + "bind": "/model/instance/FWNewHH/woman/eligible/FWWOMNID" + }, + { + "name": "FWWOMRETYPENID", + "bind": "/model/instance/FWNewHH/woman/eligible/FWWOMRETYPENID" + }, + { + "name": "FWWOMBID", + "bind": "/model/instance/FWNewHH/woman/eligible/FWWOMBID" + }, + { + "name": "FWWOMRETYPEBID", + "bind": "/model/instance/FWNewHH/woman/eligible/FWWOMRETYPEBID" + }, + { + "name": "FWHUSNAME", + "bind": "/model/instance/FWNewHH/woman/eligible/FWHUSNAME" + }, + { + "name": "FWWOMCOUNTRY", + "bind": "/model/instance/FWNewHH/woman/eligible/FWWOMCOUNTRY" + }, + { + "name": "FWWOMDIVISION", + "bind": "/model/instance/FWNewHH/woman/eligible/FWWOMDIVISION" + }, + { + "name": "FWWOMDISTRICT", + "bind": "/model/instance/FWNewHH/woman/eligible/FWWOMDISTRICT" + }, + { + "name": "FWWOMUPAZILLA", + "bind": "/model/instance/FWNewHH/woman/eligible/FWWOMUPAZILLA" + }, + { + "name": "FWWOMUNION", + "bind": "/model/instance/FWNewHH/woman/eligible/FWWOMUNION" + }, + { + "name": "FWWOMWARD", + "bind": "/model/instance/FWNewHH/woman/eligible/FWWOMWARD" + }, + { + "name": "FWWOMSUBUNIT", + "bind": "/model/instance/FWNewHH/woman/eligible/FWWOMSUBUNIT" + }, + { + "name": "FWWOMMAUZA_PARA", + "bind": "/model/instance/FWNewHH/woman/eligible/FWWOMMAUZA_PARA" + }, + { + "name": "FWWOMGOBHHID", + "bind": "/model/instance/FWNewHH/woman/eligible/FWWOMGOBHHID" + }, + { + "name": "FWWOMGPS", + "bind": "/model/instance/FWNewHH/woman/eligible/FWWOMGPS" + } + ] + } + ] + } +} \ No newline at end of file diff --git a/opensrp-connector/bin/src/test/resources/form/new_household_registration_with_grouped_subform_data/form_submission1.json b/opensrp-connector/bin/src/test/resources/form/new_household_registration_with_grouped_subform_data/form_submission1.json new file mode 100644 index 0000000000..75775ca8cd --- /dev/null +++ b/opensrp-connector/bin/src/test/resources/form/new_household_registration_with_grouped_subform_data/form_submission1.json @@ -0,0 +1,363 @@ +{ + "id": "5ec11f03071ef0929839079530028992", + "_rev": "2-ddf675dd499e017538671b94843aeefc", + "type": "FormSubmission", + "anmId": "opensrp", + "instanceId": "d304dbr7-3998-434f-8c5b-55d6f5fa4252", + "formName": "new_household_registration_with_grouped_subform_data", + "entityId": "4237d267-d438-49f2-7822-8968t555447c", + "clientVersion": 1444562091545, + "formDataDefinitionVersion": "12", + "formInstance": { + "form_data_definition_version": "12", + "form": { + "bind_type": "household", + "default_bind_path": "/model/instance/FWNewHH", + "fields": [ + { + "name": "id", + "value": "4237d267-d438-49f2-7822-8968t555447c", + "source": "household.id" + }, + { + "name": "location_name", + "value": "DASLIA-_ALL_PARAS", + "source": "household.location_name" + }, + { + "name": "existing_location", + "value": "2fc43738-ace5-g961-8e8f-ab7dg0e5bc63", + "source": "household.existing_location" + }, + { + "name": "existing_Country", + "value": "Bangladesh", + "source": "household.existing_Country" + }, + { + "name": "existing_Division", + "value": "RANGPUR", + "source": "household.existing_Division" + }, + { + "name": "existing_District", + "value": "GAIBANDHA", + "source": "household.existing_District" + }, + { + "name": "existing_Upazilla", + "value": "SADULLAPUR", + "source": "household.existing_Upazilla" + }, + { + "name": "existing_Union", + "value": "NALDANGA", + "source": "household.existing_Union" + }, + { + "name": "existing_Ward", + "value": "Ward-3", + "source": "household.existing_Ward" + }, + { + "name": "existing_Subunit", + "value": "3-KHA", + "source": "household.existing_Subunit" + }, + { + "name": "existing_Mauzapara", + "value": "DASLIA+-+ALL+PARAS", + "source": "household.existing_Mauzapara" + }, + { + "name": "today", + "value": "2015-10-11", + "source": "household.today" + }, + { + "name": "start", + "value": "2015-10-11T17:12:34.000+06:00", + "source": "household.start" + }, + { + "name": "end", + "value": "2015-10-11T17:12:34.000+06:00", + "source": "household.end" + }, + { + "name": "FWNHREGDATE", + "value": "2015-10-11", + "source": "household.FWNHREGDATE" + }, + { + "name": "FWGOBHHID", + "value": "2322", + "source": "household.FWGOBHHID" + }, + { + "name": "FWJIVHHID", + "value": "9889", + "source": "household.FWJIVHHID" + }, + { + "name": "FWCOUNTRY", + "value": "Bangladesh", + "source": "household.FWCOUNTRY" + }, + { + "name": "FWDIVISION", + "value": "RANGPUR", + "source": "household.FWDIVISION" + }, + { + "name": "FWDISTRICT", + "value": "GAIBANDHA", + "source": "household.FWDISTRICT" + }, + { + "name": "FWUPAZILLA", + "value": "SADULLAPUR", + "source": "household.FWUPAZILLA" + }, + { + "name": "FWUNION", + "value": "NALDANGA", + "source": "household.FWUNION" + }, + { + "name": "FWWARD", + "value": "Ward-3", + "source": "household.FWWARD" + }, + { + "name": "FWSUBUNIT", + "value": "3-KHA", + "source": "household.FWSUBUNIT" + }, + { + "name": "FWMAUZA_PARA", + "value": "DASLIA+-+ALL+PARAS", + "source": "household.FWMAUZA_PARA" + }, + { + "name": "FWNHHHGPS", + "value": "23.8002 90.4068 0 10", + "source": "household.FWNHHHGPS" + }, + { + "name": "FWHOHFNAME", + "value": "mango", + "source": "household.FWHOHFNAME" + }, + { + "name": "FWHOHLNAME", + "value": ".", + "source": "household.FWHOHLNAME" + }, + { + "name": "FWHOHBIRTHDATE", + "value": "1900-01-01", + "source": "household.FWHOHBIRTHDATE" + }, + { + "name": "FWHOHGENDER", + "value": "2", + "source": "household.FWHOHGENDER" + }, + { + "name": "FWNHHMBRNUM", + "value": "23", + "source": "household.FWNHHMBRNUM" + }, + { + "name": "FWNHHMWRA", + "value": "1", + "source": "household.FWNHHMWRA" + }, + { + "name": "join_names", + "value": "hoby", + "source": "household.join_names" + }, + { + "name": "MWRA", + "value": "1", + "source": "household.MWRA" + } + ], + "sub_forms": [ + { + "name": "elco_registration", + "bind_type": "elco", + "default_bind_path": "/model/instance/FWNewHH/woman", + "fields": [ + { + "name": "id", + "source": "elco.id" + }, + { + "name": "relationalid", + "source": "elco.relationalid" + }, + { + "name": "WomanREGDATE", + "source": "elco.WomanREGDATE" + }, + { + "name": "GOBHHID", + "source": "elco.GOBHHID" + }, + { + "name": "JiVitAHHID", + "source": "elco.JiVitAHHID" + }, + { + "name": "FWWOMFNAME", + "source": "elco.FWWOMFNAME" + }, + { + "name": "FWWOMLNAME", + "source": "elco.FWWOMLNAME" + }, + { + "name": "FWBIRTHDATE", + "source": "elco.FWBIRTHDATE" + }, + { + "name": "FWGENDER", + "source": "elco.FWGENDER" + }, + { + "name": "FWWOMAGE", + "source": "elco.FWWOMAGE" + }, + { + "name": "display_age", + "source": "elco.display_age" + }, + { + "name": "FWNHWOMSTRMEN", + "source": "elco.FWNHWOMSTRMEN" + }, + { + "name": "FWNHWOMHUSALV", + "source": "elco.FWNHWOMHUSALV" + }, + { + "name": "FWNHWOMHUSLIV", + "source": "elco.FWNHWOMHUSLIV" + }, + { + "name": "FWNHWOMHUSSTR", + "source": "elco.FWNHWOMHUSSTR" + }, + { + "name": "FWELIGIBLE", + "source": "elco.FWELIGIBLE" + }, + { + "name": "FWWOMANYID", + "source": "elco.FWWOMANYID" + }, + { + "name": "FWWOMNID", + "source": "elco.FWWOMNID" + }, + { + "name": "FWWOMRETYPENID", + "source": "elco.FWWOMRETYPENID" + }, + { + "name": "FWWOMBID", + "source": "elco.FWWOMBID" + }, + { + "name": "FWWOMRETYPEBID", + "source": "elco.FWWOMRETYPEBID" + }, + { + "name": "FWHUSNAME", + "source": "elco.FWHUSNAME" + }, + { + "name": "FWWOMCOUNTRY", + "source": "elco.FWWOMCOUNTRY" + }, + { + "name": "FWWOMDIVISION", + "source": "elco.FWWOMDIVISION" + }, + { + "name": "FWWOMDISTRICT", + "source": "elco.FWWOMDISTRICT" + }, + { + "name": "FWWOMUPAZILLA", + "source": "elco.FWWOMUPAZILLA" + }, + { + "name": "FWWOMUNION", + "source": "elco.FWWOMUNION" + }, + { + "name": "FWWOMWARD", + "source": "elco.FWWOMWARD" + }, + { + "name": "FWWOMSUBUNIT", + "source": "elco.FWWOMSUBUNIT" + }, + { + "name": "FWWOMMAUZA_PARA", + "source": "elco.FWWOMMAUZA_PARA" + }, + { + "name": "FWWOMGOBHHID", + "source": "elco.FWWOMGOBHHID" + }, + { + "name": "FWWOMGPS", + "source": "elco.FWWOMGPS" + } + ], + "instances": [ + { + "GOBHHID": "2322", + "JiVitAHHID": "9889", + "WomanREGDATE": "2015-10-11", + "FWWOMFNAME": "jackfruit", + "FWWOMLNAME": ".", + "FWBIRTHDATE": "1988-10-08", + "FWGENDER": "female", + "FWWOMAGE": "27", + "display_age": "", + "FWNHWOMSTRMEN": "0", + "FWNHWOMHUSLIV": "1", + "FWNHWOMHUSALV": "", + "FWNHWOMHUSSTR": "0", + "FWELIGIBLE": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "FWWOMANYID": "1 2", + "FWWOMNID": "7675788777775", + "FWWOMRETYPENID": "7675788777775", + "FWWOMBID": "98899998888888888", + "FWWOMRETYPEBID": "98899998888888888", + "FWHUSNAME": "zoom", + "FWWOMCOUNTRY": "Bangladesh", + "FWWOMDIVISION": "RANGPUR", + "FWWOMDISTRICT": "GAIBANDHA", + "FWWOMUPAZILLA": "SADULLAPUR", + "FWWOMUNION": "NALDANGA", + "FWWOMWARD": "Ward-3", + "FWWOMSUBUNIT": "3-KHA", + "FWWOMMAUZA_PARA": "DASLIA+-+ALL+PARAS", + "FWWOMGOBHHID": "2322", + "FWWOMGPS": "23.8002 90.4068 0 10", + "id": "ce71572a-8oc5-u32f-9d3b-4a6b568d5g77" + } + ] + } + ] + } + }, + "serverVersion": 1444734863350 +} \ No newline at end of file diff --git a/opensrp-connector/bin/src/test/resources/form/new_household_registration_with_grouped_subform_data/model.xml b/opensrp-connector/bin/src/test/resources/form/new_household_registration_with_grouped_subform_data/model.xml new file mode 100644 index 0000000000..49e8d05084 --- /dev/null +++ b/opensrp-connector/bin/src/test/resources/form/new_household_registration_with_grouped_subform_data/model.xml @@ -0,0 +1,83 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2000-01-02 00:00:00 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + FWA + + + + + + + \ No newline at end of file diff --git a/opensrp-connector/bin/src/test/resources/form/offsite_child_followup/form.json b/opensrp-connector/bin/src/test/resources/form/offsite_child_followup/form.json new file mode 100644 index 0000000000..03c91a8053 --- /dev/null +++ b/opensrp-connector/bin/src/test/resources/form/offsite_child_followup/form.json @@ -0,0 +1 @@ +{"name":"Offsite_Child_Vaccination_Followup","title":"دوسرے سینٹر میں رجسٹرڈ بچّوں کا فالو اپ رجسٹر برائے ٹیکاجات - Off Site Child Follow Up Vaccination Register","sms_keyword":"offsite_child_vaccination_followup","default_language":"English","choices":{"provinces":[{"name":"kpk","label":{"Urdu":"خیبر پختون خواہ","English":"Khyber Pakhtunkhwa","Roman Urdu":"Khyber Pakhtunkhwa"}},{"name":"sindh","label":{"Urdu":"سندھ","English":"Sindh","Roman Urdu":"Sindh"}},{"name":"balochistan","label":{"Urdu":"بلوچستان","English":"Balochistan","Roman Urdu":"Balochistan"}},{"name":"punjab","label":{"Urdu":"پنجاب","English":"Punjab","Roman Urdu":"Punjab"}},{"name":"gilgit_baltistan","label":{"Urdu":"گلگت بلتستان","English":"Gilgit Baltistan","Roman Urdu":"Gilgit Baltistan"}},{"name":"kashmir","label":{"Urdu":"کشمیر","English":"Kashmir","Roman Urdu":"Kashmir"}},{"name":"fata","label":{"Urdu":"فاٹا","English":"FATA","Roman Urdu":"FATA"}},{"name":"out_of_country","label":{"Urdu":"ملک سے باہر","English":"Out of Country","Roman Urdu":"Out of Country"}}],"ucs":[{"province":"sindh","city":"karachi","town":"korangi","name":"bilal_colony","label":{"Urdu":"بلال کالونی","Roman Urdu":"Bilal Colony","English":"Bilal Colony"}},{"province":"sindh","city":"karachi","town":"korangi","name":"nasir_colony","label":{"Urdu":"ناصر کالونی","Roman Urdu":"Nasir Colony","English":"Nasir Colony"}},{"province":"sindh","city":"karachi","town":"korangi","name":"chakra_goth","label":{"Urdu":"چکرا گوٹھ","Roman Urdu":"Chakra Goth","English":"Chakra Goth"}},{"province":"sindh","city":"karachi","town":"korangi","name":"mustafa_taj_colony","label":{"Urdu":"مصطفی تاج کالونی","Roman Urdu":"Mustafa Taj Colony","English":"Mustafa Taj Colony"}},{"province":"sindh","city":"karachi","town":"korangi","name":"hundred_quarters","label":{"Urdu":"ہنڈریڈ کوارٹر","Roman Urdu":"Hundred Quarters","English":"Hundred Quarters"}},{"province":"sindh","city":"karachi","town":"korangi","name":"gulzar_colony","label":{"Urdu":"گلزار کالونی","Roman Urdu":"Gulzar Colony","English":"Gulzar Colony"}},{"province":"sindh","city":"karachi","town":"korangi","name":"korangi_sector_33","label":{"Urdu":"کورنگی سیکٹر 33","Roman Urdu":"Korangi Sector 33","English":"Korangi Sector 33"}},{"province":"sindh","city":"karachi","town":"korangi","name":"zaman_town","label":{"Urdu":"زمان ٹاوَن","Roman Urdu":"Zaman Town","English":"Zaman Town"}},{"province":"sindh","city":"karachi","town":"korangi","name":"hasrat_mohani_colony","label":{"Urdu":"حسرت موہانی کالونی","Roman Urdu":"Hasrat Mohani Colony","English":"Hasrat Mohani Colony"}},{"province":"sindh","city":"karachi","town":"baldia","name":"gulshan_e_ghazi","label":{"Urdu":"گلشن غازی","Roman Urdu":"Gulshan-e-Ghazi","English":"Gulshan-e-Ghazi"}},{"province":"sindh","city":"karachi","town":"baldia","name":"ittehad_town","label":{"Urdu":"اتحاد ٹاوَن","Roman Urdu":"Ittehad Town","English":"Ittehad Town"}},{"province":"sindh","city":"karachi","town":"baldia","name":"islam_nagar","label":{"Urdu":"اسلام نگر","Roman Urdu":"Islam Nagar","English":"Islam Nagar"}},{"province":"sindh","city":"karachi","town":"baldia","name":"nai_abadi","label":{"Urdu":"نئی آبادی","Roman Urdu":"Nai Abadi","English":"Nai Abadi"}},{"province":"sindh","city":"karachi","town":"baldia","name":"saeedabad","label":{"Urdu":"سعید آباد","Roman Urdu":"Saeedabad","English":"Saeedabad"}},{"province":"sindh","city":"karachi","town":"baldia","name":"muslim_mujahid_colony","label":{"Urdu":"مسلم مجاہد کالونی","Roman Urdu":"Muslim Mujahid Colony","English":"Muslim Mujahid Colony"}},{"province":"sindh","city":"karachi","town":"baldia","name":"muhajir_camp","label":{"Urdu":"مہاجر کیمپ","Roman Urdu":"Muhajir Camp","English":"Muhajir Camp"}},{"province":"sindh","city":"karachi","town":"baldia","name":"rasheedabad","label":{"Urdu":"رشید آباد","Roman Urdu":"Rasheedabad","English":"Rasheedabad"}},{"province":"sindh","city":"karachi","town":"bin_qasim","name":"ibrahim_hyderi","label":{"Urdu":"ابراہیم حیدری","Roman Urdu":"Ibrahim Hyderi","English":"Ibrahim Hyderi"}},{"province":"sindh","city":"karachi","town":"bin_qasim","name":"rehri","label":{"Urdu":"رہڑی","Roman Urdu":"Rehri","English":"Rehri"}},{"province":"sindh","city":"karachi","town":"bin_qasim","name":"cattle_colony","label":{"Urdu":"کیٹل کالونی","Roman Urdu":"Cattle Colony","English":"Cattle Colony"}},{"province":"sindh","city":"karachi","town":"bin_qasim","name":"qaidabad","label":{"Urdu":"قائدآباد","Roman Urdu":"Qaidabad","English":"Qaidabad"}},{"province":"sindh","city":"karachi","town":"bin_qasim","name":"landhi_colony","label":{"Urdu":"لانڈھی کالونی","Roman Urdu":"Landhi Colony","English":"Landhi Colony"}},{"province":"sindh","city":"karachi","town":"bin_qasim","name":"gulshan_e_hadeed","label":{"Urdu":"گلشن حدید","Roman Urdu":"Gulshan-e-Hadeed","English":"Gulshan-e-Hadeed"}},{"province":"sindh","city":"karachi","town":"bin_qasim","name":"gaghar","label":{"Urdu":"گگر","Roman Urdu":"Gaghar","English":"Gaghar"}},{"province":"sindh","city":"karachi","town":"gadap","name":"murad_memon_goth","label":{"Urdu":"مراد میمن گوٹھ","Roman Urdu":"Murad Memon Goth","English":"Murad Memon Goth"}},{"province":"sindh","city":"karachi","town":"gadap","name":"darsano_chana","label":{"Urdu":"درشانو شنو","Roman Urdu":"Darsano Chana","English":"Darsano Chana"}},{"province":"sindh","city":"karachi","town":"gadap","name":"gujro","label":{"Urdu":"گجرو","Roman Urdu":"Gujro","English":"Gujro"}},{"province":"sindh","city":"karachi","town":"gadap","name":"songal","label":{"Urdu":"سنگل","Roman Urdu":"Songal","English":"Songal"}},{"province":"sindh","city":"karachi","town":"gadap","name":"maymarabad","label":{"Urdu":"معمار آباد","Roman Urdu":"Maymarabad","English":"Maymarabad"}},{"province":"sindh","city":"karachi","town":"gadap","name":"yousuf_goth","label":{"Urdu":"یوسف گوٹھ","Roman Urdu":"Yousuf Goth","English":"Yousuf Goth"}},{"province":"sindh","city":"karachi","town":"gadap","name":"manghopir","label":{"Urdu":"منگھوپیر","Roman Urdu":"Manghopir","English":"Manghopir"}},{"province":"sindh","city":"karachi","town":"gulberg","name":"azizabad","label":{"Urdu":"عزیز آباد","Roman Urdu":"Azizabad","English":"Azizabad"}},{"province":"sindh","city":"karachi","town":"gulberg","name":"karimabad","label":{"Urdu":"کریم آباد","Roman Urdu":"Karimabad","English":"Karimabad"}},{"province":"sindh","city":"karachi","town":"gulberg","name":"aisha_manzil","label":{"Urdu":"عائشہ منزل","Roman Urdu":"Aisha Manzil","English":"Aisha Manzil"}},{"province":"sindh","city":"karachi","town":"gulberg","name":"ancholi","label":{"Urdu":"انچولی","Roman Urdu":"Ancholi","English":"Ancholi"}},{"province":"sindh","city":"karachi","town":"gulberg","name":"naseerabad","label":{"Urdu":"نصیرآباد","Roman Urdu":"Naseerabad","English":"Naseerabad"}},{"province":"sindh","city":"karachi","town":"gulberg","name":"yaseenabad","label":{"Urdu":"یاسین آباد","Roman Urdu":"Yaseenabad","English":"Yaseenabad"}},{"province":"sindh","city":"karachi","town":"gulberg","name":"water_pump","label":{"Urdu":"واٹرپمپ","Roman Urdu":"Water Pump","English":"Water Pump"}},{"province":"sindh","city":"karachi","town":"gulberg","name":"shafiq_mill_colony","label":{"Urdu":"شفیق مل کالونی","Roman Urdu":"Shafiq Mill Colony","English":"Shafiq Mill Colony"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"delhi_mercantile_society","label":{"Urdu":"دہلی مرچنٹائل سوسائٹی","Roman Urdu":"Delhi Mercantile Society","English":"Delhi Mercantile Society"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"civic_centre","label":{"Urdu":"سوک سینٹر","Roman Urdu":"Civic Centre","English":"Civic Centre"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"pir_ilahi_buksh_colony","label":{"Urdu":"پیر الہی بخش کالونی","Roman Urdu":"Pir Ilahi Buksh Colony","English":"Pir Ilahi Buksh Colony"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"essa_nagri","label":{"Urdu":"عیسی نگری","Roman Urdu":"Essa Nagri","English":"Essa Nagri"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"gulshan_e_iqbal","label":{"Urdu":"گلشن اقبال","Roman Urdu":"Gulshan-e-Iqbal","English":"Gulshan-e-Iqbal"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"gillani_railway_station","label":{"Urdu":"گیلانی ریلوے اسٹیشن","Roman Urdu":"Gillani Railway Station","English":"Gillani Railway Station"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"shanti_nagar","label":{"Urdu":"شانتی نگر","Roman Urdu":"Shanti Nagar","English":"Shanti Nagar"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"jamali_colony","label":{"Urdu":"جمالی کالونی","Roman Urdu":"Jamali Colony","English":"Jamali Colony"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"gulshan_e_iqbal_ii","label":{"Urdu":"گلشن اقبال 2","Roman Urdu":"Gulshan-e-Iqbal II","English":"Gulshan-e-Iqbal II"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"pehlwan_goth","label":{"Urdu":"پہلوان گوٹھ","Roman Urdu":"Pehlwan Goth","English":"Pehlwan Goth"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"matrovil_colony","label":{"Urdu":"میٹروویل کالونی","Roman Urdu":"Matrovil Colony","English":"Matrovil Colony"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"gulzar_e_hijri","label":{"Urdu":"گلزار ہجری","Roman Urdu":"Gulzar-e-Hijri","English":"Gulzar-e-Hijri"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"safooran_goth","label":{"Urdu":"صفورا گوٹھ","Roman Urdu":"Safooran Goth","English":"Safooran Goth"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"akhtar_colony","label":{"Urdu":"اختر کالونی","Roman Urdu":"Akhtar Colony","English":"Akhtar Colony"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"manzoor_colony","label":{"Urdu":"منظور کالونی","Roman Urdu":"Manzoor Colony","English":"Manzoor Colony"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"azam_basti","label":{"Urdu":"اعظم بستی","Roman Urdu":"Azam Basti","English":"Azam Basti"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"chanesar_goth","label":{"Urdu":"چنیسر گوٹھ","Roman Urdu":"Chanesar Goth","English":"Chanesar Goth"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"mahmudabad","label":{"Urdu":"محمودآباد","Roman Urdu":"Mahmudabad","English":"Mahmudabad"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"pechs","label":{"Urdu":"پی۔ای۔سی۔ایچ۔ایس","Roman Urdu":"P.E.C.H.S.","English":"P.E.C.H.S."}},{"province":"sindh","city":"karachi","town":"jamshed","name":"pechs_ii","label":{"Urdu":"پی۔ای۔سی۔ایچ۔ایس 2","Roman Urdu":"P.E.C.H.S. II","English":"P.E.C.H.S. II"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"jut_line","label":{"Urdu":"جٹ لائن","Roman Urdu":"Jut Line","English":"Jut Line"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"central_jacob_lines","label":{"Urdu":"سینٹرل جیکب لائن","Roman Urdu":"Central Jacob Lines","English":"Central Jacob Lines"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"jamshed_quarters","label":{"Urdu":"جمشید کوارٹر","Roman Urdu":"Jamshed Quarters","English":"Jamshed Quarters"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"garden_east","label":{"Urdu":"گارڈن ایسٹ","Roman Urdu":"Garden East","English":"Garden East"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"soldier_bazar","label":{"Urdu":"سولجر بازار","Roman Urdu":"Soldier Bazar","English":"Soldier Bazar"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"pakistan_quarters","label":{"Urdu":"پاکستان کوارٹر","Roman Urdu":"Pakistan Quarters","English":"Pakistan Quarters"}},{"province":"sindh","city":"karachi","town":"kiamari","name":"bhutta_village","label":{"Urdu":"بھٹا ولیج","Roman Urdu":"Bhutta Village","English":"Bhutta Village"}},{"province":"sindh","city":"karachi","town":"kiamari","name":"sultanabad","label":{"Urdu":"سلطان آباد","Roman Urdu":"Sultanabad","English":"Sultanabad"}},{"province":"sindh","city":"karachi","town":"kiamari","name":"kiamari_uc","label":{"Urdu":"کیماری یو- سی","Roman Urdu":"Kiamari UC","English":"Kiamari UC"}},{"province":"sindh","city":"karachi","town":"kiamari","name":"baba_bhit","label":{"Urdu":"بابا بھٹ","Roman Urdu":"Baba Bhit","English":"Baba Bhit"}},{"province":"sindh","city":"karachi","town":"kiamari","name":"machar_colony","label":{"Urdu":"مچھر کالونی","Roman Urdu":"Machar Colony","English":"Machar Colony"}},{"province":"sindh","city":"karachi","town":"kiamari","name":"maripur","label":{"Urdu":"ماڑی پور","Roman Urdu":"Maripur","English":"Maripur"}},{"province":"sindh","city":"karachi","town":"kiamari","name":"shershah","label":{"Urdu":"شیرشاہ","Roman Urdu":"SherShah","English":"SherShah"}},{"province":"sindh","city":"karachi","town":"kiamari","name":"gabo_pat","label":{"Urdu":"گابو پٹ","Roman Urdu":"Gabo Pat","English":"Gabo Pat"}},{"province":"sindh","city":"karachi","town":"landhi","name":"muzafarabad","label":{"Urdu":"مظفرآباد","Roman Urdu":"Muzafarabad","English":"Muzafarabad"}},{"province":"sindh","city":"karachi","town":"landhi","name":"muslimabad","label":{"Urdu":"مسلم آباد","Roman Urdu":"Muslimabad","English":"Muslimabad"}},{"province":"sindh","city":"karachi","town":"landhi","name":"dawood_chowrangi","label":{"Urdu":"داوَد چورنگی","Roman Urdu":"Dawood Chowrangi","English":"Dawood Chowrangi"}},{"province":"sindh","city":"karachi","town":"landhi","name":"moinabad","label":{"Urdu":"معین آباد","Roman Urdu":"Moinabad","English":"Moinabad"}},{"province":"sindh","city":"karachi","town":"landhi","name":"sharafi_goth","label":{"Urdu":"شرافی گوٹھ","Roman Urdu":"Sharafi Goth","English":"Sharafi Goth"}},{"province":"sindh","city":"karachi","town":"landhi","name":"bhutto_nagar","label":{"Urdu":"بھٹو نگر","Roman Urdu":"Bhutto Nagar","English":"Bhutto Nagar"}},{"province":"sindh","city":"karachi","town":"landhi","name":"khawaja_ajmeer_colony","label":{"Urdu":"خواجہ اجمیر کالونی","Roman Urdu":"Khawaja Ajmeer Colony","English":"Khawaja Ajmeer Colony"}},{"province":"sindh","city":"karachi","town":"landhi","name":"landhi_uc","label":{"Urdu":"لانڈھی یوسی","Roman Urdu":"Landhi UC","English":"Landhi UC"}},{"province":"sindh","city":"karachi","town":"landhi","name":"awami_colony","label":{"Urdu":"عوامی کالونی","Roman Urdu":"Awami Colony","English":"Awami Colony"}},{"province":"sindh","city":"karachi","town":"landhi","name":"burmee_colony","label":{"Urdu":"برمی کالونی","Roman Urdu":"Burmee Colony","English":"Burmee Colony"}},{"province":"sindh","city":"karachi","town":"landhi","name":"korangi_uc","label":{"Urdu":"کورنگی یوسی","Roman Urdu":"Korangi UC","English":"Korangi UC"}},{"province":"sindh","city":"karachi","town":"landhi","name":"sherabad","label":{"Urdu":"شیرآباد","Roman Urdu":"Sherabad","English":"Sherabad"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"rizvia_society","label":{"Urdu":"رضویہ سوسائٹی","Roman Urdu":"Rizvia Society","English":"Rizvia Society"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"firdous_colony","label":{"Urdu":"فردوس کالونی","Roman Urdu":"Firdous Colony","English":"Firdous Colony"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"super_market","label":{"Urdu":"سپر مارکیٹ","Roman Urdu":"Super Market","English":"Super Market"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"dak_khana","label":{"Urdu":"دک کھانہ","Roman Urdu":"Dak Khana","English":"Dak Khana"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"qasimabad","label":{"Urdu":"قاسم آباد","Roman Urdu":"Qasimabad","English":"Qasimabad"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"bandhani_colony","label":{"Urdu":"بندھانی کالونی","Roman Urdu":"Bandhani Colony","English":"Bandhani Colony"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"sharifabad","label":{"Urdu":"شریف آباد","Roman Urdu":"Sharifabad","English":"Sharifabad"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"commercial_area","label":{"Urdu":"کمرشل ایریا","Roman Urdu":"Commercial Area","English":"Commercial Area"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"mujahid_colony","label":{"Urdu":"مجاہد کالونی","Roman Urdu":"Mujahid Colony","English":"Mujahid Colony"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"nazimabad","label":{"Urdu":"ناظم آباد","Roman Urdu":"Nazimabad","English":"Nazimabad"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"abbasi_shaheed","label":{"Urdu":"عباسی شہید","Roman Urdu":"Abbasi Shaheed","English":"Abbasi Shaheed"}},{"province":"sindh","city":"karachi","town":"lyari","name":"agra_taj_colony","label":{"Urdu":"آگرہ تاج کالونی","Roman Urdu":"Agra Taj Colony","English":"Agra Taj Colony"}},{"province":"sindh","city":"karachi","town":"lyari","name":"daryaabad","label":{"Urdu":"دریاآباد","Roman Urdu":"Daryaabad","English":"Daryaabad"}},{"province":"sindh","city":"karachi","town":"lyari","name":"nawabad","label":{"Urdu":"نواآباد","Roman Urdu":"Nawabad","English":"Nawabad"}},{"province":"sindh","city":"karachi","town":"lyari","name":"khada_memon_society","label":{"Urdu":"خدا- میمن- سوساَٹی","Roman Urdu":"Khada Memon Society","English":"Khada Memon Society"}},{"province":"sindh","city":"karachi","town":"lyari","name":"baghdadi","label":{"Urdu":"بغدادی","Roman Urdu":"Baghdadi","English":"Baghdadi"}},{"province":"sindh","city":"karachi","town":"lyari","name":"shah_baig_line","label":{"Urdu":"شاھ باغ لائن","Roman Urdu":"Shah Baig Line","English":"Shah Baig Line"}},{"province":"sindh","city":"karachi","town":"lyari","name":"bihar_colony","label":{"Urdu":"بہار کالونی","Roman Urdu":"Bihar Colony","English":"Bihar Colony"}},{"province":"sindh","city":"karachi","town":"lyari","name":"ragiwara","label":{"Urdu":"راگی واڑا","Roman Urdu":"Ragiwara","English":"Ragiwara"}},{"province":"sindh","city":"karachi","town":"lyari","name":"singo_line","label":{"Urdu":"سنگولائن","Roman Urdu":"Singo Line","English":"Singo Line"}},{"province":"sindh","city":"karachi","town":"lyari","name":"chakiwara","label":{"Urdu":"چاکی واڑا","Roman Urdu":"Chakiwara","English":"Chakiwara"}},{"province":"sindh","city":"karachi","town":"lyari","name":"allama_iqbal_colony","label":{"Urdu":"علامہ اقبال کالونی","Roman Urdu":"Allama Iqbal Colony","English":"Allama Iqbal Colony"}},{"province":"sindh","city":"karachi","town":"malir","name":"model_colony","label":{"Urdu":"موڈل کالونی","Roman Urdu":"Model Colony","English":"Model Colony"}},{"province":"sindh","city":"karachi","town":"malir","name":"kala_board","label":{"Urdu":"کالا بورڈ","Roman Urdu":"Kala Board","English":"Kala Board"}},{"province":"sindh","city":"karachi","town":"malir","name":"saudabad","label":{"Urdu":"سعودآباد","Roman Urdu":"Saudabad","English":"Saudabad"}},{"province":"sindh","city":"karachi","town":"malir","name":"khokhra_par","label":{"Urdu":"کھوکھرا پار","Roman Urdu":"Khokhra Par","English":"Khokhra Par"}},{"province":"sindh","city":"karachi","town":"malir","name":"jafar_e_tayyar","label":{"Urdu":"جعفر تیار","Roman Urdu":"Jafar-e-Tayyar","English":"Jafar-e-Tayyar"}},{"province":"sindh","city":"karachi","town":"malir","name":"gharibabad","label":{"Urdu":"غریب آباد","Roman Urdu":"Gharibabad","English":"Gharibabad"}},{"province":"sindh","city":"karachi","town":"malir","name":"ghazi_brohi_goth","label":{"Urdu":"غازی بروہی گوٹھ","Roman Urdu":"Ghazi Brohi Goth","English":"Ghazi Brohi Goth"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"kalyana","label":{"Urdu":"کالیانہ","Roman Urdu":"Kalyana","English":"Kalyana"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"sir_syed_colony","label":{"Urdu":"سر سید کالونی","Roman Urdu":"Sir Syed Colony","English":"Sir Syed Colony"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"fatima_jinnah_colony","label":{"Urdu":"فاطمہ جناح کالونی","Roman Urdu":"Fatima Jinnah Colony","English":"Fatima Jinnah Colony"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"godhra","label":{"Urdu":"گودھرا","Roman Urdu":"Godhra","English":"Godhra"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"abu_zar_ghaffari","label":{"Urdu":"ابو زر غفاری","Roman Urdu":"Abu Zar Ghaffari","English":"Abu Zar Ghaffari"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"hakim_ahsan","label":{"Urdu":"حاکم احسان","Roman Urdu":"Hakim Ahsan","English":"Hakim Ahsan"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"madina_colony","label":{"Urdu":"مدینہ کالونی","Roman Urdu":"Madina Colony","English":"Madina Colony"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"faisal_colony","label":{"Urdu":"فیصل کالونی","Roman Urdu":"Faisal Colony","English":"Faisal Colony"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"khamiso_goth","label":{"Urdu":"خمیسو گوٹھ","Roman Urdu":"Khamiso Goth","English":"Khamiso Goth"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"mustufa_colony","label":{"Urdu":"مصطفی کالونی","Roman Urdu":"Mustufa Colony","English":"Mustufa Colony"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"khawaja_ajmeer_nagri","label":{"Urdu":"خواجہ اجمیر نگری","Roman Urdu":"Khawaja Ajmeer Nagri","English":"Khawaja Ajmeer Nagri"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"gulshan_e_saeed","label":{"Urdu":"گلشن سعید","Roman Urdu":"Gulshan-e-Saeed","English":"Gulshan-e-Saeed"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"shah_nawaz_bhutto_colony","label":{"Urdu":"شاہ نواز بھٹو کالونی","Roman Urdu":"Shah Nawaz Bhutto Colony","English":"Shah Nawaz Bhutto Colony"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"paposh_nagar","label":{"Urdu":"پاپوش نگر","Roman Urdu":"Paposh Nagar","English":"Paposh Nagar"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"pahar_ganj","label":{"Urdu":"پہاڑ گنج","Roman Urdu":"Pahar Ganj","English":"Pahar Ganj"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"khandu_goth","label":{"Urdu":"کھنڑو گوٹھ","Roman Urdu":"Khandu Goth","English":"Khandu Goth"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"hyderi","label":{"Urdu":"حیدری","Roman Urdu":"Hyderi","English":"Hyderi"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"sakhi_hassan","label":{"Urdu":"سخی حسن","Roman Urdu":"Sakhi Hassan","English":"Sakhi Hassan"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"farooq_e_azam","label":{"Urdu":"فاروق اعظم","Roman Urdu":"Farooq-e-Azam","English":"Farooq-e-Azam"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"nusrat_bhutto_colony","label":{"Urdu":"نصرت بھٹو کالونی","Roman Urdu":"Nusrat Bhutto Colony","English":"Nusrat Bhutto Colony"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"shadman_town","label":{"Urdu":"شادمان ٹاوَن","Roman Urdu":"Shadman Town","English":"Shadman Town"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"buffer_zone","label":{"Urdu":"بفرزون","Roman Urdu":"Buffer Zone","English":"Buffer Zone"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"buffer_zone_ii","label":{"Urdu":"بفرزون 2","Roman Urdu":"Buffer Zone II","English":"Buffer Zone II"}},{"province":"sindh","city":"karachi","town":"orangi","name":"mominabad","label":{"Urdu":"مومن آباد","Roman Urdu":"Mominabad","English":"Mominabad"}},{"province":"sindh","city":"karachi","town":"orangi","name":"haryana_colony","label":{"Urdu":"حریانہ کالونی","Roman Urdu":"Haryana Colony","English":"Haryana Colony"}},{"province":"sindh","city":"karachi","town":"orangi","name":"hanifabad","label":{"Urdu":"حنیف آباد","Roman Urdu":"Hanifabad","English":"Hanifabad"}},{"province":"sindh","city":"karachi","town":"orangi","name":"mohammad_nagar","label":{"Urdu":"محمد نگر","Roman Urdu":"Mohammad Nagar","English":"Mohammad Nagar"}},{"province":"sindh","city":"karachi","town":"orangi","name":"madina_colony_orangi","label":{"Urdu":"مدینہ کالونی اورنگی","Roman Urdu":"Madina Colony Orangi","English":"Madina Colony Orangi"}},{"province":"sindh","city":"karachi","town":"orangi","name":"ghaziabad","label":{"Urdu":"غازی آباد","Roman Urdu":"Ghaziabad","English":"Ghaziabad"}},{"province":"sindh","city":"karachi","town":"orangi","name":"chisti_nagar","label":{"Urdu":"چشتی نگر","Roman Urdu":"Chisti Nagar","English":"Chisti Nagar"}},{"province":"sindh","city":"karachi","town":"orangi","name":"bilal_colony_orangi","label":{"Urdu":"بلال کالونی اورنگی","Roman Urdu":"Bilal Colony Orangi","English":"Bilal Colony Orangi"}},{"province":"sindh","city":"karachi","town":"orangi","name":"iqbal_baloch_colony","label":{"Urdu":"اقبال بلوچ کالونی","Roman Urdu":"Iqbal Baloch Colony","English":"Iqbal Baloch Colony"}},{"province":"sindh","city":"karachi","town":"orangi","name":"ghabool_town","label":{"Urdu":"گبول ٹاوَن","Roman Urdu":"Ghabool Town","English":"Ghabool Town"}},{"province":"sindh","city":"karachi","town":"orangi","name":"data_nagar","label":{"Urdu":"داتا نگر","Roman Urdu":"Data Nagar","English":"Data Nagar"}},{"province":"sindh","city":"karachi","town":"orangi","name":"mujahidabad","label":{"Urdu":"مجاہد آباد","Roman Urdu":"Mujahidabad","English":"Mujahidabad"}},{"province":"sindh","city":"karachi","town":"orangi","name":"baloch_goth","label":{"Urdu":"بلوچ گوٹھ","Roman Urdu":"Baloch Goth","English":"Baloch Goth"}},{"province":"sindh","city":"karachi","town":"saddar","name":"old_haji_camp","label":{"Urdu":"پرانہ حاجی کیمپ","Roman Urdu":"Old Haji Camp","English":"Old Haji Camp"}},{"province":"sindh","city":"karachi","town":"saddar","name":"garden","label":{"Urdu":"گارڈن","Roman Urdu":"Garden","English":"Garden"}},{"province":"sindh","city":"karachi","town":"saddar","name":"kharadar","label":{"Urdu":"کھارادر","Roman Urdu":"Kharadar","English":"Kharadar"}},{"province":"sindh","city":"karachi","town":"saddar","name":"city_railway_colony","label":{"Urdu":"سٹی ریلوے کالونی","Roman Urdu":"City Railway Colony","English":"City Railway Colony"}},{"province":"sindh","city":"karachi","town":"saddar","name":"nanak_wara","label":{"Urdu":"ناناک واڑا","Roman Urdu":"Nanak Wara","English":"Nanak Wara"}},{"province":"sindh","city":"karachi","town":"saddar","name":"gazdarabad","label":{"Urdu":"گزدرآباد","Roman Urdu":"Gazdarabad","English":"Gazdarabad"}},{"province":"sindh","city":"karachi","town":"saddar","name":"millat_nagar_islam_pura","label":{"Urdu":"ملت نگر اسلام پورا","Roman Urdu":"Millat Nagar/Islam Pura","English":"Millat Nagar/Islam Pura"}},{"province":"sindh","city":"karachi","town":"saddar","name":"saddar_uc","label":{"Urdu":"صدر یو سی","Roman Urdu":"Saddar UC","English":"Saddar UC"}},{"province":"sindh","city":"karachi","town":"saddar","name":"civil_line","label":{"Urdu":"سول لائن","Roman Urdu":"Civil Line","English":"Civil Line"}},{"province":"sindh","city":"karachi","town":"saddar","name":"clifton","label":{"Urdu":"کلفٹن","Roman Urdu":"Clifton","English":"Clifton"}},{"province":"sindh","city":"karachi","town":"saddar","name":"kehkashan","label":{"Urdu":"کہکشان","Roman Urdu":"Kehkashan","English":"Kehkashan"}},{"province":"sindh","city":"karachi","town":"shah_faisal","name":"natha_khan_goth","label":{"Urdu":"ناتھا خان گوٹھ","Roman Urdu":"Natha Khan Goth","English":"Natha Khan Goth"}},{"province":"sindh","city":"karachi","town":"shah_faisal","name":"pak_sadat_colony","label":{"Urdu":"پاک صدر کالونی","Roman Urdu":"Pak Sadat Colony","English":"Pak Sadat Colony"}},{"province":"sindh","city":"karachi","town":"shah_faisal","name":"drigh_colony","label":{"Urdu":"ڈرگ کالونی","Roman Urdu":"Drigh Colony","English":"Drigh Colony"}},{"province":"sindh","city":"karachi","town":"shah_faisal","name":"raita_plot","label":{"Urdu":"رائتا پلاٹ","Roman Urdu":"Raita Plot","English":"Raita Plot"}},{"province":"sindh","city":"karachi","town":"shah_faisal","name":"moria_khan_goth","label":{"Urdu":"موریا خان گوٹھ","Roman Urdu":"Moria Khan Goth","English":"Moria Khan Goth"}},{"province":"sindh","city":"karachi","town":"shah_faisal","name":"rafa_e_aam_society","label":{"Urdu":"رفا عام سوسا ئٹی","Roman Urdu":"Rafa-e-Aam Society","English":"Rafa-e-Aam Society"}},{"province":"sindh","city":"karachi","town":"shah_faisal","name":"al_falah_society","label":{"Urdu":"الفلاح سوسا ئٹی","Roman Urdu":"Al-Falah Society","English":"Al-Falah Society"}},{"province":"sindh","city":"karachi","town":"site","name":"pak_colony","label":{"Urdu":"پاک کالونی","Roman Urdu":"Pak Colony","English":"Pak Colony"}},{"province":"sindh","city":"karachi","town":"site","name":"old_golimar","label":{"Urdu":"پرانہ گولی مار","Roman Urdu":"Old Golimar","English":"Old Golimar"}},{"province":"sindh","city":"karachi","town":"site","name":"jahanabad","label":{"Urdu":"جہان آباد","Roman Urdu":"Jahanabad","English":"Jahanabad"}},{"province":"sindh","city":"karachi","town":"site","name":"metrovil","label":{"Urdu":"میٹروویل","Roman Urdu":"Metrovil","English":"Metrovil"}},{"province":"sindh","city":"karachi","town":"site","name":"bhawani_chali","label":{"Urdu":"بہوانی چالی","Roman Urdu":"Bhawani Chali","English":"Bhawani Chali"}},{"province":"sindh","city":"karachi","town":"site","name":"frontier_colony","label":{"Urdu":"فرونٹر کالونی","Roman Urdu":"Frontier Colony","English":"Frontier Colony"}},{"province":"sindh","city":"karachi","town":"site","name":"banaras_colony","label":{"Urdu":"بنارس کالونی","Roman Urdu":"Banaras Colony","English":"Banaras Colony"}},{"province":"sindh","city":"karachi","town":"site","name":"qasba_colony","label":{"Urdu":"قصبہ کالونی","Roman Urdu":"Qasba Colony","English":"Qasba Colony"}},{"province":"sindh","city":"karachi","town":"site","name":"islamia_colony","label":{"Urdu":"اسلامیہ کالونی","Roman Urdu":"Islamia Colony","English":"Islamia Colony"}},{"province":"na","city":"na","town":"na","name":"other","label":{"Urdu":"دیگر","Roman Urdu":"Deegar","English":"Other"}},{"province":"na","city":"na","town":"na","name":"not_applicable","label":{"Urdu":"قابل اطلاق نہیں","Roman Urdu":"Qaabil-e-atlaaq nahi","English":"Not Applicable"}}],"gender":[{"instance":{"openmrs_code":"1534AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"male","label":{"Urdu":"مرد/ لڑکا","Roman Urdu":"Mard/larka","English":"Male"}},{"instance":{"openmrs_code":"1535AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"female","label":{"Urdu":"عورت/لڑکی","Roman Urdu":"Aurat/larki","English":"Female"}},{"instance":{"openmrs_code":"163163AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"transgender","label":{"Urdu":"خواجہ سرہ","Roman Urdu":"Khwaja sira","English":"Transgender"}}],"vaccines":[{"instance":{"openmrs_code":"1570AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"bcg","label":{"Urdu":"بی سی جی","Roman Urdu":"BCG","English":"BCG"}},{"instance":{"openmrs_code":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"opv0","label":{"Urdu":"او پی وی 0","Roman Urdu":"OPV 0","English":"OPV 0"}},{"instance":{"openmrs_code":"162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"pcv1","label":{"Urdu":"پی سی وی 1","Roman Urdu":"PCV 1","English":"PCV 1"}},{"instance":{"openmrs_code":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"opv1","label":{"Urdu":"او پی وی 1","Roman Urdu":"OPV 1","English":"OPV 1"}},{"instance":{"openmrs_code":"162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"penta11","label":{"Urdu":"پینٹا ویلنٹ 1","Roman Urdu":"Pentavalent 1","English":"Pentavalent 1"}},{"instance":{"openmrs_code":"162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"pcv2","label":{"Urdu":"پی سی وی 2","Roman Urdu":"PCV 2","English":"PCV 2"}},{"instance":{"openmrs_code":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"opv2","label":{"Urdu":"او پی وی 2","Roman Urdu":"OPV 2","English":"OPV 2"}},{"instance":{"openmrs_code":"162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"penta12","label":{"Urdu":"پینٹا ویلنٹ 2","Roman Urdu":"Pentavalent 2","English":"Pentavalent 2"}},{"instance":{"openmrs_code":"162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"pcv3","label":{"Urdu":"پی سی وی 3","Roman Urdu":"PCV 3","English":"PCV 3"}},{"instance":{"openmrs_code":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"opv3","label":{"Urdu":"او پی وی 3","Roman Urdu":"OPV 3","English":"OPV 3"}},{"instance":{"openmrs_code":"162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"penta13","label":{"Urdu":"پینٹا ویلنٹ 3","Roman Urdu":"Pentavalent 3","English":"Pentavalent 3"}},{"instance":{"openmrs_code":"82242AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"ipv","label":{"Urdu":"آئی پی وی","Roman Urdu":"IPV","English":"IPV"}},{"instance":{"openmrs_code":"79409AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"measles1","label":{"Urdu":"خسرہ 1","Roman Urdu":"Khasra 1","English":"Measles 1"}},{"instance":{"openmrs_code":"79409AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"measles2","label":{"Urdu":"خسرہ 2","Roman Urdu":"Khasra 2","English":"Measles 2"}}],"towns":[{"province":"sindh","city":"karachi","name":"korangi","label":{"Urdu":"کورنگی","Roman Urdu":"Korangi","English":"Korangi"}},{"province":"sindh","city":"karachi","name":"landhi","label":{"Urdu":"لانڈھی","Roman Urdu":"Landhi","English":"Landhi"}},{"province":"sindh","city":"karachi","name":"baldia","label":{"Urdu":"بلدیہ","Roman Urdu":"Baldia","English":"Baldia"}},{"province":"sindh","city":"karachi","name":"bin_qasim","label":{"Urdu":"بن قاسم","Roman Urdu":"Bin Qasim","English":"Bin Qasim"}},{"province":"sindh","city":"karachi","name":"gadap","label":{"Urdu":"گڈاپ","Roman Urdu":"Gadap","English":"Gadap"}},{"province":"sindh","city":"karachi","name":"gulberg","label":{"Urdu":"گلبرگ","Roman Urdu":"Gulberg","English":"Gulberg"}},{"province":"sindh","city":"karachi","name":"gulshan","label":{"Urdu":"گلشن","Roman Urdu":"Gulshan","English":"Gulshan"}},{"province":"sindh","city":"karachi","name":"jamshed","label":{"Urdu":"جمشید","Roman Urdu":"Jamshed","English":"Jamshed"}},{"province":"sindh","city":"karachi","name":"kiamari","label":{"Urdu":"کیماری","Roman Urdu":"Kiamari","English":"Kiamari"}},{"province":"sindh","city":"karachi","name":"liaquatabad","label":{"Urdu":"لیاقت آباد","Roman Urdu":"Liaquatabad","English":"Liaquatabad"}},{"province":"sindh","city":"karachi","name":"lyari","label":{"Urdu":"لیاری","Roman Urdu":"Lyari","English":"Lyari"}},{"province":"sindh","city":"karachi","name":"malir","label":{"Urdu":"ملیر","Roman Urdu":"Malir","English":"Malir"}},{"province":"sindh","city":"karachi","name":"new_karachi","label":{"Urdu":"نیو کراچی","Roman Urdu":"New Karachi","English":"New Karachi"}},{"province":"sindh","city":"karachi","name":"north_nazimabad","label":{"Urdu":"نارتھ ناظم آباد","Roman Urdu":"North Nazimabad","English":"North Nazimabad"}},{"province":"sindh","city":"karachi","name":"orangi","label":{"Urdu":"اورنگی","Roman Urdu":"Orangi","English":"Orangi"}},{"province":"sindh","city":"karachi","name":"saddar","label":{"Urdu":"صدر","Roman Urdu":"Saddar","English":"Saddar"}},{"province":"sindh","city":"karachi","name":"shah_faisal","label":{"Urdu":"شاہ فیصل","Roman Urdu":"Shah Faisal","English":"Shah Faisal"}},{"province":"sindh","city":"karachi","name":"site","label":{"Urdu":"سائٹ","Roman Urdu":"S.I.T.E.","English":"S.I.T.E."}},{"province":"na","city":"na","name":"other","label":{"Urdu":"دیگر","Roman Urdu":"Deegar","English":"Other"}},{"province":"na","city":"na","name":"not_applicable","label":{"Urdu":"قابل اطلاق نہیں","Roman Urdu":"Qaabil-e-atlaaq nahi","English":"Not Applicable"}}],"cities":[{"province":"sindh","name":"karachi","label":{"Urdu":"کراچی","Roman Urdu":"Karachi","English":"Karachi"}},{"province":"punjab","name":"hafizabad","label":{"Urdu":"حافظ آباد","Roman Urdu":"Hafizabad","English":"Hafizabad"}},{"province":"punjab","name":"muzaffargarh","label":{"Urdu":"مظفر گڑھ","Roman Urdu":"Muzaffargarh","English":"Muzaffargarh"}},{"province":"na","name":"other","label":{"Urdu":"دیگر","Roman Urdu":"Deegar","English":"Other"}},{"province":"na","name":"not_applicable","label":{"Urdu":"قابل اطلاق نہیں","Roman Urdu":"Qaabil-e-atlaaq nahi","English":"Not Applicable"}}],"yes_no":[{"instance":{"openmrs_code":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"yes","label":{"Urdu":"ہاں","Roman Urdu":"Yes","English":"Yes"}},{"instance":{"openmrs_code":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"no","label":{"Urdu":"نہیں","Roman Urdu":"No","English":"No"}}]},"instance":{"encounter_type":"Off Site Child Vaccination Follow Up"},"version":"201604080501","id_string":"offsite_child_vaccination_followup","type":"survey","children":[{"type":"hidden","name":"provider_uc"},{"type":"hidden","name":"provider_town"},{"type":"hidden","name":"provider_city"},{"type":"hidden","name":"provider_province"},{"type":"hidden","name":"existing_first_name"},{"type":"hidden","name":"existing_last_name"},{"type":"hidden","name":"existing_mother_name"},{"type":"hidden","name":"existing_gender"},{"type":"hidden","name":"existing_client_birth_date"},{"type":"hidden","name":"existing_client_reg_date"},{"type":"hidden","name":"existing_landmark"},{"type":"hidden","name":"existing_house_number"},{"type":"hidden","name":"existing_street"},{"type":"hidden","name":"existing_union_council"},{"type":"hidden","name":"existing_town"},{"type":"hidden","name":"existing_city_village"},{"type":"hidden","name":"existing_province"},{"type":"hidden","name":"existing_union_councilname"},{"type":"hidden","name":"existing_townname"},{"type":"hidden","name":"existing_city_villagename"},{"type":"hidden","name":"existing_provincename"},{"type":"hidden","name":"existing_ethnicity"},{"type":"hidden","name":"existing_program_client_id"},{"type":"hidden","name":"existing_epi_card_number"},{"type":"hidden","name":"existing_child_was_suffering_from_a_disease_at_birth"},{"type":"hidden","name":"existing_reminders_approval"},{"type":"hidden","name":"existing_contact_phone_number"},{"type":"hidden","name":"e_bcg"},{"type":"hidden","name":"e_opv0"},{"type":"hidden","name":"e_penta2"},{"type":"hidden","name":"e_penta1"},{"type":"hidden","name":"e_penta3"},{"type":"hidden","name":"e_opv1"},{"type":"hidden","name":"e_opv2"},{"type":"hidden","name":"e_opv3"},{"type":"hidden","name":"e_pcv1"},{"type":"hidden","name":"e_pcv2"},{"type":"hidden","name":"e_pcv3"},{"type":"hidden","name":"e_measles1"},{"type":"hidden","name":"e_measles2"},{"type":"hidden","name":"e_ipv"},{"type":"hidden","name":"provider_id"},{"instance":{"openmrs_entity_id":"location_id","openmrs_entity":"encounter"},"type":"hidden","name":"provider_location_id"},{"type":"hidden","name":"provider_location_name"},{"type":"note","name":"provider_location_note","label":{"Urdu":"شہر: ${provider_city} ; ٹائون: ${provider_town} ; یوسی: ${provider_uc} ; سینٹرکا نام: ${provider_location_name}","English":"City: ${provider_city} ; Town: ${provider_town} ; UC: ${provider_uc} ; Center Name: ${provider_location_name}","Roman Urdu":"Shehr: ${provider_city} ; Town: ${provider_town} ; UC: ${provider_uc} ; Center ka Naam: ${provider_location_name}"}},{"instance":{"openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"start","name":"start"},{"instance":{"openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"end","name":"end"},{"instance":{"openmrs_entity_id":"163286AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"today","name":"today"},{"instance":{"openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"deviceid","name":"deviceid"},{"instance":{"openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"subscriberid","name":"subscriberid"},{"instance":{"openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"simserial","name":"simserial"},{"instance":{"openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"phonenumber","name":"phonenumber"},{"bind":{"required":"yes"},"label":{"Urdu":"بچے کی پروگرام میں اندراج کی تاریخ: {existing_client_reg_date}$","Roman Urdu":"Bachay ki Program mai andraj ki tareekh: ${existing_client_reg_date}","English":"Child Registration date: ${existing_client_reg_date}"},"type":"note","name":"existing_client_reg_date_note","hint":{"Urdu":"بچے کو ویکسین لگنے کی تاریخ","Roman Urdu":"Bachay ko vaccine lagnay ki tareekh","English":"Date on which child was vaccinated"}},{"bind":{"required":"yes"},"type":"note","name":"program_client_id_note","label":{"Urdu":"کلائنٹ کی پروگرام ائی ڈی: {existing_program_client_id}$","Roman Urdu":"Client ki program ID: ${existing_program_client_id}","English":"Program Client ID: ${existing_program_client_id}"}},{"bind":{"jr:constraintMsg":{"Urdu":"نمبر آٹھ ہندسوں پر مشتمل ہونا چاہئے","English":"Number should be 8 digits","Roman Urdu":"Number 8 hindason par mushtamil hona chahiye"},"required":"yes","constraint":"string-length(.) = 8"},"type":"integer","instance":{"openmrs_entity_id":"EPI Card Number","openmrs_entity":"person_attribute"},"name":"epi_card_number","label":{"Urdu":"ای پی آئی کارڈ نمبر: {existing_epi_card_number}$","English":"EPI Card Number: ${existing_epi_card_number}","Roman Urdu":"EPI Card Number: ${existing_epi_card_number}"}},{"bind":{"required":"yes"},"type":"note","name":"first_name_note","label":{"Urdu":"نام: {existing_first_name}$","Roman Urdu":"Naam: ${existing_first_name}","English":"First Name: ${existing_first_name}"}},{"bind":{"required":"yes"},"type":"note","name":"last_name_note","label":{"Urdu":"والد کا نام: {existing_last_name}$","Roman Urdu":"Waalid ka naam: ${existing_last_name}","English":"Last name: ${existing_last_name}"}},{"bind":{"calculate":"int((${today} - ${existing_client_birth_date}) div 30.42)"},"type":"calculate","name":"child_age","instance":{"openmrs_entity_id":"154384AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"}},{"type":"note","name":"calc_dob_note","label":{"Urdu":"بچے کی تاریخ پیدائش: {existing_client_birth_date}$ ({child_age}$) مہینے","English":"Child dob: ${existing_client_birth_date} (${child_age}) months","Roman Urdu":"Bachay ki tareekh-e-paidaish: ${existing_client_birth_date} (${child_age}) mahinay"}},{"bind":{"required":"yes"},"type":"note","name":"gender_note","label":{"Urdu":"جنس: {existing_gender}$","Roman Urdu":"Jins:${existing_gender}","English":"Gender: ${existing_gender}"}},{"type":"note","name":"mother_name_note","label":{"Urdu":"ماں کا نام: {existing_mother_name}$","English":"Mother's Name: ${existing_mother_name}","Roman Urdu":"Maa ka naam: ${existing_mother_name}"}},{"bind":{"required":"yes"},"type":"note","name":"exisiting_ethnicity_note","label":{"Urdu":"قومیت: {existing_ethnicity}$","Roman Urdu":"Qomiat: ${existing_ethnicity}","English":"Ethnicity: ${existing_ethnicity}"}},{"type":"note","name":"address","label":{"Urdu":"موجودہ پتہ: ${existing_house_number}, ${existing_street}, ${existing_landmark}, ${existing_union_councilname}, ${existing_townname}, ${existing_city_villagename}, ${existing_provincename}","English":"Current Address: ${existing_house_number}, ${existing_street}, ${existing_landmark}, ${existing_union_councilname}, ${existing_townname}, ${existing_city_villagename}, ${existing_provincename}","Roman Urdu":"Mojooda Address: ${existing_house_number}, ${existing_street}, ${existing_landmark}, ${existing_union_councilname}, ${existing_townname}, ${existing_city_villagename}, ${existing_provincename}"}},{"label":{"Urdu":"کیا آپ کا گھر کا پتہ بدلا ہے؟","English":"Has your home address changed?","Roman Urdu":"Kya aap ka ghar ka pata badla hai?"},"type":"select one","children":[{"instance":{"openmrs_code":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"yes","label":{"Urdu":"ہاں","Roman Urdu":"Yes","English":"Yes"}},{"instance":{"openmrs_code":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"no","label":{"Urdu":"نہیں","Roman Urdu":"No","English":"No"}}],"name":"address_change"},{"control":{"appearance":"minimal"},"name":"province","default":"${provider_province}","bind":{"relevant":"selected(${address_change}, 'yes')","required":"yes"},"label":{"Urdu":"صوبہ","Roman Urdu":"Suba","English":"Province"},"instance":{"openmrs_entity":"person_address","openmrs_entity_id":"stateProvince","openmrs_entity_parent":"usual_residence"},"type":"select one","children":[{"name":"kpk","label":{"Urdu":"خیبر پختون خواہ","English":"Khyber Pakhtunkhwa","Roman Urdu":"Khyber Pakhtunkhwa"}},{"name":"sindh","label":{"Urdu":"سندھ","English":"Sindh","Roman Urdu":"Sindh"}},{"name":"balochistan","label":{"Urdu":"بلوچستان","English":"Balochistan","Roman Urdu":"Balochistan"}},{"name":"punjab","label":{"Urdu":"پنجاب","English":"Punjab","Roman Urdu":"Punjab"}},{"name":"gilgit_baltistan","label":{"Urdu":"گلگت بلتستان","English":"Gilgit Baltistan","Roman Urdu":"Gilgit Baltistan"}},{"name":"kashmir","label":{"Urdu":"کشمیر","English":"Kashmir","Roman Urdu":"Kashmir"}},{"name":"fata","label":{"Urdu":"فاٹا","English":"FATA","Roman Urdu":"FATA"}},{"name":"out_of_country","label":{"Urdu":"ملک سے باہر","English":"Out of Country","Roman Urdu":"Out of Country"}}]},{"control":{"appearance":"minimal"},"name":"city_village","choice_filter":"province=${province} or province='na'","default":"${provider_city}","bind":{"relevant":"selected(${address_change}, 'yes')","required":"yes"},"label":{"Urdu":"شہر","Roman Urdu":"Shehr","English":"City"},"itemset":"cities","instance":{"openmrs_entity":"person_address","openmrs_entity_id":"cityVillage","openmrs_entity_parent":"usual_residence"},"type":"select one"},{"control":{"appearance":"minimal"},"name":"town","choice_filter":"(province=${province} and city=${city_village} ) or city='na'","bind":{"relevant":"selected(${address_change}, 'yes')","required":"yes"},"label":{"Urdu":"ٹاٰئون/ قصبہ/ بستی","Roman Urdu":"Town / Qasbah / Basti","English":"Town"},"itemset":"towns","instance":{"openmrs_entity":"person_address","openmrs_entity_id":"town","openmrs_entity_parent":"usual_residence"},"type":"select one"},{"control":{"appearance":"minimal"},"name":"union_council","choice_filter":"(province=${province} and city=${city_village} and town=${town}) or town='na'","bind":{"relevant":"selected(${address_change}, 'yes')","required":"yes"},"label":{"Urdu":"یونین کونسل","Roman Urdu":"Union Council","English":"Union Council"},"itemset":"ucs","instance":{"openmrs_entity":"person_address","openmrs_entity_id":"subTown","openmrs_entity_parent":"usual_residence"},"type":"select one"},{"bind":{"relevant":"selected(${address_change}, 'yes')","required":"yes"},"type":"text","instance":{"openmrs_entity":"person_address","openmrs_entity_id":"house","openmrs_entity_parent":"usual_residence"},"name":"house_number","label":{"Urdu":"گھر کا نمبر","Roman Urdu":"Ghar ka number","English":"House Number"}},{"bind":{"relevant":"selected(${address_change}, 'yes')","required":"yes"},"type":"text","instance":{"openmrs_entity":"person_address","openmrs_entity_id":"street","openmrs_entity_parent":"usual_residence"},"name":"street","label":{"Urdu":"گلی/کالونی/محلہ","Roman Urdu":"Gali/Colony/Mohalla","English":"Street"}},{"bind":{"relevant":"selected(${address_change}, 'yes')","required":"yes"},"type":"text","instance":{"openmrs_entity":"person_address","openmrs_entity_id":"landmark","openmrs_entity_parent":"usual_residence"},"name":"landmark","label":{"Urdu":"گھر کے قریب کوئی مشہور جگہ","Roman Urdu":"Ghar ke qareeb koi mashoor jagah","English":"Land Mark"}},{"instance":{"openmrs_entity_id":"163277AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"geopoint","name":"center_gps","label":{"Urdu":"حاصل کردہ معلومات کی جگہ کے GPS کارڈینیٹس درج کریں","English":"Collect GPS coordinates of data entry location:","Roman Urdu":"Hasil karda malomaat ki jaga ke GPS coordinates darj karain"}},{"control":{"appearance":"minimal"},"bind":{"required":"yes"},"type":"note","name":"child_was_suffering_from_a_disease_at_birth_note","label":{"Urdu":"کیا بچہ پیدائش کے وقت کسی مرض میں مبتلا تھا؟ {existing_child_was_suffering_from_a_disease_at_birth}$","Roman Urdu":"Kya bacha pedaaish k waqt kissi marz mai mubtila tha? ${existing_child_was_suffering_from_a_disease_at_birth}","English":"Child was suffering from a disease at birth: ${existing_child_was_suffering_from_a_disease_at_birth}"}},{"instance":{"openmrs_entity_id":"163162AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"text","name":"aefi","label":{"Urdu":"حفاظتی ٹیکوں کے مضر اثرات","English":"The temporary side-effects of immunization shots","Roman Urdu":"Hifazati teekon ke muzr asraat"}},{"control":{"appearance":"minimal"},"name":"reminders_approval","bind":{"required":"yes"},"label":{"Urdu":"کیا آپ اپنے بچے کی اگلی ویکسین کی تاریخ کے لیے SMS موصول کرنا چاہتے ہیں؟ {existing_reminders_approval}$","English":"Are you willing to receive SMS reminders for your next visit? ${existing_reminders_approval}","Roman Urdu":"Kya aap apnay bachay ki agli vaccine ki tareekh ke liye SMS mausool karna chahtay hain? ${existing_reminders_approval}"},"instance":{"openmrs_entity_id":"163089AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"select one","children":[{"instance":{"openmrs_code":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"yes","label":{"Urdu":"ہاں","Roman Urdu":"Yes","English":"Yes"}},{"instance":{"openmrs_code":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"no","label":{"Urdu":"نہیں","Roman Urdu":"No","English":"No"}}]},{"bind":{"jr:constraintMsg":{"Urdu":"فون نمبر گیارہ ہندسوں پر مشتمل اور مندرجہ ذیل شکل میں ہونا چاہئے: *********03","English":"Phone number should be 11 digits in the following format: 03*********","Roman Urdu":"Phone number 11 hindason par mushtamil aur mundarja zail shakal main hona chahiey: 03*********"},"relevant":"${existing_reminders_approval}='yes'","constraint":"regex(., '^03[0-9]{9}$')"},"type":"text","instance":{"openmrs_entity_id":"159635AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"name":"contact_phone_number","label":{"Urdu":"موبائل نمبر:{existing_contact_phone_number}$","English":"Mobile Number: ${existing_contact_phone_number}","Roman Urdu":"Mobile Number: ${existing_contact_phone_number}"}},{"bind":{"calculate":"${existing_client_birth_date} + 42"},"type":"calculate","name":"six_weeks"},{"bind":{"calculate":"${existing_client_birth_date} + 70"},"type":"calculate","name":"ten_weeks"},{"bind":{"calculate":"${existing_client_birth_date} + 98"},"type":"calculate","name":"forteen_weeks"},{"bind":{"calculate":"${existing_client_birth_date} + 245"},"type":"calculate","name":"nine_months"},{"bind":{"calculate":"${existing_client_birth_date} + 458"},"type":"calculate","name":"fifteen_months"},{"control":{"appearance":"minimal"},"name":"vaccines","choice_filter":"name != if( ${e_bcg} != '', 'bcg' , '') and \nname != if( ${e_opv0} != '', 'opv0' , '') and \nname != if( ${e_penta1} != '', 'penta1' , '') and \nname != if( ${e_penta2} != '', 'penta2' , '') and \nname != if( ${e_penta3} != '', 'penta3' , '') and \nname != if( ${e_opv1} != '', 'opv1' , '') and \nname != if( ${e_opv2} != '', 'opv2' , '') and \nname != if( ${e_opv3} != '', 'opv3' , '') and \nname != if( ${e_pcv1} != '', 'pcv1' , '') and \nname != if( ${e_pcv2} != '', 'pcv2' , '') and \nname != if( ${e_pcv3} != '', 'pcv3' , '') and \nname != if( ${e_ipv} != '', 'ipv' , '') and \nname != if( ${e_measles1} != '', 'measles1' , '') and \nname != if( ${e_measles2} != '', 'measles2' , '')","label":{"Urdu":"پچھلی تاریخ جب کسی اور سینٹر پر ٹیکے لگواِے گیے یا قطرے پلائے گئے","Roman Urdu":"Pichli tareekh jab kissi aur center par teekay lagwaye gaye ya katray pilaey gaye","English":"Retro vaccines"},"itemset":"vaccines","instance":{"openmrs_entity":"concept","openmrs_entity_id":"984AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"1421AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"type":"select all that apply"},{"type":"group","children":[{"bind":{"jr:constraintMsg":{"Urdu":"حفاظتی ٹیکا ملنے کی تاریخ، بچے کی تاریخ پیدائش کے بعد اور آج کی تاریخ سے پہلے کی ہونی چاہیے","English":"The date of vaccination must be greater than the child's birthdate and less than today.","Roman Urdu":"Hifaazati teeka milnay ki tareekh, bachay ki tareekh-e-pedaaish ke baad aur aaj ki tareekh se phlay ki honi chahiye."},"relevant":"selected(${vaccines}, 'bcg')","constraint":".>= ${existing_client_birth_date} and .<=${today}"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"886AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"bcg_retro","label":{"Urdu":"بی سی جی","Roman Urdu":"BCG","English":"BCG"}},{"bind":{"jr:constraintMsg":{"Urdu":"حفاظتی ٹیکا ملنے کی تاریخ، بچے کی تاریخ پیدائش کے بعد اور آج کی تاریخ سے پہلے کی ہونی چاہیے","English":"The date of vaccination must be greater than the child's birthdate and less than today.","Roman Urdu":"Hifaazati teeka milnay ki tareekh, bachay ki tareekh-e-pedaaish ke baad aur aaj ki tareekh se phlay ki honi chahiye."},"relevant":"selected(${vaccines}, 'opv0')","constraint":".>= ${existing_client_birth_date} and .<=${today}"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"opv0_retro","label":{"Urdu":"او پی وی 0","Roman Urdu":"OPV 0","English":"OPV 0"}},{"bind":{"relevant":"selected(${vaccines}, 'opv0')","calculate":"0"},"type":"calculate","name":"opv0_dose","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"jr:constraintMsg":{"Urdu":"حفاظتی ٹیکا ملنے کی تاریخ، بچے کی تاریخ پیدائش کے بعد اور آج کی تاریخ سے پہلے کی ہونی چاہیے","English":"The date of vaccination must be greater than the child's birthdate and less than today.","Roman Urdu":"Hifaazati teeka milnay ki tareekh, bachay ki tareekh-e-pedaaish ke baad aur aaj ki tareekh se phlay ki honi chahiye."},"relevant":"selected(${vaccines}, 'pcv1')","constraint":".>= ${existing_client_birth_date} and .<=${today}"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"pcv1_retro","label":{"Urdu":"پی سی وی 1","Roman Urdu":"PCV1","English":"PCV1"}},{"bind":{"relevant":"selected(${vaccines}, 'pcv1')","calculate":"1"},"type":"calculate","name":"pcv1_dose","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"jr:constraintMsg":{"Urdu":"حفاظتی ٹیکا ملنے کی تاریخ، بچے کی تاریخ پیدائش کے بعد اور آج کی تاریخ سے پہلے کی ہونی چاہیے","English":"The date of vaccination must be greater than the child's birthdate and less than today.","Roman Urdu":"Hifaazati teeka milnay ki tareekh, bachay ki tareekh-e-pedaaish ke baad aur aaj ki tareekh se phlay ki honi chahiye."},"relevant":"selected(${vaccines}, 'opv1')","constraint":".>= ${existing_client_birth_date} and .<=${today}"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"opv1_retro","label":{"Urdu":"او پی وی1","Roman Urdu":"OPV 1","English":"OPV 1"}},{"bind":{"relevant":"selected(${vaccines}, 'opv1')","calculate":"1"},"type":"calculate","name":"opv1_dose","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"jr:constraintMsg":{"Urdu":"حفاظتی ٹیکا ملنے کی تاریخ، بچے کی تاریخ پیدائش کے بعد اور آج کی تاریخ سے پہلے کی ہونی چاہیے","English":"The date of vaccination must be greater than the child's birthdate and less than today.","Roman Urdu":"Hifaazati teeka milnay ki tareekh, bachay ki tareekh-e-pedaaish ke baad aur aaj ki tareekh se phlay ki honi chahiye."},"relevant":"selected(${vaccines}, 'penta11')","constraint":".>= ${existing_client_birth_date} and .<=${today}"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"penta11_retro","label":{"Urdu":"پینٹا ویلنٹ 1","Roman Urdu":"Pentavalent 1","English":"Pentavalent 1"}},{"bind":{"relevant":"selected(${vaccines}, 'penta11')","calculate":"1"},"type":"calculate","name":"penta11_dose","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"jr:constraintMsg":{"Urdu":"حفاظتی ٹیکا ملنے کی تاریخ، بچے کی تاریخ پیدائش کے بعد اور آج کی تاریخ سے پہلے کی ہونی چاہیے","English":"The date of vaccination must be greater than the child's birthdate and less than today.","Roman Urdu":"Hifaazati teeka milnay ki tareekh, bachay ki tareekh-e-pedaaish ke baad aur aaj ki tareekh se phlay ki honi chahiye."},"relevant":"selected(${vaccines}, 'pcv2')","constraint":".>= ${existing_client_birth_date} and .<=${today}"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"pcv2_retro","label":{"Urdu":"پی سی وی 2","Roman Urdu":"PCV2","English":"PCV2"}},{"bind":{"relevant":"selected(${vaccines}, 'pcv2')","calculate":"2"},"type":"calculate","name":"pcv2_dose","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"jr:constraintMsg":{"Urdu":"حفاظتی ٹیکا ملنے کی تاریخ، بچے کی تاریخ پیدائش کے بعد اور آج کی تاریخ سے پہلے کی ہونی چاہیے","English":"The date of vaccination must be greater than the child's birthdate and less than today.","Roman Urdu":"Hifaazati teeka milnay ki tareekh, bachay ki tareekh-e-pedaaish ke baad aur aaj ki tareekh se phlay ki honi chahiye."},"relevant":"selected(${vaccines}, 'opv2')","constraint":".>= ${existing_client_birth_date} and .<=${today}"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"opv2_retro","label":{"Urdu":"او پی وی 2","Roman Urdu":"OPV 2","English":"OPV 2"}},{"bind":{"relevant":"selected(${vaccines}, 'opv2')","calculate":"2"},"type":"calculate","name":"opv2_dose","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"jr:constraintMsg":{"Urdu":"حفاظتی ٹیکا ملنے کی تاریخ، بچے کی تاریخ پیدائش کے بعد اور آج کی تاریخ سے پہلے کی ہونی چاہیے","English":"The date of vaccination must be greater than the child's birthdate and less than today.","Roman Urdu":"Hifaazati teeka milnay ki tareekh, bachay ki tareekh-e-pedaaish ke baad aur aaj ki tareekh se phlay ki honi chahiye."},"relevant":"selected(${vaccines}, 'penta12')","constraint":".>= ${existing_client_birth_date} and .<=${today}"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"penta12_retro","label":{"Urdu":"پینٹا ویلنٹ 2","Roman Urdu":"Pentavalent 2","English":"Pentavalent 2"}},{"bind":{"relevant":"selected(${vaccines}, 'penta12')","calculate":"2"},"type":"calculate","name":"penta12_dose","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"jr:constraintMsg":{"Urdu":"حفاظتی ٹیکا ملنے کی تاریخ، بچے کی تاریخ پیدائش کے بعد اور آج کی تاریخ سے پہلے کی ہونی چاہیے","English":"The date of vaccination must be greater than the child's birthdate and less than today.","Roman Urdu":"Hifaazati teeka milnay ki tareekh, bachay ki tareekh-e-pedaaish ke baad aur aaj ki tareekh se phlay ki honi chahiye."},"relevant":"selected(${vaccines}, 'pcv3')","constraint":".>= ${existing_client_birth_date} and .<=${today}"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"pcv3_retro","label":{"Urdu":"پی سی وی 3","Roman Urdu":"PCV3","English":"PCV3"}},{"bind":{"relevant":"selected(${vaccines}, 'penta12')","calculate":"3"},"type":"calculate","name":"pcv3_dose","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"jr:constraintMsg":{"Urdu":"حفاظتی ٹیکا ملنے کی تاریخ، بچے کی تاریخ پیدائش کے بعد اور آج کی تاریخ سے پہلے کی ہونی چاہیے","English":"The date of vaccination must be greater than the child's birthdate and less than today.","Roman Urdu":"Hifaazati teeka milnay ki tareekh, bachay ki tareekh-e-pedaaish ke baad aur aaj ki tareekh se phlay ki honi chahiye."},"relevant":"selected(${vaccines}, 'opv3')","constraint":".>= ${existing_client_birth_date} and .<=${today}"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"opv3_retro","label":{"Urdu":"او پی وی3","Roman Urdu":"OPV 3","English":"OPV 3"}},{"bind":{"relevant":"selected(${vaccines}, 'opv3')","calculate":"3"},"type":"calculate","name":"opv3_dose","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"jr:constraintMsg":{"Urdu":"حفاظتی ٹیکا ملنے کی تاریخ، بچے کی تاریخ پیدائش کے بعد اور آج کی تاریخ سے پہلے کی ہونی چاہیے","English":"The date of vaccination must be greater than the child's birthdate and less than today.","Roman Urdu":"Hifaazati teeka milnay ki tareekh, bachay ki tareekh-e-pedaaish ke baad aur aaj ki tareekh se phlay ki honi chahiye."},"relevant":"selected(${vaccines}, 'penta13')","constraint":".>= ${existing_client_birth_date} and .<=${today}"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"penta13_retro","label":{"Urdu":"پینٹا ویلنٹ 3","Roman Urdu":"Pentavalent 3","English":"Pentavalent 3"}},{"bind":{"relevant":"selected(${vaccines}, 'penta13')","calculate":"3"},"type":"calculate","name":"penta13_dose","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"jr:constraintMsg":{"Urdu":"حفاظتی ٹیکا ملنے کی تاریخ، بچے کی تاریخ پیدائش کے بعد اور آج کی تاریخ سے پہلے کی ہونی چاہیے","English":"The date of vaccination must be greater than the child's birthdate and less than today.","Roman Urdu":"Hifaazati teeka milnay ki tareekh, bachay ki tareekh-e-pedaaish ke baad aur aaj ki tareekh se phlay ki honi chahiye."},"relevant":"selected(${vaccines}, 'ipv')","constraint":".>= ${existing_client_birth_date} and .<=${today}"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"1422AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"ipv_retro","label":{"Urdu":"آئی پی وی","Roman Urdu":"IPV","English":"IPV"}},{"bind":{"jr:constraintMsg":{"Urdu":"حفاظتی ٹیکا ملنے کی تاریخ، بچے کی تاریخ پیدائش کے بعد اور آج کی تاریخ سے پہلے کی ہونی چاہیے","English":"The date of vaccination must be greater than the child's birthdate and less than today.","Roman Urdu":"Hifaazati teeka milnay ki tareekh, bachay ki tareekh-e-pedaaish ke baad aur aaj ki tareekh se phlay ki honi chahiye."},"relevant":"selected(${vaccines}, 'measles1')","constraint":".>= ${existing_client_birth_date} and .<=${today}"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"36AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"measles1_retro","label":{"Urdu":"خسرہ 1","Roman Urdu":"Measles 1","English":"Measles 1"}},{"bind":{"relevant":"selected(${vaccines}, 'measles1')","calculate":"1"},"type":"calculate","name":"measles1_dose","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"36AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"jr:constraintMsg":{"Urdu":"حفاظتی ٹیکا ملنے کی تاریخ، بچے کی تاریخ پیدائش کے بعد اور آج کی تاریخ سے پہلے کی ہونی چاہیے","English":"The date of vaccination must be greater than the child's birthdate and less than today.","Roman Urdu":"Hifaazati teeka milnay ki tareekh, bachay ki tareekh-e-pedaaish ke baad aur aaj ki tareekh se phlay ki honi chahiye."},"relevant":"selected(${vaccines}, 'measles2')","constraint":".>= ${existing_client_birth_date} and .<=${today}"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"36AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"measles2_retro","label":{"Urdu":"خسرہ 2","Roman Urdu":"Measles2","English":"Measles2"}},{"bind":{"relevant":"selected(${vaccines}, 'measles2')","calculate":"2"},"type":"calculate","name":"measles2_dose","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"36AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}}],"name":"vaccines_group"},{"control":{"appearance":"minimal"},"name":"vaccines_2","choice_filter":"name != if( ${e_bcg} != '', 'bcg' , '') and \nname != if( ${e_opv0} != '', 'opv0' , '') and \nname != if( ${e_penta2} != '', 'penta2' , '') and \nname != if( ${e_penta1} != '', 'penta1' , '') and \nname != if( ${e_penta3} != '', 'penta3' , '') and \nname != if( ${e_opv1} != '', 'opv1' , '') and \nname != if( ${e_opv2} != '', 'opv2' , '') and \nname != if( ${e_opv3} != '', 'opv3' , '') and \nname != if( ${e_pcv1} != '', 'pcv1' , '') and \nname != if( ${e_pcv2} != '', 'pcv2' , '') and \nname != if( ${e_pcv3} != '', 'pcv3' , '') and \nname != if( ${e_measles1} != '', 'measles1' , '') and \nname != if( ${e_measles2} != '', 'measles2' , '') and \nname != if(selected(${vaccines}, 'bcg'), 'bcg', '') and \nname != if(selected(${vaccines}, 'opv0'), 'opv0', '') and \nname != if(selected(${vaccines}, 'penta1'), 'penta1', '') and \nname != if(selected(${vaccines}, 'opv1'), 'opv1', '') and \nname != if(selected(${vaccines}, 'pcv1'), 'pcv1', '') and \nname != if(selected(${vaccines}, 'penta2'), 'penta2', '') and \nname != if(selected(${vaccines}, 'opv2'), 'opv2', '') and \nname != if(selected(${vaccines}, 'pcv2'), 'pcv2', '') and \nname != if(selected(${vaccines}, 'penta3'), 'penta3', '') and \nname != if(selected(${vaccines}, 'opv3'), 'opv3', '') and \nname != if(selected(${vaccines}, 'ipv'), 'ipv', '') and \nname != if(selected(${vaccines}, 'measles1'), 'measles1', '') and \nname != if(selected(${vaccines}, 'measles2'), 'measles2', '')","bind":{"required":"yes","constraint":"if(selected(${vaccines_2}, 'bcg') or selected(${vaccines_2}, 'opv0') , .>= ${existing_client_birth_date} and .<=${today}, if(selected(${vaccines_2}, 'opv1') or selected(${vaccines_2}, 'penta11'), .>= ${six_weeks} and .<=${today}, if(selected(${vaccines_2}, 'opv2') or selected(${vaccines_2}, 'penta12'), .>=${ten_weeks} and .<=${today}, if(selected(${vaccines_2}, 'opv3') or selected(${vaccines_2}, 'penta13'), .>=${forteen_weeks} and .<=${today}, if(selected(${vaccines_2}, 'measles1'), .>=${nine_months} and .<=${today}, if(selected(${vaccines_2}, 'measles2'), .>= ${fifteen_months} and .<=${today}))))))"},"label":{"Urdu":"آج کون کون سی ویکسین دی گئی ہیں؟","Roman Urdu":"Aaj kon kon si vaccine di gai hain?","English":"Vaccines administered"},"itemset":"vaccines","instance":{"openmrs_entity":"concept","openmrs_entity_id":"984AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"1441AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"type":"select all that apply"},{"name":"vaccination_date","default":"${today}","bind":{"required":"yes","constraint":"if(selected(${vaccines_2}, 'bcg') or selected(${vaccines_2}, 'opv0') , .>= ${existing_client_birth_date} and .<=${today}, if(selected(${vaccines_2}, 'opv1') or selected(${vaccines_2}, 'penta11'), .>= ${six_weeks} and .<=${today}, if(selected(${vaccines_2}, 'opv2') or selected(${vaccines_2}, 'penta12'), .>=${ten_weeks} and .<=${today}, if(selected(${vaccines_2}, 'opv3') or selected(${vaccines_2}, 'penta13'), .>=${forteen_weeks} and .<=${today}, if(selected(${vaccines_2}, 'measles1'), .>=${nine_months} and .<=${today}, if(selected(${vaccines_2}, 'measles2'), .>= ${fifteen_months} and .<=${today}))))))"},"label":{"Urdu":"تاریخ","English":"Vaccination date","Roman Urdu":"Tareekh"},"instance":{"openmrs_entity_id":"encounter_date","openmrs_entity":"encounter"},"type":"date"},{"bind":{"calculate":"if(selected(${vaccines_2}, 'bcg'),${vaccination_date},'')"},"type":"calculate","name":"bcg","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"886AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"calculate":"if(selected(${vaccines_2}, 'opv0'),${vaccination_date},'')"},"type":"calculate","name":"opv0","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines_2}, 'opv0')","calculate":"0"},"type":"calculate","name":"opv0_dose_today","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"calculate":"if(selected(${vaccines_2}, 'pcv1'),${vaccination_date},'')"},"type":"calculate","name":"pcv1","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines_2}, 'pcv1')","calculate":"1"},"type":"calculate","name":"pcv1_dose_today","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"calculate":"if(selected(${vaccines_2}, 'opv1'),${vaccination_date},'')"},"type":"calculate","name":"opv1","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines_2}, 'opv1')","calculate":"1"},"type":"calculate","name":"opv1_dose_today","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"calculate":"if(selected(${vaccines_2}, 'penta11'),${vaccination_date},'')"},"type":"calculate","name":"penta11","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines_2}, 'penta11')","calculate":"1"},"type":"calculate","name":"penta11_dose_today","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"calculate":"if(selected(${vaccines_2}, 'pcv2'),${vaccination_date},'')"},"type":"calculate","name":"pcv2","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines_2}, 'pcv2')","calculate":"2"},"type":"calculate","name":"pcv2_dose_today","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"calculate":"if(selected(${vaccines_2}, 'opv2'),${vaccination_date},'')"},"type":"calculate","name":"opv2","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines_2}, 'opv2')","calculate":"2"},"type":"calculate","name":"opv2_dose_today","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"calculate":"if(selected(${vaccines_2}, 'penta12'),${vaccination_date},'')"},"type":"calculate","name":"penta12","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines_2}, 'penta12')","calculate":"2"},"type":"calculate","name":"penta12_dose_today","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"calculate":"if(selected(${vaccines_2}, 'pcv3'),${vaccination_date},'')"},"type":"calculate","name":"pcv3","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines_2}, 'pcv3')","calculate":"3"},"type":"calculate","name":"pcv3_dose_today","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"calculate":"if(selected(${vaccines_2}, 'opv3'),${vaccination_date},'')"},"type":"calculate","name":"opv3","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines_2}, 'opv3')","calculate":"3"},"type":"calculate","name":"opv3_dose_today","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"calculate":"if(selected(${vaccines_2}, 'penta13'),${vaccination_date},'')"},"type":"calculate","name":"penta13","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines_2}, 'penta13')","calculate":"3"},"type":"calculate","name":"penta13_dose_today","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines}, 'ipv')","calculate":"if(selected(${vaccines_2}, 'ipv'),${vaccination_date},'')"},"type":"calculate","name":"ipv","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"1422AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"calculate":"if(selected(${vaccines_2}, 'measles1'),${vaccination_date},'')"},"type":"calculate","name":"measles1","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"36AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines_2}, 'measles1')","calculate":"1"},"type":"calculate","name":"measles1_dose_today","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"36AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"calculate":"if(selected(${vaccines_2}, 'measles2'),${vaccination_date},'')"},"type":"calculate","name":"measles2","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"36AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines_2}, 'measles2')","calculate":"2"},"type":"calculate","name":"measles2_dose_today","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"36AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"control":{"bodyless":true},"type":"group","children":[{"bind":{"readonly":"true()","calculate":"concat('uuid:', uuid())"},"type":"calculate","name":"instanceID"}],"name":"meta"}]} \ No newline at end of file diff --git a/opensrp-connector/bin/src/test/resources/form/offsite_child_followup/form.xml b/opensrp-connector/bin/src/test/resources/form/offsite_child_followup/form.xml new file mode 100644 index 0000000000..2042695a14 --- /dev/null +++ b/opensrp-connector/bin/src/test/resources/form/offsite_child_followup/form.xml @@ -0,0 +1,1560 @@ +
+ + +

دوسرے سینٹر میں رجسٹرڈ بچّوں کا فالو اپ رجسٹر برائے ٹیکاجات - Off Site Child Follow Up Vaccination Register

+
+
+ + کیا آپ کا گھر کا پتہ بدلا ہے؟ + Has your home address changed? + + Kya aap ka ghar ka pata badla hai? +
+ + +
+
+
+ + + + + + + + + + + + + +
+ + + diff --git a/opensrp-connector/bin/src/test/resources/form/offsite_child_followup/form_definition.json b/opensrp-connector/bin/src/test/resources/form/offsite_child_followup/form_definition.json new file mode 100644 index 0000000000..04a8d9a538 --- /dev/null +++ b/opensrp-connector/bin/src/test/resources/form/offsite_child_followup/form_definition.json @@ -0,0 +1,466 @@ +{ + "form_data_definition_version" : "1", + "form" : { + "bind_type" : "pkchild", + "default_bind_path" : "/model/instance/Offsite_Child_Vaccination_Followup/", + "fields" : [ { + "name" : "id", + "shouldLoadValue" : true + }, { + "name" : "provider_uc", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/provider_uc", + "shouldLoadValue" : true + }, { + "name" : "provider_town", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/provider_town", + "shouldLoadValue" : true + }, { + "name" : "provider_city", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/provider_city", + "shouldLoadValue" : true + }, { + "name" : "provider_province", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/provider_province", + "shouldLoadValue" : true + }, { + "name" : "existing_first_name", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/existing_first_name", + "shouldLoadValue" : true + }, { + "name" : "existing_last_name", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/existing_last_name", + "shouldLoadValue" : true + }, { + "name" : "existing_mother_name", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/existing_mother_name", + "shouldLoadValue" : true + }, { + "name" : "existing_gender", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/existing_gender", + "shouldLoadValue" : true + }, { + "name" : "existing_birth_date", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/existing_client_birth_date", + "shouldLoadValue" : true + }, { + "name" : "existing_client_reg_date", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/existing_client_reg_date", + "shouldLoadValue" : true + }, { + "name" : "existing_landmark", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/existing_landmark", + "shouldLoadValue" : true + }, { + "name" : "existing_house_number", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/existing_house_number", + "shouldLoadValue" : true + }, { + "name" : "existing_street", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/existing_street", + "shouldLoadValue" : true + }, { + "name" : "existing_union_council", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/existing_union_council", + "shouldLoadValue" : true + }, { + "name" : "existing_town", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/existing_town", + "shouldLoadValue" : true + }, { + "name" : "existing_city_village", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/existing_city_village", + "shouldLoadValue" : true + }, { + "name" : "existing_province", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/existing_province", + "shouldLoadValue" : true + }, { + "name" : "existing_union_councilname", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/existing_union_councilname", + "shouldLoadValue" : true + }, { + "name" : "existing_townname", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/existing_townname", + "shouldLoadValue" : true + }, { + "name" : "existing_city_villagename", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/existing_city_villagename", + "shouldLoadValue" : true + }, { + "name" : "existing_provincename", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/existing_provincename", + "shouldLoadValue" : true + }, { + "name" : "existing_ethnicity", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/existing_ethnicity", + "shouldLoadValue" : true + }, { + "name" : "existing_program_client_id", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/existing_program_client_id", + "shouldLoadValue" : true + }, { + "name" : "existing_epi_card_number", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/existing_epi_card_number", + "shouldLoadValue" : true + }, { + "name" : "existing_child_was_suffering_from_a_disease_at_birth", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/existing_child_was_suffering_from_a_disease_at_birth", + "shouldLoadValue" : true + }, { + "name" : "existing_reminders_approval", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/existing_reminders_approval", + "shouldLoadValue" : true + }, { + "name" : "existing_contact_phone_number", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/existing_contact_phone_number", + "shouldLoadValue" : true + }, { + "name" : "e_bcg", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/e_bcg", + "shouldLoadValue" : true + }, { + "name" : "e_opv0", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/e_opv0", + "shouldLoadValue" : true + }, { + "name" : "e_penta2", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/e_penta2", + "shouldLoadValue" : true + }, { + "name" : "e_penta1", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/e_penta1", + "shouldLoadValue" : true + }, { + "name" : "e_penta3", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/e_penta3", + "shouldLoadValue" : true + }, { + "name" : "e_opv1", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/e_opv1", + "shouldLoadValue" : true + }, { + "name" : "e_opv2", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/e_opv2", + "shouldLoadValue" : true + }, { + "name" : "e_opv3", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/e_opv3", + "shouldLoadValue" : true + }, { + "name" : "e_pcv1", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/e_pcv1", + "shouldLoadValue" : true + }, { + "name" : "e_pcv2", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/e_pcv2", + "shouldLoadValue" : true + }, { + "name" : "e_pcv3", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/e_pcv3", + "shouldLoadValue" : true + }, { + "name" : "e_measles1", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/e_measles1", + "shouldLoadValue" : true + }, { + "name" : "e_measles2", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/e_measles2", + "shouldLoadValue" : true + }, { + "name" : "e_ipv", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/e_ipv", + "shouldLoadValue" : true + }, { + "name" : "provider_id", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/provider_id", + "shouldLoadValue" : true + }, { + "name" : "provider_location_id", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/provider_location_id", + "shouldLoadValue" : true + }, { + "name" : "provider_location_name", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/provider_location_name", + "shouldLoadValue" : true + }, { + "name" : "provider_location_note", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/provider_location_note" + }, { + "name" : "start", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/start" + }, { + "name" : "end", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/end" + }, { + "name" : "today", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/today" + }, { + "name" : "deviceid", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/deviceid" + }, { + "name" : "subscriberid", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/subscriberid" + }, { + "name" : "simserial", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/simserial" + }, { + "name" : "phonenumber", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/phonenumber" + }, { + "name" : "existing_client_reg_date_note", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/existing_client_reg_date_note" + }, { + "name" : "program_client_id_note", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/program_client_id_note" + }, { + "name" : "epi_card_number", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/epi_card_number" + }, { + "name" : "first_name_note", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/first_name_note" + }, { + "name" : "last_name_note", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/last_name_note" + }, { + "name" : "child_age", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/child_age" + }, { + "name" : "calc_dob_note", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/calc_dob_note" + }, { + "name" : "gender_note", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/gender_note" + }, { + "name" : "mother_name_note", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/mother_name_note" + }, { + "name" : "exisiting_ethnicity_note", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/exisiting_ethnicity_note" + }, { + "name" : "address", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/address" + }, { + "name" : "address_change", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/address_change" + }, { + "name" : "province", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/province" + }, { + "name" : "city_village", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/city_village" + }, { + "name" : "town", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/town" + }, { + "name" : "union_council", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/union_council" + }, { + "name" : "house_number", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/house_number" + }, { + "name" : "street", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/street" + }, { + "name" : "landmark", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/landmark" + }, { + "name" : "center_gps", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/center_gps" + }, { + "name" : "child_was_suffering_from_a_disease_at_birth_note", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/child_was_suffering_from_a_disease_at_birth_note" + }, { + "name" : "aefi", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/aefi" + }, { + "name" : "reminders_approval", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/reminders_approval" + }, { + "name" : "contact_phone_number", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/contact_phone_number" + }, { + "name" : "six_weeks", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/six_weeks" + }, { + "name" : "ten_weeks", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/ten_weeks" + }, { + "name" : "forteen_weeks", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/forteen_weeks" + }, { + "name" : "nine_months", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/nine_months" + }, { + "name" : "fifteen_months", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/fifteen_months" + }, { + "name" : "vaccines", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/vaccines" + }, { + "name" : "bcg_retro", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/vaccines_group/bcg_retro" + }, { + "name" : "opv0_retro", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/vaccines_group/opv0_retro" + }, { + "name" : "opv0_dose", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/vaccines_group/opv0_dose" + }, { + "name" : "pcv1_retro", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/vaccines_group/pcv1_retro" + }, { + "name" : "pcv1_dose", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/vaccines_group/pcv1_dose" + }, { + "name" : "opv1_retro", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/vaccines_group/opv1_retro" + }, { + "name" : "opv1_dose", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/vaccines_group/opv1_dose" + }, { + "name" : "penta11_retro", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/vaccines_group/penta11_retro" + }, { + "name" : "penta11_dose", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/vaccines_group/penta11_dose" + }, { + "name" : "pcv2_retro", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/vaccines_group/pcv2_retro" + }, { + "name" : "pcv2_dose", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/vaccines_group/pcv2_dose" + }, { + "name" : "opv2_retro", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/vaccines_group/opv2_retro" + }, { + "name" : "opv2_dose", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/vaccines_group/opv2_dose" + }, { + "name" : "penta12_retro", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/vaccines_group/penta12_retro" + }, { + "name" : "penta12_dose", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/vaccines_group/penta12_dose" + }, { + "name" : "pcv3_retro", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/vaccines_group/pcv3_retro" + }, { + "name" : "pcv3_dose", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/vaccines_group/pcv3_dose" + }, { + "name" : "opv3_retro", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/vaccines_group/opv3_retro" + }, { + "name" : "opv3_dose", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/vaccines_group/opv3_dose" + }, { + "name" : "penta13_retro", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/vaccines_group/penta13_retro" + }, { + "name" : "penta13_dose", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/vaccines_group/penta13_dose" + }, { + "name" : "ipv_retro", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/vaccines_group/ipv_retro" + }, { + "name" : "measles1_retro", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/vaccines_group/measles1_retro" + }, { + "name" : "measles1_dose", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/vaccines_group/measles1_dose" + }, { + "name" : "measles2_retro", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/vaccines_group/measles2_retro" + }, { + "name" : "measles2_dose", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/vaccines_group/measles2_dose" + }, { + "name" : "vaccines_2", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/vaccines_2" + }, { + "name" : "vaccination_date", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/vaccination_date" + }, { + "name" : "bcg", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/bcg" + }, { + "name" : "opv0", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/opv0" + }, { + "name" : "opv0_dose_today", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/opv0_dose_today" + }, { + "name" : "pcv1", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/pcv1" + }, { + "name" : "pcv1_dose_today", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/pcv1_dose_today" + }, { + "name" : "opv1", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/opv1" + }, { + "name" : "opv1_dose_today", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/opv1_dose_today" + }, { + "name" : "penta11", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/penta11" + }, { + "name" : "penta11_dose_today", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/penta11_dose_today" + }, { + "name" : "pcv2", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/pcv2" + }, { + "name" : "pcv2_dose_today", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/pcv2_dose_today" + }, { + "name" : "opv2", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/opv2" + }, { + "name" : "opv2_dose_today", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/opv2_dose_today" + }, { + "name" : "penta12", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/penta12" + }, { + "name" : "penta12_dose_today", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/penta12_dose_today" + }, { + "name" : "pcv3", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/pcv3" + }, { + "name" : "pcv3_dose_today", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/pcv3_dose_today" + }, { + "name" : "opv3", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/opv3" + }, { + "name" : "opv3_dose_today", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/opv3_dose_today" + }, { + "name" : "penta13", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/penta13" + }, { + "name" : "penta13_dose_today", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/penta13_dose_today" + }, { + "name" : "ipv", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/ipv" + }, { + "name" : "measles1", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/measles1" + }, { + "name" : "measles1_dose_today", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/measles1_dose_today" + }, { + "name" : "measles2", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/measles2" + }, { + "name" : "measles2_dose_today", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/measles2_dose_today" + }, { + "name" : "instanceID", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/meta/instanceID" + } ] + } +} \ No newline at end of file diff --git a/opensrp-connector/bin/src/test/resources/form/offsite_child_followup/model.xml b/opensrp-connector/bin/src/test/resources/form/offsite_child_followup/model.xml new file mode 100644 index 0000000000..93436952d8 --- /dev/null +++ b/opensrp-connector/bin/src/test/resources/form/offsite_child_followup/model.xml @@ -0,0 +1,1685 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + ${provider_province} + ${provider_city} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${today} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + static_instance-provinces-0 + kpk + + + static_instance-provinces-1 + sindh + + + static_instance-provinces-2 + balochistan + + + static_instance-provinces-3 + punjab + + + static_instance-provinces-4 + gilgit_baltistan + + + static_instance-provinces-5 + kashmir + + + static_instance-provinces-6 + fata + + + static_instance-provinces-7 + out_of_country + + + + + + + static_instance-ucs-0 + sindh + karachi + korangi + bilal_colony + + + static_instance-ucs-1 + sindh + karachi + korangi + nasir_colony + + + static_instance-ucs-2 + sindh + karachi + korangi + chakra_goth + + + static_instance-ucs-3 + sindh + karachi + korangi + mustafa_taj_colony + + + static_instance-ucs-4 + sindh + karachi + korangi + hundred_quarters + + + static_instance-ucs-5 + sindh + karachi + korangi + gulzar_colony + + + static_instance-ucs-6 + sindh + karachi + korangi + korangi_sector_33 + + + static_instance-ucs-7 + sindh + karachi + korangi + zaman_town + + + static_instance-ucs-8 + sindh + karachi + korangi + hasrat_mohani_colony + + + static_instance-ucs-9 + sindh + karachi + baldia + gulshan_e_ghazi + + + static_instance-ucs-10 + sindh + karachi + baldia + ittehad_town + + + static_instance-ucs-11 + sindh + karachi + baldia + islam_nagar + + + static_instance-ucs-12 + sindh + karachi + baldia + nai_abadi + + + static_instance-ucs-13 + sindh + karachi + baldia + saeedabad + + + static_instance-ucs-14 + sindh + karachi + baldia + muslim_mujahid_colony + + + static_instance-ucs-15 + sindh + karachi + baldia + muhajir_camp + + + static_instance-ucs-16 + sindh + karachi + baldia + rasheedabad + + + static_instance-ucs-17 + sindh + karachi + bin_qasim + ibrahim_hyderi + + + static_instance-ucs-18 + sindh + karachi + bin_qasim + rehri + + + static_instance-ucs-19 + sindh + karachi + bin_qasim + cattle_colony + + + static_instance-ucs-20 + sindh + karachi + bin_qasim + qaidabad + + + static_instance-ucs-21 + sindh + karachi + bin_qasim + landhi_colony + + + static_instance-ucs-22 + sindh + karachi + bin_qasim + gulshan_e_hadeed + + + static_instance-ucs-23 + sindh + karachi + bin_qasim + gaghar + + + static_instance-ucs-24 + sindh + karachi + gadap + murad_memon_goth + + + static_instance-ucs-25 + sindh + karachi + gadap + darsano_chana + + + static_instance-ucs-26 + sindh + karachi + gadap + gujro + + + static_instance-ucs-27 + sindh + karachi + gadap + songal + + + static_instance-ucs-28 + sindh + karachi + gadap + maymarabad + + + static_instance-ucs-29 + sindh + karachi + gadap + yousuf_goth + + + static_instance-ucs-30 + sindh + karachi + gadap + manghopir + + + static_instance-ucs-31 + sindh + karachi + gulberg + azizabad + + + static_instance-ucs-32 + sindh + karachi + gulberg + karimabad + + + static_instance-ucs-33 + sindh + karachi + gulberg + aisha_manzil + + + static_instance-ucs-34 + sindh + karachi + gulberg + ancholi + + + static_instance-ucs-35 + sindh + karachi + gulberg + naseerabad + + + static_instance-ucs-36 + sindh + karachi + gulberg + yaseenabad + + + static_instance-ucs-37 + sindh + karachi + gulberg + water_pump + + + static_instance-ucs-38 + sindh + karachi + gulberg + shafiq_mill_colony + + + static_instance-ucs-39 + sindh + karachi + gulshan + delhi_mercantile_society + + + static_instance-ucs-40 + sindh + karachi + gulshan + civic_centre + + + static_instance-ucs-41 + sindh + karachi + gulshan + pir_ilahi_buksh_colony + + + static_instance-ucs-42 + sindh + karachi + gulshan + essa_nagri + + + static_instance-ucs-43 + sindh + karachi + gulshan + gulshan_e_iqbal + + + static_instance-ucs-44 + sindh + karachi + gulshan + gillani_railway_station + + + static_instance-ucs-45 + sindh + karachi + gulshan + shanti_nagar + + + static_instance-ucs-46 + sindh + karachi + gulshan + jamali_colony + + + static_instance-ucs-47 + sindh + karachi + gulshan + gulshan_e_iqbal_ii + + + static_instance-ucs-48 + sindh + karachi + gulshan + pehlwan_goth + + + static_instance-ucs-49 + sindh + karachi + gulshan + matrovil_colony + + + static_instance-ucs-50 + sindh + karachi + gulshan + gulzar_e_hijri + + + static_instance-ucs-51 + sindh + karachi + gulshan + safooran_goth + + + static_instance-ucs-52 + sindh + karachi + jamshed + akhtar_colony + + + static_instance-ucs-53 + sindh + karachi + jamshed + manzoor_colony + + + static_instance-ucs-54 + sindh + karachi + jamshed + azam_basti + + + static_instance-ucs-55 + sindh + karachi + jamshed + chanesar_goth + + + static_instance-ucs-56 + sindh + karachi + jamshed + mahmudabad + + + static_instance-ucs-57 + sindh + karachi + jamshed + pechs + + + static_instance-ucs-58 + sindh + karachi + jamshed + pechs_ii + + + static_instance-ucs-59 + sindh + karachi + jamshed + jut_line + + + static_instance-ucs-60 + sindh + karachi + jamshed + central_jacob_lines + + + static_instance-ucs-61 + sindh + karachi + jamshed + jamshed_quarters + + + static_instance-ucs-62 + sindh + karachi + jamshed + garden_east + + + static_instance-ucs-63 + sindh + karachi + jamshed + soldier_bazar + + + static_instance-ucs-64 + sindh + karachi + jamshed + pakistan_quarters + + + static_instance-ucs-65 + sindh + karachi + kiamari + bhutta_village + + + static_instance-ucs-66 + sindh + karachi + kiamari + sultanabad + + + static_instance-ucs-67 + sindh + karachi + kiamari + kiamari_uc + + + static_instance-ucs-68 + sindh + karachi + kiamari + baba_bhit + + + static_instance-ucs-69 + sindh + karachi + kiamari + machar_colony + + + static_instance-ucs-70 + sindh + karachi + kiamari + maripur + + + static_instance-ucs-71 + sindh + karachi + kiamari + shershah + + + static_instance-ucs-72 + sindh + karachi + kiamari + gabo_pat + + + static_instance-ucs-73 + sindh + karachi + landhi + muzafarabad + + + static_instance-ucs-74 + sindh + karachi + landhi + muslimabad + + + static_instance-ucs-75 + sindh + karachi + landhi + dawood_chowrangi + + + static_instance-ucs-76 + sindh + karachi + landhi + moinabad + + + static_instance-ucs-77 + sindh + karachi + landhi + sharafi_goth + + + static_instance-ucs-78 + sindh + karachi + landhi + bhutto_nagar + + + static_instance-ucs-79 + sindh + karachi + landhi + khawaja_ajmeer_colony + + + static_instance-ucs-80 + sindh + karachi + landhi + landhi_uc + + + static_instance-ucs-81 + sindh + karachi + landhi + awami_colony + + + static_instance-ucs-82 + sindh + karachi + landhi + burmee_colony + + + static_instance-ucs-83 + sindh + karachi + landhi + korangi_uc + + + static_instance-ucs-84 + sindh + karachi + landhi + sherabad + + + static_instance-ucs-85 + sindh + karachi + liaquatabad + rizvia_society + + + static_instance-ucs-86 + sindh + karachi + liaquatabad + firdous_colony + + + static_instance-ucs-87 + sindh + karachi + liaquatabad + super_market + + + static_instance-ucs-88 + sindh + karachi + liaquatabad + dak_khana + + + static_instance-ucs-89 + sindh + karachi + liaquatabad + qasimabad + + + static_instance-ucs-90 + sindh + karachi + liaquatabad + bandhani_colony + + + static_instance-ucs-91 + sindh + karachi + liaquatabad + sharifabad + + + static_instance-ucs-92 + sindh + karachi + liaquatabad + commercial_area + + + static_instance-ucs-93 + sindh + karachi + liaquatabad + mujahid_colony + + + static_instance-ucs-94 + sindh + karachi + liaquatabad + nazimabad + + + static_instance-ucs-95 + sindh + karachi + liaquatabad + abbasi_shaheed + + + static_instance-ucs-96 + sindh + karachi + lyari + agra_taj_colony + + + static_instance-ucs-97 + sindh + karachi + lyari + daryaabad + + + static_instance-ucs-98 + sindh + karachi + lyari + nawabad + + + static_instance-ucs-99 + sindh + karachi + lyari + khada_memon_society + + + static_instance-ucs-100 + sindh + karachi + lyari + baghdadi + + + static_instance-ucs-101 + sindh + karachi + lyari + shah_baig_line + + + static_instance-ucs-102 + sindh + karachi + lyari + bihar_colony + + + static_instance-ucs-103 + sindh + karachi + lyari + ragiwara + + + static_instance-ucs-104 + sindh + karachi + lyari + singo_line + + + static_instance-ucs-105 + sindh + karachi + lyari + chakiwara + + + static_instance-ucs-106 + sindh + karachi + lyari + allama_iqbal_colony + + + static_instance-ucs-107 + sindh + karachi + malir + model_colony + + + static_instance-ucs-108 + sindh + karachi + malir + kala_board + + + static_instance-ucs-109 + sindh + karachi + malir + saudabad + + + static_instance-ucs-110 + sindh + karachi + malir + khokhra_par + + + static_instance-ucs-111 + sindh + karachi + malir + jafar_e_tayyar + + + static_instance-ucs-112 + sindh + karachi + malir + gharibabad + + + static_instance-ucs-113 + sindh + karachi + malir + ghazi_brohi_goth + + + static_instance-ucs-114 + sindh + karachi + new_karachi + kalyana + + + static_instance-ucs-115 + sindh + karachi + new_karachi + sir_syed_colony + + + static_instance-ucs-116 + sindh + karachi + new_karachi + fatima_jinnah_colony + + + static_instance-ucs-117 + sindh + karachi + new_karachi + godhra + + + static_instance-ucs-118 + sindh + karachi + new_karachi + abu_zar_ghaffari + + + static_instance-ucs-119 + sindh + karachi + new_karachi + hakim_ahsan + + + static_instance-ucs-120 + sindh + karachi + new_karachi + madina_colony + + + static_instance-ucs-121 + sindh + karachi + new_karachi + faisal_colony + + + static_instance-ucs-122 + sindh + karachi + new_karachi + khamiso_goth + + + static_instance-ucs-123 + sindh + karachi + new_karachi + mustufa_colony + + + static_instance-ucs-124 + sindh + karachi + new_karachi + khawaja_ajmeer_nagri + + + static_instance-ucs-125 + sindh + karachi + new_karachi + gulshan_e_saeed + + + static_instance-ucs-126 + sindh + karachi + new_karachi + shah_nawaz_bhutto_colony + + + static_instance-ucs-127 + sindh + karachi + north_nazimabad + paposh_nagar + + + static_instance-ucs-128 + sindh + karachi + north_nazimabad + pahar_ganj + + + static_instance-ucs-129 + sindh + karachi + north_nazimabad + khandu_goth + + + static_instance-ucs-130 + sindh + karachi + north_nazimabad + hyderi + + + static_instance-ucs-131 + sindh + karachi + north_nazimabad + sakhi_hassan + + + static_instance-ucs-132 + sindh + karachi + north_nazimabad + farooq_e_azam + + + static_instance-ucs-133 + sindh + karachi + north_nazimabad + nusrat_bhutto_colony + + + static_instance-ucs-134 + sindh + karachi + north_nazimabad + shadman_town + + + static_instance-ucs-135 + sindh + karachi + north_nazimabad + buffer_zone + + + static_instance-ucs-136 + sindh + karachi + north_nazimabad + buffer_zone_ii + + + static_instance-ucs-137 + sindh + karachi + orangi + mominabad + + + static_instance-ucs-138 + sindh + karachi + orangi + haryana_colony + + + static_instance-ucs-139 + sindh + karachi + orangi + hanifabad + + + static_instance-ucs-140 + sindh + karachi + orangi + mohammad_nagar + + + static_instance-ucs-141 + sindh + karachi + orangi + madina_colony_orangi + + + static_instance-ucs-142 + sindh + karachi + orangi + ghaziabad + + + static_instance-ucs-143 + sindh + karachi + orangi + chisti_nagar + + + static_instance-ucs-144 + sindh + karachi + orangi + bilal_colony_orangi + + + static_instance-ucs-145 + sindh + karachi + orangi + iqbal_baloch_colony + + + static_instance-ucs-146 + sindh + karachi + orangi + ghabool_town + + + static_instance-ucs-147 + sindh + karachi + orangi + data_nagar + + + static_instance-ucs-148 + sindh + karachi + orangi + mujahidabad + + + static_instance-ucs-149 + sindh + karachi + orangi + baloch_goth + + + static_instance-ucs-150 + sindh + karachi + saddar + old_haji_camp + + + static_instance-ucs-151 + sindh + karachi + saddar + garden + + + static_instance-ucs-152 + sindh + karachi + saddar + kharadar + + + static_instance-ucs-153 + sindh + karachi + saddar + city_railway_colony + + + static_instance-ucs-154 + sindh + karachi + saddar + nanak_wara + + + static_instance-ucs-155 + sindh + karachi + saddar + gazdarabad + + + static_instance-ucs-156 + sindh + karachi + saddar + millat_nagar_islam_pura + + + static_instance-ucs-157 + sindh + karachi + saddar + saddar_uc + + + static_instance-ucs-158 + sindh + karachi + saddar + civil_line + + + static_instance-ucs-159 + sindh + karachi + saddar + clifton + + + static_instance-ucs-160 + sindh + karachi + saddar + kehkashan + + + static_instance-ucs-161 + sindh + karachi + shah_faisal + natha_khan_goth + + + static_instance-ucs-162 + sindh + karachi + shah_faisal + pak_sadat_colony + + + static_instance-ucs-163 + sindh + karachi + shah_faisal + drigh_colony + + + static_instance-ucs-164 + sindh + karachi + shah_faisal + raita_plot + + + static_instance-ucs-165 + sindh + karachi + shah_faisal + moria_khan_goth + + + static_instance-ucs-166 + sindh + karachi + shah_faisal + rafa_e_aam_society + + + static_instance-ucs-167 + sindh + karachi + shah_faisal + al_falah_society + + + static_instance-ucs-168 + sindh + karachi + site + pak_colony + + + static_instance-ucs-169 + sindh + karachi + site + old_golimar + + + static_instance-ucs-170 + sindh + karachi + site + jahanabad + + + static_instance-ucs-171 + sindh + karachi + site + metrovil + + + static_instance-ucs-172 + sindh + karachi + site + bhawani_chali + + + static_instance-ucs-173 + sindh + karachi + site + frontier_colony + + + static_instance-ucs-174 + sindh + karachi + site + banaras_colony + + + static_instance-ucs-175 + sindh + karachi + site + qasba_colony + + + static_instance-ucs-176 + sindh + karachi + site + islamia_colony + + + static_instance-ucs-177 + na + na + na + other + + + static_instance-ucs-178 + na + na + na + not_applicable + + + + + + + static_instance-gender-0 + male + + + static_instance-gender-1 + female + + + static_instance-gender-2 + transgender + + + + + + + static_instance-vaccines-0 + bcg + + + static_instance-vaccines-1 + opv0 + + + static_instance-vaccines-2 + pcv1 + + + static_instance-vaccines-3 + opv1 + + + static_instance-vaccines-4 + penta11 + + + static_instance-vaccines-5 + pcv2 + + + static_instance-vaccines-6 + opv2 + + + static_instance-vaccines-7 + penta12 + + + static_instance-vaccines-8 + pcv3 + + + static_instance-vaccines-9 + opv3 + + + static_instance-vaccines-10 + penta13 + + + static_instance-vaccines-11 + ipv + + + static_instance-vaccines-12 + measles1 + + + static_instance-vaccines-13 + measles2 + + + + + + + static_instance-towns-0 + sindh + karachi + korangi + + + static_instance-towns-1 + sindh + karachi + landhi + + + static_instance-towns-2 + sindh + karachi + baldia + + + static_instance-towns-3 + sindh + karachi + bin_qasim + + + static_instance-towns-4 + sindh + karachi + gadap + + + static_instance-towns-5 + sindh + karachi + gulberg + + + static_instance-towns-6 + sindh + karachi + gulshan + + + static_instance-towns-7 + sindh + karachi + jamshed + + + static_instance-towns-8 + sindh + karachi + kiamari + + + static_instance-towns-9 + sindh + karachi + liaquatabad + + + static_instance-towns-10 + sindh + karachi + lyari + + + static_instance-towns-11 + sindh + karachi + malir + + + static_instance-towns-12 + sindh + karachi + new_karachi + + + static_instance-towns-13 + sindh + karachi + north_nazimabad + + + static_instance-towns-14 + sindh + karachi + orangi + + + static_instance-towns-15 + sindh + karachi + saddar + + + static_instance-towns-16 + sindh + karachi + shah_faisal + + + static_instance-towns-17 + sindh + karachi + site + + + static_instance-towns-18 + na + na + other + + + static_instance-towns-19 + na + na + not_applicable + + + + + + + static_instance-cities-0 + sindh + karachi + + + static_instance-cities-1 + punjab + hafizabad + + + static_instance-cities-2 + punjab + muzaffargarh + + + static_instance-cities-3 + na + other + + + static_instance-cities-4 + na + not_applicable + + + + + + + static_instance-yes_no-0 + yes + + + static_instance-yes_no-1 + no + + + + diff --git a/opensrp-connector/bin/src/test/resources/form/offsite_woman_followup/form.json b/opensrp-connector/bin/src/test/resources/form/offsite_woman_followup/form.json new file mode 100644 index 0000000000..c5c29a415b --- /dev/null +++ b/opensrp-connector/bin/src/test/resources/form/offsite_woman_followup/form.json @@ -0,0 +1 @@ +{"name":"Offsite_Woman_Followup_Form","title":"دوسرے سینٹر میں رجسٹرڈ خواتین فالواپ رجسٹر - Off Site Woman Follow Up Form","sms_keyword":"offsite_woman_followup_form","default_language":"English","choices":{"provinces":[{"name":"kpk","label":{"Urdu":"خیبر پختون خواہ","English":"Khyber Pakhtunkhwa","Roman Urdu":"Khyber Pakhtunkhwa"}},{"name":"sindh","label":{"Urdu":"سندھ","English":"Sindh","Roman Urdu":"Sindh"}},{"name":"balochistan","label":{"Urdu":"بلوچستان","English":"Balochistan","Roman Urdu":"Balochistan"}},{"name":"punjab","label":{"Urdu":"پنجاب","English":"Punjab","Roman Urdu":"Punjab"}},{"name":"gilgit_baltistan","label":{"Urdu":"گلگت بلتستان","English":"Gilgit Baltistan","Roman Urdu":"Gilgit Baltistan"}},{"name":"kashmir","label":{"Urdu":"کشمیر","English":"Kashmir","Roman Urdu":"Kashmir"}},{"name":"fata","label":{"Urdu":"فاٹا","English":"FATA","Roman Urdu":"FATA"}},{"name":"out_of_country","label":{"Urdu":"ملک سے باہر","English":"Out of Country","Roman Urdu":"Mulk se baahir"}}],"ucs":[{"province":"sindh","city":"karachi","town":"korangi","name":"bilal_colony","label":{"Urdu":"بلال کالونی","Roman Urdu":"Bilal Colony","English":"Bilal Colony"}},{"province":"sindh","city":"karachi","town":"korangi","name":"nasir_colony","label":{"Urdu":"ناصر کالونی","Roman Urdu":"Nasir Colony","English":"Nasir Colony"}},{"province":"sindh","city":"karachi","town":"korangi","name":"chakra_goth","label":{"Urdu":"چکرا گوٹھ","Roman Urdu":"Chakra Goth","English":"Chakra Goth"}},{"province":"sindh","city":"karachi","town":"korangi","name":"mustafa_taj_colony","label":{"Urdu":"مصطفی تاج کالونی","Roman Urdu":"Mustafa Taj Colony","English":"Mustafa Taj Colony"}},{"province":"sindh","city":"karachi","town":"korangi","name":"hundred_quarters","label":{"Urdu":"ہنڈریڈ کوارٹر","Roman Urdu":"Hundred Quarters","English":"Hundred Quarters"}},{"province":"sindh","city":"karachi","town":"korangi","name":"gulzar_colony","label":{"Urdu":"گلزار کالونی","Roman Urdu":"Gulzar Colony","English":"Gulzar Colony"}},{"province":"sindh","city":"karachi","town":"korangi","name":"korangi_sector_33","label":{"Urdu":"کورنگی سیکٹر 33","Roman Urdu":"Korangi Sector 33","English":"Korangi Sector 33"}},{"province":"sindh","city":"karachi","town":"korangi","name":"zaman_town","label":{"Urdu":"زمان ٹاوَن","Roman Urdu":"Zaman Town","English":"Zaman Town"}},{"province":"sindh","city":"karachi","town":"korangi","name":"hasrat_mohani_colony","label":{"Urdu":"حسرت موہانی کالونی","Roman Urdu":"Hasrat Mohani Colony","English":"Hasrat Mohani Colony"}},{"province":"sindh","city":"karachi","town":"baldia","name":"gulshan_e_ghazi","label":{"Urdu":"گلشن غازی","Roman Urdu":"Gulshan-e-Ghazi","English":"Gulshan-e-Ghazi"}},{"province":"sindh","city":"karachi","town":"baldia","name":"ittehad_town","label":{"Urdu":"اتحاد ٹاوَن","Roman Urdu":"Ittehad Town","English":"Ittehad Town"}},{"province":"sindh","city":"karachi","town":"baldia","name":"islam_nagar","label":{"Urdu":"اسلام نگر","Roman Urdu":"Islam Nagar","English":"Islam Nagar"}},{"province":"sindh","city":"karachi","town":"baldia","name":"nai_abadi","label":{"Urdu":"نئی آبادی","Roman Urdu":"Nai Abadi","English":"Nai Abadi"}},{"province":"sindh","city":"karachi","town":"baldia","name":"saeedabad","label":{"Urdu":"سعید آباد","Roman Urdu":"Saeedabad","English":"Saeedabad"}},{"province":"sindh","city":"karachi","town":"baldia","name":"muslim_mujahid_colony","label":{"Urdu":"مسلم مجاہد کالونی","Roman Urdu":"Muslim Mujahid Colony","English":"Muslim Mujahid Colony"}},{"province":"sindh","city":"karachi","town":"baldia","name":"muhajir_camp","label":{"Urdu":"مہاجر کیمپ","Roman Urdu":"Muhajir Camp","English":"Muhajir Camp"}},{"province":"sindh","city":"karachi","town":"baldia","name":"rasheedabad","label":{"Urdu":"رشید آباد","Roman Urdu":"Rasheedabad","English":"Rasheedabad"}},{"province":"sindh","city":"karachi","town":"bin_qasim","name":"ibrahim_hyderi","label":{"Urdu":"ابراہیم حیدری","Roman Urdu":"Ibrahim Hyderi","English":"Ibrahim Hyderi"}},{"province":"sindh","city":"karachi","town":"bin_qasim","name":"rehri","label":{"Urdu":"رہڑی","Roman Urdu":"Rehri","English":"Rehri"}},{"province":"sindh","city":"karachi","town":"bin_qasim","name":"cattle_colony","label":{"Urdu":"کیٹل کالونی","Roman Urdu":"Cattle Colony","English":"Cattle Colony"}},{"province":"sindh","city":"karachi","town":"bin_qasim","name":"qaidabad","label":{"Urdu":"قائدآباد","Roman Urdu":"Qaidabad","English":"Qaidabad"}},{"province":"sindh","city":"karachi","town":"bin_qasim","name":"landhi_colony","label":{"Urdu":"لانڈھی کالونی","Roman Urdu":"Landhi Colony","English":"Landhi Colony"}},{"province":"sindh","city":"karachi","town":"bin_qasim","name":"gulshan_e_hadeed","label":{"Urdu":"گلشن حدید","Roman Urdu":"Gulshan-e-Hadeed","English":"Gulshan-e-Hadeed"}},{"province":"sindh","city":"karachi","town":"bin_qasim","name":"gaghar","label":{"Urdu":"گگر","Roman Urdu":"Gaghar","English":"Gaghar"}},{"province":"sindh","city":"karachi","town":"gadap","name":"murad_memon_goth","label":{"Urdu":"مراد میمن گوٹھ","Roman Urdu":"Murad Memon Goth","English":"Murad Memon Goth"}},{"province":"sindh","city":"karachi","town":"gadap","name":"darsano_chana","label":{"Urdu":"درشانو شنو","Roman Urdu":"Darsano Chana","English":"Darsano Chana"}},{"province":"sindh","city":"karachi","town":"gadap","name":"gujro","label":{"Urdu":"گجرو","Roman Urdu":"Gujro","English":"Gujro"}},{"province":"sindh","city":"karachi","town":"gadap","name":"songal","label":{"Urdu":"سنگل","Roman Urdu":"Songal","English":"Songal"}},{"province":"sindh","city":"karachi","town":"gadap","name":"maymarabad","label":{"Urdu":"معمار آباد","Roman Urdu":"Maymarabad","English":"Maymarabad"}},{"province":"sindh","city":"karachi","town":"gadap","name":"yousuf_goth","label":{"Urdu":"یوسف گوٹھ","Roman Urdu":"Yousuf Goth","English":"Yousuf Goth"}},{"province":"sindh","city":"karachi","town":"gadap","name":"manghopir","label":{"Urdu":"منگھوپیر","Roman Urdu":"Manghopir","English":"Manghopir"}},{"province":"sindh","city":"karachi","town":"gulberg","name":"azizabad","label":{"Urdu":"عزیز آباد","Roman Urdu":"Azizabad","English":"Azizabad"}},{"province":"sindh","city":"karachi","town":"gulberg","name":"karimabad","label":{"Urdu":"کریم آباد","Roman Urdu":"Karimabad","English":"Karimabad"}},{"province":"sindh","city":"karachi","town":"gulberg","name":"aisha_manzil","label":{"Urdu":"عائشہ منزل","Roman Urdu":"Aisha Manzil","English":"Aisha Manzil"}},{"province":"sindh","city":"karachi","town":"gulberg","name":"ancholi","label":{"Urdu":"انچولی","Roman Urdu":"Ancholi","English":"Ancholi"}},{"province":"sindh","city":"karachi","town":"gulberg","name":"naseerabad","label":{"Urdu":"نصیرآباد","Roman Urdu":"Naseerabad","English":"Naseerabad"}},{"province":"sindh","city":"karachi","town":"gulberg","name":"yaseenabad","label":{"Urdu":"یاسین آباد","Roman Urdu":"Yaseenabad","English":"Yaseenabad"}},{"province":"sindh","city":"karachi","town":"gulberg","name":"water_pump","label":{"Urdu":"واٹرپمپ","Roman Urdu":"Water Pump","English":"Water Pump"}},{"province":"sindh","city":"karachi","town":"gulberg","name":"shafiq_mill_colony","label":{"Urdu":"شفیق مل کالونی","Roman Urdu":"Shafiq Mill Colony","English":"Shafiq Mill Colony"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"delhi_mercantile_society","label":{"Urdu":"دہلی مرچنٹائل سوسائٹی","Roman Urdu":"Delhi Mercantile Society","English":"Delhi Mercantile Society"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"civic_centre","label":{"Urdu":"سوک سینٹر","Roman Urdu":"Civic Centre","English":"Civic Centre"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"pir_ilahi_buksh_colony","label":{"Urdu":"پیر الہی بخش کالونی","Roman Urdu":"Pir Ilahi Buksh Colony","English":"Pir Ilahi Buksh Colony"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"essa_nagri","label":{"Urdu":"عیسی نگری","Roman Urdu":"Essa Nagri","English":"Essa Nagri"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"gulshan_e_iqbal","label":{"Urdu":"گلشن اقبال","Roman Urdu":"Gulshan-e-Iqbal","English":"Gulshan-e-Iqbal"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"gillani_railway_station","label":{"Urdu":"گیلانی ریلوے اسٹیشن","Roman Urdu":"Gillani Railway Station","English":"Gillani Railway Station"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"shanti_nagar","label":{"Urdu":"شانتی نگر","Roman Urdu":"Shanti Nagar","English":"Shanti Nagar"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"jamali_colony","label":{"Urdu":"جمالی کالونی","Roman Urdu":"Jamali Colony","English":"Jamali Colony"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"gulshan_e_iqbal_ii","label":{"Urdu":"گلشن اقبال 2","Roman Urdu":"Gulshan-e-Iqbal II","English":"Gulshan-e-Iqbal II"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"pehlwan_goth","label":{"Urdu":"پہلوان گوٹھ","Roman Urdu":"Pehlwan Goth","English":"Pehlwan Goth"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"matrovil_colony","label":{"Urdu":"میٹروویل کالونی","Roman Urdu":"Matrovil Colony","English":"Matrovil Colony"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"gulzar_e_hijri","label":{"Urdu":"گلزار ہجری","Roman Urdu":"Gulzar-e-Hijri","English":"Gulzar-e-Hijri"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"safooran_goth","label":{"Urdu":"صفورا گوٹھ","Roman Urdu":"Safooran Goth","English":"Safooran Goth"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"akhtar_colony","label":{"Urdu":"اختر کالونی","Roman Urdu":"Akhtar Colony","English":"Akhtar Colony"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"manzoor_colony","label":{"Urdu":"منظور کالونی","Roman Urdu":"Manzoor Colony","English":"Manzoor Colony"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"azam_basti","label":{"Urdu":"اعظم بستی","Roman Urdu":"Azam Basti","English":"Azam Basti"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"chanesar_goth","label":{"Urdu":"چنیسر گوٹھ","Roman Urdu":"Chanesar Goth","English":"Chanesar Goth"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"mahmudabad","label":{"Urdu":"محمودآباد","Roman Urdu":"Mahmudabad","English":"Mahmudabad"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"pechs","label":{"Urdu":"پی۔ای۔سی۔ایچ۔ایس","Roman Urdu":"P.E.C.H.S.","English":"P.E.C.H.S."}},{"province":"sindh","city":"karachi","town":"jamshed","name":"pechs_ii","label":{"Urdu":"پی۔ای۔سی۔ایچ۔ایس 2","Roman Urdu":"P.E.C.H.S. II","English":"P.E.C.H.S. II"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"jut_line","label":{"Urdu":"جٹ لائن","Roman Urdu":"Jut Line","English":"Jut Line"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"central_jacob_lines","label":{"Urdu":"سینٹرل جیکب لائن","Roman Urdu":"Central Jacob Lines","English":"Central Jacob Lines"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"jamshed_quarters","label":{"Urdu":"جمشید کوارٹر","Roman Urdu":"Jamshed Quarters","English":"Jamshed Quarters"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"garden_east","label":{"Urdu":"گارڈن ایسٹ","Roman Urdu":"Garden East","English":"Garden East"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"soldier_bazar","label":{"Urdu":"سولجر بازار","Roman Urdu":"Soldier Bazar","English":"Soldier Bazar"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"pakistan_quarters","label":{"Urdu":"پاکستان کوارٹر","Roman Urdu":"Pakistan Quarters","English":"Pakistan Quarters"}},{"province":"sindh","city":"karachi","town":"kiamari","name":"bhutta_village","label":{"Urdu":"بھٹا ولیج","Roman Urdu":"Bhutta Village","English":"Bhutta Village"}},{"province":"sindh","city":"karachi","town":"kiamari","name":"sultanabad","label":{"Urdu":"سلطان آباد","Roman Urdu":"Sultanabad","English":"Sultanabad"}},{"province":"sindh","city":"karachi","town":"kiamari","name":"kiamari_uc","label":{"Urdu":"کیماری یوسی","Roman Urdu":"Kiamari UC","English":"Kiamari UC"}},{"province":"sindh","city":"karachi","town":"kiamari","name":"baba_bhit","label":{"Urdu":"بابا بھٹ","Roman Urdu":"Baba Bhit","English":"Baba Bhit"}},{"province":"sindh","city":"karachi","town":"kiamari","name":"machar_colony","label":{"Urdu":"مچھر کالونی","Roman Urdu":"Machar Colony","English":"Machar Colony"}},{"province":"sindh","city":"karachi","town":"kiamari","name":"maripur","label":{"Urdu":"ماڑی پور","Roman Urdu":"Maripur","English":"Maripur"}},{"province":"sindh","city":"karachi","town":"kiamari","name":"shershah","label":{"Urdu":"شیرشاہ","Roman Urdu":"SherShah","English":"SherShah"}},{"province":"sindh","city":"karachi","town":"kiamari","name":"gabo_pat","label":{"Urdu":"گابو پٹ","Roman Urdu":"Gabo Pat","English":"Gabo Pat"}},{"province":"sindh","city":"karachi","town":"landhi","name":"muzafarabad","label":{"Urdu":"مظفرآباد","Roman Urdu":"Muzafarabad","English":"Muzafarabad"}},{"province":"sindh","city":"karachi","town":"landhi","name":"muslimabad","label":{"Urdu":"مسلم آباد","Roman Urdu":"Muslimabad","English":"Muslimabad"}},{"province":"sindh","city":"karachi","town":"landhi","name":"dawood_chowrangi","label":{"Urdu":"داوَد چورنگی","Roman Urdu":"Dawood Chowrangi","English":"Dawood Chowrangi"}},{"province":"sindh","city":"karachi","town":"landhi","name":"moinabad","label":{"Urdu":"معین آباد","Roman Urdu":"Moinabad","English":"Moinabad"}},{"province":"sindh","city":"karachi","town":"landhi","name":"sharafi_goth","label":{"Urdu":"شرافی گوٹھ","Roman Urdu":"Sharafi Goth","English":"Sharafi Goth"}},{"province":"sindh","city":"karachi","town":"landhi","name":"bhutto_nagar","label":{"Urdu":"بھٹو نگر","Roman Urdu":"Bhutto Nagar","English":"Bhutto Nagar"}},{"province":"sindh","city":"karachi","town":"landhi","name":"khawaja_ajmeer_colony","label":{"Urdu":"خواجہ اجمیر کالونی","Roman Urdu":"Khawaja Ajmeer Colony","English":"Khawaja Ajmeer Colony"}},{"province":"sindh","city":"karachi","town":"landhi","name":"landhi_uc","label":{"Urdu":"لانڈھی یوسی","Roman Urdu":"Landhi UC","English":"Landhi UC"}},{"province":"sindh","city":"karachi","town":"landhi","name":"awami_colony","label":{"Urdu":"عوامی کالونی","Roman Urdu":"Awami Colony","English":"Awami Colony"}},{"province":"sindh","city":"karachi","town":"landhi","name":"burmee_colony","label":{"Urdu":"برمی کالونی","Roman Urdu":"Burmee Colony","English":"Burmee Colony"}},{"province":"sindh","city":"karachi","town":"landhi","name":"korangi_uc","label":{"Urdu":"کورنگی یوسی","Roman Urdu":"Korangi UC","English":"Korangi UC"}},{"province":"sindh","city":"karachi","town":"landhi","name":"sherabad","label":{"Urdu":"شیرآباد","Roman Urdu":"Sherabad","English":"Sherabad"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"rizvia_society","label":{"Urdu":"رضویہ سوسائٹی","Roman Urdu":"Rizvia Society","English":"Rizvia Society"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"firdous_colony","label":{"Urdu":"فردوس کالونی","Roman Urdu":"Firdous Colony","English":"Firdous Colony"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"super_market","label":{"Urdu":"سپر مارکیٹ","Roman Urdu":"Super Market","English":"Super Market"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"dak_khana","label":{"Urdu":"دک کھانہ","Roman Urdu":"Dak Khana","English":"Dak Khana"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"qasimabad","label":{"Urdu":"قاسم آباد","Roman Urdu":"Qasimabad","English":"Qasimabad"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"bandhani_colony","label":{"Urdu":"بندھانی کالونی","Roman Urdu":"Bandhani Colony","English":"Bandhani Colony"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"sharifabad","label":{"Urdu":"شریف آباد","Roman Urdu":"Sharifabad","English":"Sharifabad"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"commercial_area","label":{"Urdu":"کمرشل ایریا","Roman Urdu":"Commercial Area","English":"Commercial Area"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"mujahid_colony","label":{"Urdu":"مجاہد کالونی","Roman Urdu":"Mujahid Colony","English":"Mujahid Colony"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"nazimabad","label":{"Urdu":"ناظم آباد","Roman Urdu":"Nazimabad","English":"Nazimabad"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"abbasi_shaheed","label":{"Urdu":"عباسی شہید","Roman Urdu":"Abbasi Shaheed","English":"Abbasi Shaheed"}},{"province":"sindh","city":"karachi","town":"lyari","name":"agra_taj_colony","label":{"Urdu":"آگرہ تاج کالونی","Roman Urdu":"Agra Taj Colony","English":"Agra Taj Colony"}},{"province":"sindh","city":"karachi","town":"lyari","name":"daryaabad","label":{"Urdu":"دریاآباد","Roman Urdu":"Daryaabad","English":"Daryaabad"}},{"province":"sindh","city":"karachi","town":"lyari","name":"nawabad","label":{"Urdu":"نواآباد","Roman Urdu":"Nawabad","English":"Nawabad"}},{"province":"sindh","city":"karachi","town":"lyari","name":"khada_memon_society","label":{"Urdu":"خدا- میمن- سوساَٹی","Roman Urdu":"Khada Memon Society","English":"Khada Memon Society"}},{"province":"sindh","city":"karachi","town":"lyari","name":"baghdadi","label":{"Urdu":"بغدادی","Roman Urdu":"Baghdadi","English":"Baghdadi"}},{"province":"sindh","city":"karachi","town":"lyari","name":"shah_baig_line","label":{"Urdu":"شاھ باغ لائن","Roman Urdu":"Shah Baig Line","English":"Shah Baig Line"}},{"province":"sindh","city":"karachi","town":"lyari","name":"bihar_colony","label":{"Urdu":"بہار کالونی","Roman Urdu":"Bihar Colony","English":"Bihar Colony"}},{"province":"sindh","city":"karachi","town":"lyari","name":"ragiwara","label":{"Urdu":"راگی واڑا","Roman Urdu":"Ragiwara","English":"Ragiwara"}},{"province":"sindh","city":"karachi","town":"lyari","name":"singo_line","label":{"Urdu":"سنگولائن","Roman Urdu":"Singo Line","English":"Singo Line"}},{"province":"sindh","city":"karachi","town":"lyari","name":"chakiwara","label":{"Urdu":"چاکی واڑا","Roman Urdu":"Chakiwara","English":"Chakiwara"}},{"province":"sindh","city":"karachi","town":"lyari","name":"allama_iqbal_colony","label":{"Urdu":"علامہ اقبال کالونی","Roman Urdu":"Allama Iqbal Colony","English":"Allama Iqbal Colony"}},{"province":"sindh","city":"karachi","town":"malir","name":"model_colony","label":{"Urdu":"موڈل کالونی","Roman Urdu":"Model Colony","English":"Model Colony"}},{"province":"sindh","city":"karachi","town":"malir","name":"kala_board","label":{"Urdu":"کالا بورڈ","Roman Urdu":"Kala Board","English":"Kala Board"}},{"province":"sindh","city":"karachi","town":"malir","name":"saudabad","label":{"Urdu":"سعودآباد","Roman Urdu":"Saudabad","English":"Saudabad"}},{"province":"sindh","city":"karachi","town":"malir","name":"khokhra_par","label":{"Urdu":"کھوکھرا پار","Roman Urdu":"Khokhra Par","English":"Khokhra Par"}},{"province":"sindh","city":"karachi","town":"malir","name":"jafar_e_tayyar","label":{"Urdu":"جعفر تیار","Roman Urdu":"Jafar-e-Tayyar","English":"Jafar-e-Tayyar"}},{"province":"sindh","city":"karachi","town":"malir","name":"gharibabad","label":{"Urdu":"غریب آباد","Roman Urdu":"Gharibabad","English":"Gharibabad"}},{"province":"sindh","city":"karachi","town":"malir","name":"ghazi_brohi_goth","label":{"Urdu":"غازی بروہی گوٹھ","Roman Urdu":"Ghazi Brohi Goth","English":"Ghazi Brohi Goth"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"kalyana","label":{"Urdu":"کالیانہ","Roman Urdu":"Kalyana","English":"Kalyana"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"sir_syed_colony","label":{"Urdu":"سر سید کالونی","Roman Urdu":"Sir Syed Colony","English":"Sir Syed Colony"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"fatima_jinnah_colony","label":{"Urdu":"فاطمہ جناح کالونی","Roman Urdu":"Fatima Jinnah Colony","English":"Fatima Jinnah Colony"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"godhra","label":{"Urdu":"گودھرا","Roman Urdu":"Godhra","English":"Godhra"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"abu_zar_ghaffari","label":{"Urdu":"ابو زر غفاری","Roman Urdu":"Abu Zar Ghaffari","English":"Abu Zar Ghaffari"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"hakim_ahsan","label":{"Urdu":"حاکم احسان","Roman Urdu":"Hakim Ahsan","English":"Hakim Ahsan"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"madina_colony","label":{"Urdu":"مدینہ کالونی","Roman Urdu":"Madina Colony","English":"Madina Colony"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"faisal_colony","label":{"Urdu":"فیصل کالونی","Roman Urdu":"Faisal Colony","English":"Faisal Colony"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"khamiso_goth","label":{"Urdu":"خمیسو گوٹھ","Roman Urdu":"Khamiso Goth","English":"Khamiso Goth"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"mustufa_colony","label":{"Urdu":"مصطفی کالونی","Roman Urdu":"Mustufa Colony","English":"Mustufa Colony"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"khawaja_ajmeer_nagri","label":{"Urdu":"خواجہ اجمیر نگری","Roman Urdu":"Khawaja Ajmeer Nagri","English":"Khawaja Ajmeer Nagri"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"gulshan_e_saeed","label":{"Urdu":"گلشن سعید","Roman Urdu":"Gulshan-e-Saeed","English":"Gulshan-e-Saeed"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"shah_nawaz_bhutto_colony","label":{"Urdu":"شاہ نواز بھٹو کالونی","Roman Urdu":"Shah Nawaz Bhutto Colony","English":"Shah Nawaz Bhutto Colony"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"paposh_nagar","label":{"Urdu":"پاپوش نگر","Roman Urdu":"Paposh Nagar","English":"Paposh Nagar"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"pahar_ganj","label":{"Urdu":"پہاڑ گنج","Roman Urdu":"Pahar Ganj","English":"Pahar Ganj"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"khandu_goth","label":{"Urdu":"کھنڑو گوٹھ","Roman Urdu":"Khandu Goth","English":"Khandu Goth"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"hyderi","label":{"Urdu":"حیدری","Roman Urdu":"Hyderi","English":"Hyderi"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"sakhi_hassan","label":{"Urdu":"سخی حسن","Roman Urdu":"Sakhi Hassan","English":"Sakhi Hassan"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"farooq_e_azam","label":{"Urdu":"فاروق اعظم","Roman Urdu":"Farooq-e-Azam","English":"Farooq-e-Azam"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"nusrat_bhutto_colony","label":{"Urdu":"نصرت بھٹو کالونی","Roman Urdu":"Nusrat Bhutto Colony","English":"Nusrat Bhutto Colony"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"shadman_town","label":{"Urdu":"شادمان ٹاوَن","Roman Urdu":"Shadman Town","English":"Shadman Town"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"buffer_zone","label":{"Urdu":"بفرزون","Roman Urdu":"Buffer Zone","English":"Buffer Zone"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"buffer_zone_ii","label":{"Urdu":"بفرزون 2","Roman Urdu":"Buffer Zone II","English":"Buffer Zone II"}},{"province":"sindh","city":"karachi","town":"orangi","name":"mominabad","label":{"Urdu":"مومن آباد","Roman Urdu":"Mominabad","English":"Mominabad"}},{"province":"sindh","city":"karachi","town":"orangi","name":"haryana_colony","label":{"Urdu":"حریانہ کالونی","Roman Urdu":"Haryana Colony","English":"Haryana Colony"}},{"province":"sindh","city":"karachi","town":"orangi","name":"hanifabad","label":{"Urdu":"حنیف آباد","Roman Urdu":"Hanifabad","English":"Hanifabad"}},{"province":"sindh","city":"karachi","town":"orangi","name":"mohammad_nagar","label":{"Urdu":"محمد نگر","Roman Urdu":"Mohammad Nagar","English":"Mohammad Nagar"}},{"province":"sindh","city":"karachi","town":"orangi","name":"madina_colony_orangi","label":{"Urdu":"مدینہ کالونی اورنگی","Roman Urdu":"Madina Colony Orangi","English":"Madina Colony Orangi"}},{"province":"sindh","city":"karachi","town":"orangi","name":"ghaziabad","label":{"Urdu":"غازی آباد","Roman Urdu":"Ghaziabad","English":"Ghaziabad"}},{"province":"sindh","city":"karachi","town":"orangi","name":"chisti_nagar","label":{"Urdu":"چشتی نگر","Roman Urdu":"Chisti Nagar","English":"Chisti Nagar"}},{"province":"sindh","city":"karachi","town":"orangi","name":"bilal_colony_orangi","label":{"Urdu":"بلال کالونی اورنگی","Roman Urdu":"Bilal Colony Orangi","English":"Bilal Colony Orangi"}},{"province":"sindh","city":"karachi","town":"orangi","name":"iqbal_baloch_colony","label":{"Urdu":"اقبال بلوچ کالونی","Roman Urdu":"Iqbal Baloch Colony","English":"Iqbal Baloch Colony"}},{"province":"sindh","city":"karachi","town":"orangi","name":"ghabool_town","label":{"Urdu":"گبول ٹاوَن","Roman Urdu":"Ghabool Town","English":"Ghabool Town"}},{"province":"sindh","city":"karachi","town":"orangi","name":"data_nagar","label":{"Urdu":"داتا نگر","Roman Urdu":"Data Nagar","English":"Data Nagar"}},{"province":"sindh","city":"karachi","town":"orangi","name":"mujahidabad","label":{"Urdu":"مجاہد آباد","Roman Urdu":"Mujahidabad","English":"Mujahidabad"}},{"province":"sindh","city":"karachi","town":"orangi","name":"baloch_goth","label":{"Urdu":"بلوچ گوٹھ","Roman Urdu":"Baloch Goth","English":"Baloch Goth"}},{"province":"sindh","city":"karachi","town":"saddar","name":"old_haji_camp","label":{"Urdu":"پرانہ حاجی کیمپ","Roman Urdu":"Old Haji Camp","English":"Old Haji Camp"}},{"province":"sindh","city":"karachi","town":"saddar","name":"garden","label":{"Urdu":"گارڈن","Roman Urdu":"Garden","English":"Garden"}},{"province":"sindh","city":"karachi","town":"saddar","name":"kharadar","label":{"Urdu":"کھارادر","Roman Urdu":"Kharadar","English":"Kharadar"}},{"province":"sindh","city":"karachi","town":"saddar","name":"city_railway_colony","label":{"Urdu":"سٹی ریلوے کالونی","Roman Urdu":"City Railway Colony","English":"City Railway Colony"}},{"province":"sindh","city":"karachi","town":"saddar","name":"nanak_wara","label":{"Urdu":"ناناک واڑا","Roman Urdu":"Nanak Wara","English":"Nanak Wara"}},{"province":"sindh","city":"karachi","town":"saddar","name":"gazdarabad","label":{"Urdu":"گزدرآباد","Roman Urdu":"Gazdarabad","English":"Gazdarabad"}},{"province":"sindh","city":"karachi","town":"saddar","name":"millat_nagar_islam_pura","label":{"Urdu":"ملت نگر اسلام پورا","Roman Urdu":"Millat Nagar/Islam Pura","English":"Millat Nagar/Islam Pura"}},{"province":"sindh","city":"karachi","town":"saddar","name":"saddar_uc","label":{"Urdu":"صدر یو سی","Roman Urdu":"Saddar UC","English":"Saddar UC"}},{"province":"sindh","city":"karachi","town":"saddar","name":"civil_line","label":{"Urdu":"سول لائن","Roman Urdu":"Civil Line","English":"Civil Line"}},{"province":"sindh","city":"karachi","town":"saddar","name":"clifton","label":{"Urdu":"کلفٹن","Roman Urdu":"Clifton","English":"Clifton"}},{"province":"sindh","city":"karachi","town":"saddar","name":"kehkashan","label":{"Urdu":"کہکشان","Roman Urdu":"Kehkashan","English":"Kehkashan"}},{"province":"sindh","city":"karachi","town":"shah_faisal","name":"natha_khan_goth","label":{"Urdu":"ناتھا خان گوٹھ","Roman Urdu":"Natha Khan Goth","English":"Natha Khan Goth"}},{"province":"sindh","city":"karachi","town":"shah_faisal","name":"pak_sadat_colony","label":{"Urdu":"پاک صدر کالونی","Roman Urdu":"Pak Sadat Colony","English":"Pak Sadat Colony"}},{"province":"sindh","city":"karachi","town":"shah_faisal","name":"drigh_colony","label":{"Urdu":"ڈرگ کالونی","Roman Urdu":"Drigh Colony","English":"Drigh Colony"}},{"province":"sindh","city":"karachi","town":"shah_faisal","name":"raita_plot","label":{"Urdu":"رائتا پلاٹ","Roman Urdu":"Raita Plot","English":"Raita Plot"}},{"province":"sindh","city":"karachi","town":"shah_faisal","name":"moria_khan_goth","label":{"Urdu":"موریا خان گوٹھ","Roman Urdu":"Moria Khan Goth","English":"Moria Khan Goth"}},{"province":"sindh","city":"karachi","town":"shah_faisal","name":"rafa_e_aam_society","label":{"Urdu":"رفا عام سوسا ئٹی","Roman Urdu":"Rafa-e-Aam Society","English":"Rafa-e-Aam Society"}},{"province":"sindh","city":"karachi","town":"shah_faisal","name":"al_falah_society","label":{"Urdu":"الفلاح سوسا ئٹی","Roman Urdu":"Al-Falah Society","English":"Al-Falah Society"}},{"province":"sindh","city":"karachi","town":"site","name":"pak_colony","label":{"Urdu":"پاک کالونی","Roman Urdu":"Pak Colony","English":"Pak Colony"}},{"province":"sindh","city":"karachi","town":"site","name":"old_golimar","label":{"Urdu":"پرانہ گولی مار","Roman Urdu":"Old Golimar","English":"Old Golimar"}},{"province":"sindh","city":"karachi","town":"site","name":"jahanabad","label":{"Urdu":"جہان آباد","Roman Urdu":"Jahanabad","English":"Jahanabad"}},{"province":"sindh","city":"karachi","town":"site","name":"metrovil","label":{"Urdu":"میٹروویل","Roman Urdu":"Metrovil","English":"Metrovil"}},{"province":"sindh","city":"karachi","town":"site","name":"bhawani_chali","label":{"Urdu":"بہوانی چالی","Roman Urdu":"Bhawani Chali","English":"Bhawani Chali"}},{"province":"sindh","city":"karachi","town":"site","name":"frontier_colony","label":{"Urdu":"فرونٹر کالونی","Roman Urdu":"Frontier Colony","English":"Frontier Colony"}},{"province":"sindh","city":"karachi","town":"site","name":"banaras_colony","label":{"Urdu":"بنارس کالونی","Roman Urdu":"Banaras Colony","English":"Banaras Colony"}},{"province":"sindh","city":"karachi","town":"site","name":"qasba_colony","label":{"Urdu":"قصبہ کالونی","Roman Urdu":"Qasba Colony","English":"Qasba Colony"}},{"province":"sindh","city":"karachi","town":"site","name":"islamia_colony","label":{"Urdu":"اسلامیہ کالونی","Roman Urdu":"Islamia Colony","English":"Islamia Colony"}},{"province":"na","city":"na","town":"na","name":"other","label":{"Urdu":"دیگر","Roman Urdu":"Deegar","English":"Other"}},{"province":"na","city":"na","town":"na","name":"not_applicable","label":{"Urdu":"قابل اطلاق نہیں","Roman Urdu":"Qaabil-e-atlaaq nahi","English":"Not Applicable"}}],"gender":[{"instance":{"openmrs_code":"1534AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"male","label":{"Urdu":"مرد/ لڑکا","Roman Urdu":"Mard/larka","English":"Male"}},{"instance":{"openmrs_code":"1535AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"female","label":{"Urdu":"عورت/لڑکی","Roman Urdu":"Aurat/larki","English":"Female"}},{"instance":{"openmrs_code":"163163AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"transgender","label":{"Urdu":"خواجہ سرہ","Roman Urdu":"Khwaja sira","English":"Transgender"}}],"vaccines":[{"instance":{"openmrs_code":"84880AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"TT1","label":{"Urdu":"ٹی ٹی 1","Roman Urdu":"TT1","English":"TT1"}},{"instance":{"openmrs_code":"84880AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"TT2","label":{"Urdu":"ٹی ٹی 2","Roman Urdu":"TT2","English":"TT2"}},{"instance":{"openmrs_code":"84880AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"TT3","label":{"Urdu":"ٹی ٹی 3","Roman Urdu":"TT3","English":"TT3"}},{"instance":{"openmrs_code":"84880AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"TT4","label":{"Urdu":"ٹی ٹی 4","Roman Urdu":"TT4","English":"TT4"}},{"instance":{"openmrs_code":"84880AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"TT5","label":{"Urdu":"ٹی ٹی 5","Roman Urdu":"TT5","English":"TT5"}}],"towns":[{"province":"sindh","city":"karachi","name":"korangi","label":{"Urdu":"کورنگی","Roman Urdu":"Korangi","English":"Korangi"}},{"province":"sindh","city":"karachi","name":"landhi","label":{"Urdu":"لانڈھی","Roman Urdu":"Landhi","English":"Landhi"}},{"province":"sindh","city":"karachi","name":"baldia","label":{"Urdu":"بلدیہ","Roman Urdu":"Baldia","English":"Baldia"}},{"province":"sindh","city":"karachi","name":"bin_qasim","label":{"Urdu":"بن قاسم","Roman Urdu":"Bin Qasim","English":"Bin Qasim"}},{"province":"sindh","city":"karachi","name":"gadap","label":{"Urdu":"گڈاپ","Roman Urdu":"Gadap","English":"Gadap"}},{"province":"sindh","city":"karachi","name":"gulberg","label":{"Urdu":"گلبرگ","Roman Urdu":"Gulberg","English":"Gulberg"}},{"province":"sindh","city":"karachi","name":"gulshan","label":{"Urdu":"گلشن","Roman Urdu":"Gulshan","English":"Gulshan"}},{"province":"sindh","city":"karachi","name":"jamshed","label":{"Urdu":"جمشید","Roman Urdu":"Jamshed","English":"Jamshed"}},{"province":"sindh","city":"karachi","name":"kiamari","label":{"Urdu":"کیماری","Roman Urdu":"Kiamari","English":"Kiamari"}},{"province":"sindh","city":"karachi","name":"liaquatabad","label":{"Urdu":"لیاقت آباد","Roman Urdu":"Liaquatabad","English":"Liaquatabad"}},{"province":"sindh","city":"karachi","name":"lyari","label":{"Urdu":"لیاری","Roman Urdu":"Lyari","English":"Lyari"}},{"province":"sindh","city":"karachi","name":"malir","label":{"Urdu":"ملیر","Roman Urdu":"Malir","English":"Malir"}},{"province":"sindh","city":"karachi","name":"new_karachi","label":{"Urdu":"نیو کراچی","Roman Urdu":"New Karachi","English":"New Karachi"}},{"province":"sindh","city":"karachi","name":"north_nazimabad","label":{"Urdu":"نارتھ ناظم آباد","Roman Urdu":"North Nazimabad","English":"North Nazimabad"}},{"province":"sindh","city":"karachi","name":"orangi","label":{"Urdu":"اورنگی","Roman Urdu":"Orangi","English":"Orangi"}},{"province":"sindh","city":"karachi","name":"saddar","label":{"Urdu":"صدر","Roman Urdu":"Saddar","English":"Saddar"}},{"province":"sindh","city":"karachi","name":"shah_faisal","label":{"Urdu":"شاہ فیصل","Roman Urdu":"Shah Faisal","English":"Shah Faisal"}},{"province":"sindh","city":"karachi","name":"site","label":{"Urdu":"سائٹ","Roman Urdu":"S.I.T.E.","English":"S.I.T.E."}},{"province":"na","city":"na","name":"other","label":{"Urdu":"دیگر","Roman Urdu":"Deegar","English":"Other"}},{"province":"na","city":"na","name":"not_applicable","label":{"Urdu":"قابل اطلاق نہیں","Roman Urdu":"Qaabil-e-atlaaq nahi","English":"Not Applicable"}}],"cities":[{"province":"sindh","name":"karachi","label":{"Urdu":"کراچی","Roman Urdu":"Karachi","English":"Karachi"}},{"province":"punjab","name":"hafizabad","label":{"Urdu":"حافظ آباد","Roman Urdu":"Hafizabad","English":"Hafizabad"}},{"province":"punjab","name":"muzaffargarh","label":{"Urdu":"مظفر گڑھ","Roman Urdu":"Muzaffargarh","English":"Muzaffargarh"}},{"province":"na","name":"other","label":{"Urdu":"دیگر","Roman Urdu":"Deegar","English":"Other"}},{"province":"na","name":"not_applicable","label":{"Urdu":"قابل اطلاق نہیں","Roman Urdu":"Not Applicable","English":"Not Applicable"}}],"edd_lmp":[{"instance":{"openmrs_code":"5596AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"edd","label":{"Urdu":"زچگی کی متوقع تاریخ","Roman Urdu":"EDD","English":"EDD"}},{"instance":{"openmrs_code":"1427AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"lmp","label":{"Urdu":"پچھلی مہواری کی تاریخ","Roman Urdu":"LMP","English":"LMP"}},{"instance":{"openmrs_code":"159617AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"ultrasound","label":{"Urdu":"الٹرا سائونڈ","Roman Urdu":"Ultrasound","English":"Ultrasound"}},{"instance":{"openmrs_code":"1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"none","label":{"Urdu":"کوئی بھی نہیں","Roman Urdu":"Koi bhi nahi","English":"None of the above"}}],"yes_no":[{"instance":{"openmrs_code":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"yes","label":{"Urdu":"ہاں","Roman Urdu":"Yes","English":"Yes"}},{"instance":{"openmrs_code":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"no","label":{"Urdu":"نہیں","Roman Urdu":"No","English":"No"}}]},"instance":{"encounter_type":"Off Site Woman Follow Up"},"version":"201604080459","id_string":"offsite_woman_followup_form","type":"survey","children":[{"type":"hidden","name":"provider_uc"},{"type":"hidden","name":"provider_town"},{"type":"hidden","name":"provider_city"},{"type":"hidden","name":"provider_province"},{"type":"hidden","name":"existing_landmark"},{"type":"hidden","name":"existing_house_number"},{"type":"hidden","name":"existing_street"},{"type":"hidden","name":"existing_union_council"},{"type":"hidden","name":"existing_town"},{"type":"hidden","name":"existing_city_village"},{"type":"hidden","name":"existing_province"},{"type":"hidden","name":"existing_union_councilname"},{"type":"hidden","name":"existing_townname"},{"type":"hidden","name":"existing_city_villagename"},{"type":"hidden","name":"existing_provincename"},{"type":"hidden","name":"existing_first_name"},{"type":"hidden","name":"existing_last_name"},{"type":"hidden","name":"existing_father_name"},{"type":"hidden","name":"existing_husband_name"},{"type":"hidden","name":"existing_marriage"},{"type":"hidden","name":"existing_calc_dob_confirm"},{"type":"hidden","name":"existing_gender"},{"type":"hidden","name":"existing_ethnicity"},{"type":"hidden","name":"existing_client_reg_date"},{"type":"hidden","name":"existing_program_client_id"},{"type":"hidden","name":"existing_epi_card_number"},{"type":"hidden","name":"existing_reminders_approval"},{"type":"hidden","name":"existing_contact_phone_number"},{"type":"hidden","name":"e_tt1"},{"type":"hidden","name":"e_tt2"},{"type":"hidden","name":"e_tt3"},{"type":"hidden","name":"e_tt4"},{"type":"hidden","name":"e_tt5"},{"type":"hidden","name":"provider_id"},{"instance":{"openmrs_entity_id":"location_id","openmrs_entity":"encounter"},"type":"hidden","name":"provider_location_id"},{"type":"hidden","name":"provider_location_name"},{"type":"note","name":"provider_location_note","label":{"Urdu":"شہر: ${provider_city} ; ٹائون: ${provider_town} ; یوسی: ${provider_uc} ; سینٹرکا نام: ${provider_location_name}","English":"City: ${provider_city} ; Town: ${provider_town} ; UC: ${provider_uc} ; Center Name: ${provider_location_name}"}},{"instance":{"openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"start","name":"start"},{"instance":{"openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"end","name":"end"},{"instance":{"openmrs_entity_id":"163286AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"today","name":"today"},{"instance":{"openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"deviceid","name":"deviceid"},{"instance":{"openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"subscriberid","name":"subscriberid"},{"instance":{"openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"simserial","name":"simserial"},{"instance":{"openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"phonenumber","name":"phonenumber"},{"bind":{"required":"yes"},"type":"note","name":"client_reg_date_note","label":{"Urdu":"${existing_client_reg_date} :پروگرام میں اندراج کی تاریخ","Roman Urdu":"Program main andraaj ki tareekh: ${existing_client_reg_date}","English":"Client Registration date: ${existing_client_reg_date}"}},{"bind":{"required":"yes"},"type":"note","name":"program_client_id_note","label":{"Urdu":"${existing_program_client_id}:کلائنٹ کی پروگرام ائی ڈی","Roman Urdu":"Client ki program ID: ${existing_program_client_id}","English":"Program Client ID: ${existing_program_client_id}"}},{"bind":{"jr:constraintMsg":{"Urdu":"نمبر آٹھ ہندسوں پر مشتمل ہونا چاہئے","English":"Number should be 8 digits","Roman Urdu":"Number 8 hindason par mushtamil hona chahiye"},"required":"yes","constraint":"string-length(.) = 8"},"type":"integer","instance":{"openmrs_entity_id":"EPI Card Number","openmrs_entity":"person_attribute"},"name":"epi_card_number","label":{"Urdu":"ای پی آئی کارڈ نمبر: {existing_epi_card_number}$","English":"EPI Card Number: ${existing_epi_card_number}","Roman Urdu":"EPI Card Number: ${existing_epi_card_number}"}},{"bind":{"required":"yes"},"type":"note","name":"first_name_note","label":{"Urdu":"${existing_first_name}: نام","Roman Urdu":"Naam: ${existing_first_name}","English":"First Name: ${existing_first_name}"}},{"bind":{"required":"yes"},"type":"note","name":"last_name_note","label":{"Urdu":"والد کا نام: ${existing_last_name}","Roman Urdu":"Waalid ka naam: ${existing_last_name}","English":"Last name: ${existing_last_name}"}},{"bind":{"calculate":"date( today() - (${existing_calc_dob_confirm} div 365))"},"type":"calculate","name":"client_age","instance":{"openmrs_entity_id":"154384AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"}},{"type":"note","name":"birth_date_note","label":{"Urdu":"تاریخِ پیدائش: {existing_calc_dob_confirm}$ ({client_age}$) سال","English":"Birth date: ${existing_calc_dob_confirm} (${client_age}) years","Roman Urdu":"Tareekh-e-pedaaish: ${existing_calc_dob_confirm} (${client_age}) years"}},{"bind":{"required":"yes"},"type":"note","name":"gender_note","label":{"Urdu":"${existing_gender}: جنس","Roman Urdu":"Jins:${existing_gender}","English":"Gender: ${existing_gender}"}},{"type":"note","name":"father_name_note","label":{"Urdu":"والد کا نام: {existing_father_name}$","English":"Father's Name: ${existing_father_name}","Roman Urdu":"Waalid ka naam: ${existing_father_name}"}},{"type":"note","name":"marriage_note","label":{"Urdu":"شادی شدہ: {existing_marriage}$","English":"Married: ${existing_marriage}","Roman Urdu":"Shaadi shuda: ${existing_marriage}"}},{"type":"note","name":"husband_name_note","label":{"Urdu":"شوہر کا نام: {existing_husband_name}$","English":"Husband's name: ${existing_husband_name}","Roman Urdu":"Shohar ka naam: ${existing_husband_name}"}},{"bind":{"required":"yes"},"type":"note","name":"ethnicity_note","label":{"Urdu":"قومیت: {existing_ethnicity}$","Roman Urdu":"Qomiat: ${existing_ethnicity}","English":"Ethnicity: ${existing_ethnicity}"}},{"type":"note","name":"address","label":{"Urdu":"موجودہ پتہ: ${existing_house_number}, ${existing_street}, ${existing_landmark}, ${existing_union_councilname}, ${existing_townname}, ${existing_city_villagename}, ${existing_provincename}","English":"Current Address: ${existing_house_number}, ${existing_street}, ${existing_landmark}, ${existing_union_councilname}, ${existing_townname}, ${existing_city_villagename}, ${existing_provincename}","Roman Urdu":"Mojooda Address: ${existing_house_number}, ${existing_street}, ${existing_landmark}, ${existing_union_councilname}, ${existing_townname}, ${existing_city_villagename}, ${existing_provincename}"}},{"label":{"Urdu":"کیا آپ کا گھر کا پتہ بدلا ہے؟","English":"Has your home address changed?","Roman Urdu":"Kya aap ka ghar ka pata badla hai?"},"type":"select one","children":[{"instance":{"openmrs_code":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"yes","label":{"Urdu":"ہاں","Roman Urdu":"Yes","English":"Yes"}},{"instance":{"openmrs_code":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"no","label":{"Urdu":"نہیں","Roman Urdu":"No","English":"No"}}],"name":"address_change"},{"control":{"appearance":"minimal"},"name":"province","default":"${provider_province}","bind":{"relevant":"selected(${address_change}, 'yes')","required":"yes"},"label":{"Urdu":"صوبہ","Roman Urdu":"Suba","English":"Province"},"instance":{"openmrs_entity":"person_address","openmrs_entity_id":"stateProvince","openmrs_entity_parent":"usual_residence"},"type":"select one","children":[{"name":"kpk","label":{"Urdu":"خیبر پختون خواہ","English":"Khyber Pakhtunkhwa","Roman Urdu":"Khyber Pakhtunkhwa"}},{"name":"sindh","label":{"Urdu":"سندھ","English":"Sindh","Roman Urdu":"Sindh"}},{"name":"balochistan","label":{"Urdu":"بلوچستان","English":"Balochistan","Roman Urdu":"Balochistan"}},{"name":"punjab","label":{"Urdu":"پنجاب","English":"Punjab","Roman Urdu":"Punjab"}},{"name":"gilgit_baltistan","label":{"Urdu":"گلگت بلتستان","English":"Gilgit Baltistan","Roman Urdu":"Gilgit Baltistan"}},{"name":"kashmir","label":{"Urdu":"کشمیر","English":"Kashmir","Roman Urdu":"Kashmir"}},{"name":"fata","label":{"Urdu":"فاٹا","English":"FATA","Roman Urdu":"FATA"}},{"name":"out_of_country","label":{"Urdu":"ملک سے باہر","English":"Out of Country","Roman Urdu":"Mulk se baahir"}}]},{"control":{"appearance":"minimal"},"name":"city_village","choice_filter":"province=${province} or province='na'","default":"${provider_city}","bind":{"relevant":"selected(${address_change}, 'yes')","required":"yes"},"label":{"Urdu":"شہر","Roman Urdu":"Shehr","English":"City"},"itemset":"cities","instance":{"openmrs_entity":"person_address","openmrs_entity_id":"cityVillage","openmrs_entity_parent":"usual_residence"},"type":"select one"},{"control":{"appearance":"minimal"},"name":"town","choice_filter":"(province=${province} and city=${city_village} ) or city='na'","bind":{"relevant":"selected(${address_change}, 'yes')","required":"yes"},"label":{"Urdu":"ٹاٰئون/ قصبہ/ بستی","Roman Urdu":"Town / Qasbah / Basti","English":"Town"},"itemset":"towns","instance":{"openmrs_entity":"person_address","openmrs_entity_id":"town","openmrs_entity_parent":"usual_residence"},"type":"select one"},{"control":{"appearance":"minimal"},"name":"union_council","choice_filter":"(province=${province} and city=${city_village} and town=${town}) or town='na'","bind":{"relevant":"selected(${address_change}, 'yes')","required":"yes"},"label":{"Urdu":"یونین کونسل","Roman Urdu":"Union Council","English":"Union Council"},"itemset":"ucs","instance":{"openmrs_entity":"person_address","openmrs_entity_id":"subTown","openmrs_entity_parent":"usual_residence"},"type":"select one"},{"bind":{"relevant":"selected(${address_change}, 'yes')","required":"yes"},"type":"text","instance":{"openmrs_entity":"person_address","openmrs_entity_id":"house","openmrs_entity_parent":"usual_residence"},"name":"house_number","label":{"Urdu":"گھر کا نمبر","Roman Urdu":"Ghar ka number","English":"House Number"}},{"bind":{"relevant":"selected(${address_change}, 'yes')","required":"yes"},"type":"text","instance":{"openmrs_entity":"person_address","openmrs_entity_id":"street","openmrs_entity_parent":"usual_residence"},"name":"street","label":{"Urdu":"گلی/کالونی/محلہ","Roman Urdu":"Gali/Colony/Mohalla","English":"Street"}},{"bind":{"relevant":"selected(${address_change}, 'yes')","required":"yes"},"type":"text","instance":{"openmrs_entity":"person_address","openmrs_entity_id":"landmark","openmrs_entity_parent":"usual_residence"},"name":"landmark","label":{"Urdu":"گھر کے قریب کوئی مشہور جگہ","Roman Urdu":"Ghar ke qareeb koi mashoor jagah","English":"Land Mark"}},{"instance":{"openmrs_entity_id":"163277AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"geopoint","name":"center_gps","label":{"Urdu":"حاصل کردہ معلومات کی جگہ کے GPS کارڈینیٹس درج کریں","English":"Collect GPS coordinates of data entry location:","Roman Urdu":"Hasil karda malomaat ki jaga ke GPS coordinates darj karain"}},{"control":{"appearance":"minimal"},"name":"reminders_approval","bind":{"required":"yes"},"label":{"Urdu":"کیا آپ اپنے بچے کی اگلی ویکسین کی تاریخ کے لیے SMS موصول کرنا چاہتے ہیں؟ {existing_reminders_approval}$","English":"Are you willing to receive SMS reminders for your next visit? ${existing_reminders_approval}","Roman Urdu":"Kya aap apnay bachay ki agli vaccine ki tareekh ke liye SMS mausool karna chahtay hain? ${existing_reminders_approval}"},"instance":{"openmrs_entity_id":"163089AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"select one","children":[{"instance":{"openmrs_code":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"yes","label":{"Urdu":"ہاں","Roman Urdu":"Yes","English":"Yes"}},{"instance":{"openmrs_code":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"no","label":{"Urdu":"نہیں","Roman Urdu":"No","English":"No"}}]},{"bind":{"jr:constraintMsg":{"Urdu":"فون نمبر گیارہ ہندسوں پر مشتمل اور مندرجہ ذیل شکل میں ہونا چاہئے: *********03","English":"Phone number should be 11 digits in the following format: 03*********","Roman Urdu":"Phone number 11 hindason par mushtamil aur mundarja zail shakal main hona chahiey: 03*********"},"relevant":"${existing_reminders_approval}='yes'","constraint":"regex(., '^03[0-9]{9}$')"},"type":"text","instance":{"openmrs_entity_id":"159635AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"name":"contact_phone_number","label":{"Urdu":"موبائل نمبر:{existing_contact_phone_number}$","English":"Mobile Number: ${existing_contact_phone_number}","Roman Urdu":"Mobile Number: ${existing_contact_phone_number}"}},{"instance":{"openmrs_entity_id":"5272AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"label":{"Urdu":"کیا خا تون حاملہ ہیں؟","English":"Is female pregnant?","Roman Urdu":"Kia khatoon haamla hain?"},"type":"select one","children":[{"instance":{"openmrs_code":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"yes","label":{"Urdu":"ہاں","Roman Urdu":"Yes","English":"Yes"}},{"instance":{"openmrs_code":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"no","label":{"Urdu":"نہیں","Roman Urdu":"No","English":"No"}}],"name":"pregnant"},{"name":"edd_lmp","bind":{"relevant":"selected (${pregnant}, 'yes')"},"label":{"Urdu":"کیا آپ کو اپنی پچھلی ماہواری کی تاریخ، زچگی کی متوقع تاریخ، یا الٹرا سائونڈ کا علم ہے؟","English":"Do you know your LMP, EDD or last Ultrasound information?","Roman Urdu":"Kya aap ko apni pichli mahwaari ki tareekh, zachgi ki mutawaqqa tareekh ya ultrasound ka ilm hai?"},"instance":{"openmrs_entity_id":"160697AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"select one","children":[{"instance":{"openmrs_code":"5596AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"edd","label":{"Urdu":"زچگی کی متوقع تاریخ","Roman Urdu":"EDD","English":"EDD"}},{"instance":{"openmrs_code":"1427AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"lmp","label":{"Urdu":"پچھلی مہواری کی تاریخ","Roman Urdu":"LMP","English":"LMP"}},{"instance":{"openmrs_code":"159617AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"ultrasound","label":{"Urdu":"الٹرا سائونڈ","Roman Urdu":"Ultrasound","English":"Ultrasound"}},{"instance":{"openmrs_code":"1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"none","label":{"Urdu":"کوئی بھی نہیں","Roman Urdu":"Koi bhi nahi","English":"None of the above"}}]},{"bind":{"jr:constraintMsg":{"Urdu":"زچگی کی متوقع تاریخ ماضی کی نہیں ہو سکتی","Roman Urdu":"Zachgi ki mutawaqqa tareekh maazi ki nahi hosakti","English":"EDD cannot be in the past"},"relevant":"selected (${edd_lmp}, 'edd')","constraint":".>=${today}"},"type":"date","name":"edd","label":{"Urdu":"زچگی کی متوقع تاریخ","Roman Urdu":"Zachgi ki mutawaqqa tareekh","English":"EDD"}},{"bind":{"jr:constraintMsg":{"Urdu":"پچھلی ماہواری کی تاریخ مستقبل کی نہیں ہوسکتی","Roman Urdu":"Pichli mahwaari ki tareekh mustaqbil ki nahi hosakti","English":"LMP cannot be in the future"},"relevant":"selected (${edd_lmp}, 'lmp')","constraint":".<=${today}"},"type":"date","name":"lmp","label":{"Urdu":"پچھلی ماہواری کی تاریخ","Roman Urdu":"Pichli mahwaari ki tareekh","English":"LMP"}},{"bind":{"relevant":"selected (${edd_lmp}, 'ultrasound')"},"type":"date","instance":{"openmrs_entity_id":"163165AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"name":"ultrasound_date","label":{"Urdu":"الٹرا سائونڈ کی تاریخ","English":"Ultrasound Date","Roman Urdu":"Ultrasound ki tareekh"}},{"bind":{"relevant":"selected (${edd_lmp}, 'ultrasound')"},"type":"integer","name":"ultrasound_weeks","label":{"Urdu":"الٹرا سائونڈ کی مدد سے حمل کی مدت [ہفتوں میں]","Roman Urdu":"Ultrasound ki madad se hamal ki muddat (hafton me)","English":"Gestational age determined by ultrasound"}},{"bind":{"calculate":"date(${lmp}+280)"},"type":"calculate","name":"edd_calc_lmp"},{"bind":{"calculate":"date((280-(${ultrasound_weeks}*7)+${ultrasound_date} ))"},"type":"calculate","name":"edd_calc_ultrasound"},{"bind":{"calculate":"format-date(${edd_calc_lmp}, '%Y-%n-%e')"},"type":"calculate","name":"edd_calc_lmp_formatted"},{"bind":{"calculate":"format-date(${edd_calc_ultrasound}, '%Y-%n-%e')"},"type":"calculate","name":"edd_calc_ultrasound_formatted"},{"bind":{"calculate":"date(${edd}-280)"},"type":"calculate","name":"lmp_calc_edd"},{"bind":{"calculate":"date(${ultrasound_date}-(${ultrasound_weeks}*7))"},"type":"calculate","name":"lmp_calc_ultrasound"},{"bind":{"calculate":"format-date(${lmp_calc_edd}, '%Y-%n-%e')"},"type":"calculate","name":"lmp_calc_edd_formatted"},{"bind":{"calculate":"format-date(${lmp_calc_ultrasound}, '%Y-%n-%e')"},"type":"calculate","name":"lmp_calc_ultrasound_formatted"},{"bind":{"calculate":"if(${edd_lmp}='lmp',${edd_calc_lmp_formatted},if(${edd_lmp}='edd',${edd} ,if(${edd_lmp}='ultrasound',${edd_calc_ultrasound_formatted},'')))"},"type":"calculate","name":"final_edd","instance":{"openmrs_entity_id":"5596AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"}},{"bind":{"calculate":"if(${edd_lmp}='lmp',${lmp},if(${edd_lmp}='edd',${lmp_calc_edd_formatted} ,if(${edd_lmp}='ultrasound',${lmp_calc_ultrasound_formatted},'')))"},"type":"calculate","name":"final_lmp","instance":{"openmrs_entity_id":"1427AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"}},{"bind":{"calculate":"int((${vaccination_date} - (${edd}-280))div7)"},"type":"calculate","name":"ga_edd"},{"bind":{"calculate":"int((${vaccination_date} - ${lmp})div7)"},"type":"calculate","name":"ga_lmp"},{"bind":{"calculate":"int((${vaccination_date} -(${ultrasound_date}-(${ultrasound_weeks}*7)))div7)"},"type":"calculate","name":"ga_ult"},{"bind":{"relevant":"selected (${pregnant}, 'yes')"},"type":"note","name":"final_edd_note","label":{"Urdu":"${final_edd}: زچگی کی متوقع تاریخ","Roman Urdu":"Zachgi ki mutawaqqa tareekh: ${final_edd}","English":"EDD: ${final_edd}"}},{"bind":{"relevant":"selected (${pregnant}, 'yes')"},"type":"note","name":"final_lmp_note","label":{"Urdu":"پچھلی ماہواری کی تاریخ :{final_lmp}$","Roman Urdu":"Pichli mahwaari ki tareekh: ${final_lmp}","English":"LMP: ${final_lmp}"}},{"bind":{"calculate":"if(${edd_lmp}='lmp',${ga_lmp},if(${edd_lmp}='edd',${ga_edd} ,if(${edd_lmp}='ultrasound',${ga_ult},'')))"},"type":"calculate","name":"final_ga","instance":{"openmrs_entity_id":"163166AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"}},{"bind":{"relevant":"selected (${pregnant}, 'yes')"},"type":"note","name":"final_ga_note","label":{"Urdu":"حمل کی مُدّت: {final_ga}$ ہفتے","Roman Urdu":"Hamal ki muddat: ${final_ga} weeks","English":"GA: ${final_ga} weeks"}},{"name":"vaccines","choice_filter":"name != if( ${e_tt1} != '', 'TT1' , '') and \nname != if( ${e_tt2} != '', 'TT2' , '') and \nname != if( ${e_tt3} != '', 'TT3' , '') and \nname != if( ${e_tt4} != '', 'TT4' , '') and \nname != if( ${e_tt5} != '', 'TT5' , '')","default":"minimal","label":{"Urdu":"پچھلی تاریخ جب کسی اور سینٹر پر ٹیکہ لگوایا گیا یا قطرے پلائے گئے","Roman Urdu":"Pichli tareekh jab kissi aur center par teeka lagwaya gaya ya katray pilaey gaye","English":"Retro vaccines"},"itemset":"vaccines","instance":{"openmrs_entity":"concept","openmrs_entity_id":"984AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"1421AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"type":"select all that apply"},{"bind":{"relevant":"selected(${vaccines},'TT1')","constraint":"(.<=${today} and .<=${existing_client_reg_date})"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"tt1_retro","label":{"Urdu":"ٹی ٹی 1","Roman Urdu":"TT1","English":"TT1"}},{"bind":{"relevant":"selected(${vaccines},'TT1')","calculate":"1"},"type":"calculate","name":"tt_1_dose","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines},'TT2')","constraint":"(.<=${today} and .>=${tt1_retro} and ((selected(${vaccines}, 'TT1'))))"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"tt2_retro","label":{"Urdu":"ٹی ٹی 2","Roman Urdu":"TT2","English":"TT2"}},{"bind":{"relevant":"selected(${vaccines},'TT2')","calculate":"2"},"type":"calculate","name":"tt_2_dose","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines},'TT3')","constraint":"(.<=${today} and .>=${tt2_retro} and ((selected(${vaccines}, 'TT2'))))"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"tt3_retro","label":{"Urdu":"ٹی ٹی 3","Roman Urdu":"TT3","English":"TT3"}},{"bind":{"relevant":"selected(${vaccines},'TT3')","calculate":"3"},"type":"calculate","name":"tt_3_dose","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines},'TT4')","constraint":"(.<=${today} and .>=${tt3_retro} and ((selected(${vaccines}, 'TT3'))))"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"tt4_retro","label":{"Urdu":"ٹی ٹی 4","Roman Urdu":"TT4","English":"TT4"}},{"bind":{"relevant":"selected(${vaccines},'TT4')","calculate":"4"},"type":"calculate","name":"tt_4_dose","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"name":"vaccines_2","choice_filter":"name != if( ${e_tt1} != '', 'TT1' , '') and \nname != if( ${e_tt2} != '', 'TT2' , '') and \nname != if( ${e_tt3} != '', 'TT3' , '') and \nname != if( ${e_tt4} != '', 'TT4' , '') and \nname != if( ${e_tt5} != '', 'TT5' , '') and \nname != if( selected(${vaccines}, 'TT1') , 'TT1', '') and \nname != if( selected(${vaccines}, 'TT2') , 'TT2', '') and \nname != if( selected(${vaccines}, 'TT3') , 'TT3', '') and \nname != if( selected(${vaccines}, 'TT4') , 'TT4', '') and \nname != if( selected(${vaccines}, 'TT5') , 'TT5', '')","bind":{"required":"yes"},"label":{"Urdu":"آج کون کون سی ویکسین دی گئی ہیں؟","Roman Urdu":"Aaj kon kon si vaccine di gai hain?","English":"Vaccine administered today"},"itemset":"vaccines","instance":{"openmrs_entity":"concept","openmrs_entity_id":"984AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"1441AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"type":"select all that apply"},{"bind":{"required":"yes"},"type":"date","instance":{"openmrs_entity_id":"encounter_date","openmrs_entity":"encounter"},"name":"vaccination_date","label":{"Urdu":"تاریخ","English":"Vaccination date","Roman Urdu":"Tareekh"}},{"bind":{"calculate":"if(selected(${vaccines_2}, 'TT1'),${vaccination_date},'')"},"type":"calculate","name":"tt1","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines_2},'TT1')","calculate":"1"},"type":"calculate","name":"tt_1_dose_today","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"calculate":"if(selected(${vaccines_2}, 'TT2'),${vaccination_date},'')"},"type":"calculate","name":"tt2","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines_2},'TT2')","calculate":"2"},"type":"calculate","name":"tt_2_dose_today","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"calculate":"if(selected(${vaccines_2}, 'TT3'),${vaccination_date},'')"},"type":"calculate","name":"tt3","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines_2},'TT3')","calculate":"3"},"type":"calculate","name":"tt_3_dose_today","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"calculate":"if(selected(${vaccines_2}, 'TT4'),${vaccination_date},'')"},"type":"calculate","name":"tt4","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines_2},'TT4')","calculate":"4"},"type":"calculate","name":"tt_4_dose_today","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"calculate":"if(selected(${vaccines_2}, 'TT5'),${vaccination_date},'')"},"type":"calculate","name":"tt5","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines_2},'TT5')","calculate":"5"},"type":"calculate","name":"tt_5_dose_today","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"control":{"bodyless":true},"type":"group","children":[{"bind":{"readonly":"true()","calculate":"concat('uuid:', uuid())"},"type":"calculate","name":"instanceID"}],"name":"meta"}]} \ No newline at end of file diff --git a/opensrp-connector/bin/src/test/resources/form/offsite_woman_followup/form.xml b/opensrp-connector/bin/src/test/resources/form/offsite_woman_followup/form.xml new file mode 100644 index 0000000000..a2f6cb48d4 --- /dev/null +++ b/opensrp-connector/bin/src/test/resources/form/offsite_woman_followup/form.xml @@ -0,0 +1,1439 @@ +
+ + +

دوسرے سینٹر میں رجسٹرڈ خواتین فالواپ رجسٹر - Off Site Woman Follow Up Form

+
+
+ + کیا آپ کا گھر کا پتہ بدلا ہے؟ + Kya aap ka ghar ka pata badla hai? + + Has your home address changed? +
+ + +
+
+
+
+ + کیا خا تون حاملہ ہیں؟ + Kia khatoon haamla hain? + + Is female pregnant? +
+ + +
+
+
+
+ + کیا آپ کو اپنی پچھلی ماہواری کی تاریخ، زچگی کی متوقع تاریخ، یا الٹرا سائونڈ کا علم ہے؟ + Kya aap ko apni pichli mahwaari ki tareekh, zachgi ki mutawaqqa tareekh ya ultrasound ka ilm hai? + + Do you know your LMP, EDD or last Ultrasound information? +
+ + + + +
+
+
+
+ + پچھلی تاریخ جب کسی اور سینٹر پر ٹیکہ لگوایا گیا یا قطرے پلائے گئے + Pichli tareekh jab kissi aur center par teeka lagwaya gaya ya katray pilaey gaye + + Retro vaccines +
+ + + ٹی ٹی 1 + TT1 + + TT1 + ٹی ٹی 2 + TT2 + + TT2 + ٹی ٹی 3 + TT3 + + TT3 + ٹی ٹی 4 + TT4 + + TT4 + ٹی ٹی 5 + TT5 + + TT5 +
+
+
+
+ + آج کون کون سی ویکسین دی گئی ہیں؟ + Aaj kon kon si vaccine di gai hain? + + Vaccine administered today + * +
+ + + ٹی ٹی 1 + TT1 + + TT1 + ٹی ٹی 2 + TT2 + + TT2 + ٹی ٹی 3 + TT3 + + TT3 + ٹی ٹی 4 + TT4 + + TT4 + ٹی ٹی 5 + TT5 + + TT5 +
+
+
+ + diff --git a/opensrp-connector/bin/src/test/resources/form/offsite_woman_followup/form_definition.json b/opensrp-connector/bin/src/test/resources/form/offsite_woman_followup/form_definition.json new file mode 100644 index 0000000000..4353ee25d1 --- /dev/null +++ b/opensrp-connector/bin/src/test/resources/form/offsite_woman_followup/form_definition.json @@ -0,0 +1,372 @@ +{ + "form_data_definition_version" : "1", + "form" : { + "bind_type" : "pkwoman", + "default_bind_path" : "/model/instance/Offsite_Woman_Followup_Form/", + "fields" : [ { + "name" : "id", + "shouldLoadValue" : true + }, { + "name" : "provider_uc", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/provider_uc", + "shouldLoadValue" : true + }, { + "name" : "provider_town", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/provider_town", + "shouldLoadValue" : true + }, { + "name" : "provider_city", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/provider_city", + "shouldLoadValue" : true + }, { + "name" : "provider_province", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/provider_province", + "shouldLoadValue" : true + }, { + "name" : "existing_landmark", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/existing_landmark", + "shouldLoadValue" : true + }, { + "name" : "existing_house_number", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/existing_house_number", + "shouldLoadValue" : true + }, { + "name" : "existing_street", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/existing_street", + "shouldLoadValue" : true + }, { + "name" : "existing_union_council", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/existing_union_council", + "shouldLoadValue" : true + }, { + "name" : "existing_town", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/existing_town", + "shouldLoadValue" : true + }, { + "name" : "existing_city_village", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/existing_city_village", + "shouldLoadValue" : true + }, { + "name" : "existing_province", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/existing_province", + "shouldLoadValue" : true + }, { + "name" : "existing_union_councilname", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/existing_union_councilname", + "shouldLoadValue" : true + }, { + "name" : "existing_townname", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/existing_townname", + "shouldLoadValue" : true + }, { + "name" : "existing_city_villagename", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/existing_city_villagename", + "shouldLoadValue" : true + }, { + "name" : "existing_provincename", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/existing_provincename", + "shouldLoadValue" : true + }, { + "name" : "existing_first_name", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/existing_first_name", + "shouldLoadValue" : true + }, { + "name" : "existing_last_name", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/existing_last_name", + "shouldLoadValue" : true + }, { + "name" : "existing_father_name", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/existing_father_name", + "shouldLoadValue" : true + }, { + "name" : "existing_husband_name", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/existing_husband_name", + "shouldLoadValue" : true + }, { + "name" : "existing_marriage", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/existing_marriage", + "shouldLoadValue" : true + }, { + "name" : "existing_birthdate", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/existing_calc_dob_confirm", + "shouldLoadValue" : true + }, { + "name" : "existing_gender", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/existing_gender", + "shouldLoadValue" : true + }, { + "name" : "existing_ethnicity", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/existing_ethnicity", + "shouldLoadValue" : true + }, { + "name" : "existing_client_reg_date", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/existing_client_reg_date", + "shouldLoadValue" : true + }, { + "name" : "existing_program_client_id", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/existing_program_client_id", + "shouldLoadValue" : true + }, { + "name" : "existing_epi_card_number", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/existing_epi_card_number", + "shouldLoadValue" : true + }, { + "name" : "e_tt1", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/e_tt1", + "shouldLoadValue" : true + }, { + "name" : "e_tt2", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/e_tt2", + "shouldLoadValue" : true + }, { + "name" : "e_tt3", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/e_tt3", + "shouldLoadValue" : true + }, { + "name" : "e_tt4", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/e_tt4", + "shouldLoadValue" : true + }, { + "name" : "e_tt5", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/e_tt5", + "shouldLoadValue" : true + }, { + "name" : "provider_id", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/provider_id", + "shouldLoadValue" : true + }, { + "name" : "provider_location_id", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/provider_location_id", + "shouldLoadValue" : true + }, { + "name" : "provider_location_name", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/provider_location_name", + "shouldLoadValue" : true + }, { + "name" : "provider_location_note", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/provider_location_note" + }, { + "name" : "start", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/start" + }, { + "name" : "end", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/end" + }, { + "name" : "today", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/today" + }, { + "name" : "deviceid", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/deviceid" + }, { + "name" : "subscriberid", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/subscriberid" + }, { + "name" : "simserial", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/simserial" + }, { + "name" : "phonenumber", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/phonenumber" + }, { + "name" : "client_reg_date_note", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/client_reg_date_note" + }, { + "name" : "program_client_id_note", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/program_client_id_note" + }, { + "name" : "epi_card_number", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/epi_card_number" + }, { + "name" : "first_name_note", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/first_name_note" + }, { + "name" : "last_name_note", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/last_name_note" + }, { + "name" : "client_age", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/client_age" + }, { + "name" : "birth_date_note", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/birth_date_note" + }, { + "name" : "gender_note", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/gender_note" + }, { + "name" : "father_name_note", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/father_name_note" + }, { + "name" : "marriage_note", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/marriage_note" + }, { + "name" : "husband_name_note", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/husband_name_note" + }, { + "name" : "ethnicity_note", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/ethnicity_note" + }, { + "name" : "address", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/address" + }, { + "name" : "address_change", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/address_change" + }, { + "name" : "province", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/province" + }, { + "name" : "city_village", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/city_village" + }, { + "name" : "town", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/town" + }, { + "name" : "union_council", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/union_council" + }, { + "name" : "house_number", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/house_number" + }, { + "name" : "street", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/street" + }, { + "name" : "landmark", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/landmark" + }, { + "name" : "center_gps", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/center_gps" + }, { + "name" : "pregnant", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/pregnant" + }, { + "name" : "edd_lmp", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/edd_lmp" + }, { + "name" : "edd", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/edd" + }, { + "name" : "lmp", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/lmp" + }, { + "name" : "ultrasound_date", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/ultrasound_date" + }, { + "name" : "ultrasound_weeks", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/ultrasound_weeks" + }, { + "name" : "edd_calc_lmp", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/edd_calc_lmp" + }, { + "name" : "edd_calc_ultrasound", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/edd_calc_ultrasound" + }, { + "name" : "edd_calc_lmp_formatted", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/edd_calc_lmp_formatted" + }, { + "name" : "edd_calc_ultrasound_formatted", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/edd_calc_ultrasound_formatted" + }, { + "name" : "lmp_calc_edd", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/lmp_calc_edd" + }, { + "name" : "lmp_calc_ultrasound", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/lmp_calc_ultrasound" + }, { + "name" : "lmp_calc_edd_formatted", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/lmp_calc_edd_formatted" + }, { + "name" : "lmp_calc_ultrasound_formatted", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/lmp_calc_ultrasound_formatted" + }, { + "name" : "final_edd", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/final_edd" + }, { + "name" : "final_lmp", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/final_lmp" + }, { + "name" : "ga_edd", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/ga_edd" + }, { + "name" : "ga_lmp", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/ga_lmp" + }, { + "name" : "ga_ult", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/ga_ult" + }, { + "name" : "final_edd_note", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/final_edd_note" + }, { + "name" : "final_lmp_note", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/final_lmp_note" + }, { + "name" : "final_ga", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/final_ga" + }, { + "name" : "final_ga_note", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/final_ga_note" + }, { + "name" : "vaccines", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/vaccines" + }, { + "name" : "tt1_retro", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/tt1_retro" + }, { + "name" : "tt_1_dose", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/tt_1_dose" + }, { + "name" : "tt2_retro", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/tt2_retro" + }, { + "name" : "tt_2_dose", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/tt_2_dose" + }, { + "name" : "tt3_retro", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/tt3_retro" + }, { + "name" : "tt_3_dose", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/tt_3_dose" + }, { + "name" : "tt4_retro", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/tt4_retro" + }, { + "name" : "tt_4_dose", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/tt_4_dose" + }, { + "name" : "vaccines_2", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/vaccines_2" + }, { + "name" : "vaccination_date", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/vaccination_date" + }, { + "name" : "tt1", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/tt1" + }, { + "name" : "tt_1_dose_today", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/tt_1_dose_today" + }, { + "name" : "tt2", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/tt2" + }, { + "name" : "tt_2_dose_today", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/tt_2_dose_today" + }, { + "name" : "tt3", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/tt3" + }, { + "name" : "tt_3_dose_today", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/tt_3_dose_today" + }, { + "name" : "tt4", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/tt4" + }, { + "name" : "tt_4_dose_today", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/tt_4_dose_today" + }, { + "name" : "tt5", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/tt5" + }, { + "name" : "tt_5_dose_today", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/tt_5_dose_today" + }, { + "name" : "instanceID", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/meta/instanceID" + } ] + } +} \ No newline at end of file diff --git a/opensrp-connector/bin/src/test/resources/form/offsite_woman_followup/model.xml b/opensrp-connector/bin/src/test/resources/form/offsite_woman_followup/model.xml new file mode 100644 index 0000000000..2b5e6a2d81 --- /dev/null +++ b/opensrp-connector/bin/src/test/resources/form/offsite_woman_followup/model.xml @@ -0,0 +1,1643 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + ${provider_province} + ${provider_city} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + minimal + + + + + + + + + + + + + + + + + + + + + + + + + + + + + static_instance-provinces-0 + kpk + + + static_instance-provinces-1 + sindh + + + static_instance-provinces-2 + balochistan + + + static_instance-provinces-3 + punjab + + + static_instance-provinces-4 + gilgit_baltistan + + + static_instance-provinces-5 + kashmir + + + static_instance-provinces-6 + fata + + + static_instance-provinces-7 + out_of_country + + + + + + + static_instance-ucs-0 + sindh + karachi + korangi + bilal_colony + + + static_instance-ucs-1 + sindh + karachi + korangi + nasir_colony + + + static_instance-ucs-2 + sindh + karachi + korangi + chakra_goth + + + static_instance-ucs-3 + sindh + karachi + korangi + mustafa_taj_colony + + + static_instance-ucs-4 + sindh + karachi + korangi + hundred_quarters + + + static_instance-ucs-5 + sindh + karachi + korangi + gulzar_colony + + + static_instance-ucs-6 + sindh + karachi + korangi + korangi_sector_33 + + + static_instance-ucs-7 + sindh + karachi + korangi + zaman_town + + + static_instance-ucs-8 + sindh + karachi + korangi + hasrat_mohani_colony + + + static_instance-ucs-9 + sindh + karachi + baldia + gulshan_e_ghazi + + + static_instance-ucs-10 + sindh + karachi + baldia + ittehad_town + + + static_instance-ucs-11 + sindh + karachi + baldia + islam_nagar + + + static_instance-ucs-12 + sindh + karachi + baldia + nai_abadi + + + static_instance-ucs-13 + sindh + karachi + baldia + saeedabad + + + static_instance-ucs-14 + sindh + karachi + baldia + muslim_mujahid_colony + + + static_instance-ucs-15 + sindh + karachi + baldia + muhajir_camp + + + static_instance-ucs-16 + sindh + karachi + baldia + rasheedabad + + + static_instance-ucs-17 + sindh + karachi + bin_qasim + ibrahim_hyderi + + + static_instance-ucs-18 + sindh + karachi + bin_qasim + rehri + + + static_instance-ucs-19 + sindh + karachi + bin_qasim + cattle_colony + + + static_instance-ucs-20 + sindh + karachi + bin_qasim + qaidabad + + + static_instance-ucs-21 + sindh + karachi + bin_qasim + landhi_colony + + + static_instance-ucs-22 + sindh + karachi + bin_qasim + gulshan_e_hadeed + + + static_instance-ucs-23 + sindh + karachi + bin_qasim + gaghar + + + static_instance-ucs-24 + sindh + karachi + gadap + murad_memon_goth + + + static_instance-ucs-25 + sindh + karachi + gadap + darsano_chana + + + static_instance-ucs-26 + sindh + karachi + gadap + gujro + + + static_instance-ucs-27 + sindh + karachi + gadap + songal + + + static_instance-ucs-28 + sindh + karachi + gadap + maymarabad + + + static_instance-ucs-29 + sindh + karachi + gadap + yousuf_goth + + + static_instance-ucs-30 + sindh + karachi + gadap + manghopir + + + static_instance-ucs-31 + sindh + karachi + gulberg + azizabad + + + static_instance-ucs-32 + sindh + karachi + gulberg + karimabad + + + static_instance-ucs-33 + sindh + karachi + gulberg + aisha_manzil + + + static_instance-ucs-34 + sindh + karachi + gulberg + ancholi + + + static_instance-ucs-35 + sindh + karachi + gulberg + naseerabad + + + static_instance-ucs-36 + sindh + karachi + gulberg + yaseenabad + + + static_instance-ucs-37 + sindh + karachi + gulberg + water_pump + + + static_instance-ucs-38 + sindh + karachi + gulberg + shafiq_mill_colony + + + static_instance-ucs-39 + sindh + karachi + gulshan + delhi_mercantile_society + + + static_instance-ucs-40 + sindh + karachi + gulshan + civic_centre + + + static_instance-ucs-41 + sindh + karachi + gulshan + pir_ilahi_buksh_colony + + + static_instance-ucs-42 + sindh + karachi + gulshan + essa_nagri + + + static_instance-ucs-43 + sindh + karachi + gulshan + gulshan_e_iqbal + + + static_instance-ucs-44 + sindh + karachi + gulshan + gillani_railway_station + + + static_instance-ucs-45 + sindh + karachi + gulshan + shanti_nagar + + + static_instance-ucs-46 + sindh + karachi + gulshan + jamali_colony + + + static_instance-ucs-47 + sindh + karachi + gulshan + gulshan_e_iqbal_ii + + + static_instance-ucs-48 + sindh + karachi + gulshan + pehlwan_goth + + + static_instance-ucs-49 + sindh + karachi + gulshan + matrovil_colony + + + static_instance-ucs-50 + sindh + karachi + gulshan + gulzar_e_hijri + + + static_instance-ucs-51 + sindh + karachi + gulshan + safooran_goth + + + static_instance-ucs-52 + sindh + karachi + jamshed + akhtar_colony + + + static_instance-ucs-53 + sindh + karachi + jamshed + manzoor_colony + + + static_instance-ucs-54 + sindh + karachi + jamshed + azam_basti + + + static_instance-ucs-55 + sindh + karachi + jamshed + chanesar_goth + + + static_instance-ucs-56 + sindh + karachi + jamshed + mahmudabad + + + static_instance-ucs-57 + sindh + karachi + jamshed + pechs + + + static_instance-ucs-58 + sindh + karachi + jamshed + pechs_ii + + + static_instance-ucs-59 + sindh + karachi + jamshed + jut_line + + + static_instance-ucs-60 + sindh + karachi + jamshed + central_jacob_lines + + + static_instance-ucs-61 + sindh + karachi + jamshed + jamshed_quarters + + + static_instance-ucs-62 + sindh + karachi + jamshed + garden_east + + + static_instance-ucs-63 + sindh + karachi + jamshed + soldier_bazar + + + static_instance-ucs-64 + sindh + karachi + jamshed + pakistan_quarters + + + static_instance-ucs-65 + sindh + karachi + kiamari + bhutta_village + + + static_instance-ucs-66 + sindh + karachi + kiamari + sultanabad + + + static_instance-ucs-67 + sindh + karachi + kiamari + kiamari_uc + + + static_instance-ucs-68 + sindh + karachi + kiamari + baba_bhit + + + static_instance-ucs-69 + sindh + karachi + kiamari + machar_colony + + + static_instance-ucs-70 + sindh + karachi + kiamari + maripur + + + static_instance-ucs-71 + sindh + karachi + kiamari + shershah + + + static_instance-ucs-72 + sindh + karachi + kiamari + gabo_pat + + + static_instance-ucs-73 + sindh + karachi + landhi + muzafarabad + + + static_instance-ucs-74 + sindh + karachi + landhi + muslimabad + + + static_instance-ucs-75 + sindh + karachi + landhi + dawood_chowrangi + + + static_instance-ucs-76 + sindh + karachi + landhi + moinabad + + + static_instance-ucs-77 + sindh + karachi + landhi + sharafi_goth + + + static_instance-ucs-78 + sindh + karachi + landhi + bhutto_nagar + + + static_instance-ucs-79 + sindh + karachi + landhi + khawaja_ajmeer_colony + + + static_instance-ucs-80 + sindh + karachi + landhi + landhi_uc + + + static_instance-ucs-81 + sindh + karachi + landhi + awami_colony + + + static_instance-ucs-82 + sindh + karachi + landhi + burmee_colony + + + static_instance-ucs-83 + sindh + karachi + landhi + korangi_uc + + + static_instance-ucs-84 + sindh + karachi + landhi + sherabad + + + static_instance-ucs-85 + sindh + karachi + liaquatabad + rizvia_society + + + static_instance-ucs-86 + sindh + karachi + liaquatabad + firdous_colony + + + static_instance-ucs-87 + sindh + karachi + liaquatabad + super_market + + + static_instance-ucs-88 + sindh + karachi + liaquatabad + dak_khana + + + static_instance-ucs-89 + sindh + karachi + liaquatabad + qasimabad + + + static_instance-ucs-90 + sindh + karachi + liaquatabad + bandhani_colony + + + static_instance-ucs-91 + sindh + karachi + liaquatabad + sharifabad + + + static_instance-ucs-92 + sindh + karachi + liaquatabad + commercial_area + + + static_instance-ucs-93 + sindh + karachi + liaquatabad + mujahid_colony + + + static_instance-ucs-94 + sindh + karachi + liaquatabad + nazimabad + + + static_instance-ucs-95 + sindh + karachi + liaquatabad + abbasi_shaheed + + + static_instance-ucs-96 + sindh + karachi + lyari + agra_taj_colony + + + static_instance-ucs-97 + sindh + karachi + lyari + daryaabad + + + static_instance-ucs-98 + sindh + karachi + lyari + nawabad + + + static_instance-ucs-99 + sindh + karachi + lyari + khada_memon_society + + + static_instance-ucs-100 + sindh + karachi + lyari + baghdadi + + + static_instance-ucs-101 + sindh + karachi + lyari + shah_baig_line + + + static_instance-ucs-102 + sindh + karachi + lyari + bihar_colony + + + static_instance-ucs-103 + sindh + karachi + lyari + ragiwara + + + static_instance-ucs-104 + sindh + karachi + lyari + singo_line + + + static_instance-ucs-105 + sindh + karachi + lyari + chakiwara + + + static_instance-ucs-106 + sindh + karachi + lyari + allama_iqbal_colony + + + static_instance-ucs-107 + sindh + karachi + malir + model_colony + + + static_instance-ucs-108 + sindh + karachi + malir + kala_board + + + static_instance-ucs-109 + sindh + karachi + malir + saudabad + + + static_instance-ucs-110 + sindh + karachi + malir + khokhra_par + + + static_instance-ucs-111 + sindh + karachi + malir + jafar_e_tayyar + + + static_instance-ucs-112 + sindh + karachi + malir + gharibabad + + + static_instance-ucs-113 + sindh + karachi + malir + ghazi_brohi_goth + + + static_instance-ucs-114 + sindh + karachi + new_karachi + kalyana + + + static_instance-ucs-115 + sindh + karachi + new_karachi + sir_syed_colony + + + static_instance-ucs-116 + sindh + karachi + new_karachi + fatima_jinnah_colony + + + static_instance-ucs-117 + sindh + karachi + new_karachi + godhra + + + static_instance-ucs-118 + sindh + karachi + new_karachi + abu_zar_ghaffari + + + static_instance-ucs-119 + sindh + karachi + new_karachi + hakim_ahsan + + + static_instance-ucs-120 + sindh + karachi + new_karachi + madina_colony + + + static_instance-ucs-121 + sindh + karachi + new_karachi + faisal_colony + + + static_instance-ucs-122 + sindh + karachi + new_karachi + khamiso_goth + + + static_instance-ucs-123 + sindh + karachi + new_karachi + mustufa_colony + + + static_instance-ucs-124 + sindh + karachi + new_karachi + khawaja_ajmeer_nagri + + + static_instance-ucs-125 + sindh + karachi + new_karachi + gulshan_e_saeed + + + static_instance-ucs-126 + sindh + karachi + new_karachi + shah_nawaz_bhutto_colony + + + static_instance-ucs-127 + sindh + karachi + north_nazimabad + paposh_nagar + + + static_instance-ucs-128 + sindh + karachi + north_nazimabad + pahar_ganj + + + static_instance-ucs-129 + sindh + karachi + north_nazimabad + khandu_goth + + + static_instance-ucs-130 + sindh + karachi + north_nazimabad + hyderi + + + static_instance-ucs-131 + sindh + karachi + north_nazimabad + sakhi_hassan + + + static_instance-ucs-132 + sindh + karachi + north_nazimabad + farooq_e_azam + + + static_instance-ucs-133 + sindh + karachi + north_nazimabad + nusrat_bhutto_colony + + + static_instance-ucs-134 + sindh + karachi + north_nazimabad + shadman_town + + + static_instance-ucs-135 + sindh + karachi + north_nazimabad + buffer_zone + + + static_instance-ucs-136 + sindh + karachi + north_nazimabad + buffer_zone_ii + + + static_instance-ucs-137 + sindh + karachi + orangi + mominabad + + + static_instance-ucs-138 + sindh + karachi + orangi + haryana_colony + + + static_instance-ucs-139 + sindh + karachi + orangi + hanifabad + + + static_instance-ucs-140 + sindh + karachi + orangi + mohammad_nagar + + + static_instance-ucs-141 + sindh + karachi + orangi + madina_colony_orangi + + + static_instance-ucs-142 + sindh + karachi + orangi + ghaziabad + + + static_instance-ucs-143 + sindh + karachi + orangi + chisti_nagar + + + static_instance-ucs-144 + sindh + karachi + orangi + bilal_colony_orangi + + + static_instance-ucs-145 + sindh + karachi + orangi + iqbal_baloch_colony + + + static_instance-ucs-146 + sindh + karachi + orangi + ghabool_town + + + static_instance-ucs-147 + sindh + karachi + orangi + data_nagar + + + static_instance-ucs-148 + sindh + karachi + orangi + mujahidabad + + + static_instance-ucs-149 + sindh + karachi + orangi + baloch_goth + + + static_instance-ucs-150 + sindh + karachi + saddar + old_haji_camp + + + static_instance-ucs-151 + sindh + karachi + saddar + garden + + + static_instance-ucs-152 + sindh + karachi + saddar + kharadar + + + static_instance-ucs-153 + sindh + karachi + saddar + city_railway_colony + + + static_instance-ucs-154 + sindh + karachi + saddar + nanak_wara + + + static_instance-ucs-155 + sindh + karachi + saddar + gazdarabad + + + static_instance-ucs-156 + sindh + karachi + saddar + millat_nagar_islam_pura + + + static_instance-ucs-157 + sindh + karachi + saddar + saddar_uc + + + static_instance-ucs-158 + sindh + karachi + saddar + civil_line + + + static_instance-ucs-159 + sindh + karachi + saddar + clifton + + + static_instance-ucs-160 + sindh + karachi + saddar + kehkashan + + + static_instance-ucs-161 + sindh + karachi + shah_faisal + natha_khan_goth + + + static_instance-ucs-162 + sindh + karachi + shah_faisal + pak_sadat_colony + + + static_instance-ucs-163 + sindh + karachi + shah_faisal + drigh_colony + + + static_instance-ucs-164 + sindh + karachi + shah_faisal + raita_plot + + + static_instance-ucs-165 + sindh + karachi + shah_faisal + moria_khan_goth + + + static_instance-ucs-166 + sindh + karachi + shah_faisal + rafa_e_aam_society + + + static_instance-ucs-167 + sindh + karachi + shah_faisal + al_falah_society + + + static_instance-ucs-168 + sindh + karachi + site + pak_colony + + + static_instance-ucs-169 + sindh + karachi + site + old_golimar + + + static_instance-ucs-170 + sindh + karachi + site + jahanabad + + + static_instance-ucs-171 + sindh + karachi + site + metrovil + + + static_instance-ucs-172 + sindh + karachi + site + bhawani_chali + + + static_instance-ucs-173 + sindh + karachi + site + frontier_colony + + + static_instance-ucs-174 + sindh + karachi + site + banaras_colony + + + static_instance-ucs-175 + sindh + karachi + site + qasba_colony + + + static_instance-ucs-176 + sindh + karachi + site + islamia_colony + + + static_instance-ucs-177 + na + na + na + other + + + static_instance-ucs-178 + na + na + na + not_applicable + + + + + + + static_instance-gender-0 + male + + + static_instance-gender-1 + female + + + static_instance-gender-2 + transgender + + + + + + + static_instance-vaccines-0 + TT1 + + + static_instance-vaccines-1 + TT2 + + + static_instance-vaccines-2 + TT3 + + + static_instance-vaccines-3 + TT4 + + + static_instance-vaccines-4 + TT5 + + + + + + + static_instance-towns-0 + sindh + karachi + korangi + + + static_instance-towns-1 + sindh + karachi + landhi + + + static_instance-towns-2 + sindh + karachi + baldia + + + static_instance-towns-3 + sindh + karachi + bin_qasim + + + static_instance-towns-4 + sindh + karachi + gadap + + + static_instance-towns-5 + sindh + karachi + gulberg + + + static_instance-towns-6 + sindh + karachi + gulshan + + + static_instance-towns-7 + sindh + karachi + jamshed + + + static_instance-towns-8 + sindh + karachi + kiamari + + + static_instance-towns-9 + sindh + karachi + liaquatabad + + + static_instance-towns-10 + sindh + karachi + lyari + + + static_instance-towns-11 + sindh + karachi + malir + + + static_instance-towns-12 + sindh + karachi + new_karachi + + + static_instance-towns-13 + sindh + karachi + north_nazimabad + + + static_instance-towns-14 + sindh + karachi + orangi + + + static_instance-towns-15 + sindh + karachi + saddar + + + static_instance-towns-16 + sindh + karachi + shah_faisal + + + static_instance-towns-17 + sindh + karachi + site + + + static_instance-towns-18 + na + na + other + + + static_instance-towns-19 + na + na + not_applicable + + + + + + + static_instance-cities-0 + sindh + karachi + + + static_instance-cities-1 + punjab + hafizabad + + + static_instance-cities-2 + punjab + muzaffargarh + + + static_instance-cities-3 + na + other + + + static_instance-cities-4 + na + not_applicable + + + + + + + static_instance-edd_lmp-0 + edd + + + static_instance-edd_lmp-1 + lmp + + + static_instance-edd_lmp-2 + ultrasound + + + static_instance-edd_lmp-3 + none + + + + + + + static_instance-yes_no-0 + yes + + + static_instance-yes_no-1 + no + + + + diff --git a/opensrp-connector/bin/src/test/resources/form/pnc_1st_registration/form.json b/opensrp-connector/bin/src/test/resources/form/pnc_1st_registration/form.json new file mode 100644 index 0000000000..ac61605e10 --- /dev/null +++ b/opensrp-connector/bin/src/test/resources/form/pnc_1st_registration/form.json @@ -0,0 +1,373 @@ +{ + "name": "pnc_first_registration_motherdetails", + "title": "PNC Registration", + "sms_keyword": "pnc_1st_registration", + "default_language": "default", + "instance": { + "encounter_type": "PNC Registration" + }, + "version": "201504011203", + "id_string": "pnc_1st_registration", + "type": "survey", + "children": [ + { + "instance": { + "openmrs_entity_id": "location_id", + "openmrs_entity": "encounter" + }, + "type": "text", + "name": "location", + "label": "Location" + }, + { + "instance": { + "openmrs_entity_id": "encounter_date", + "openmrs_entity": "encounter" + }, + "type": "today", + "name": "today" + }, + { + "instance": { + "openmrs_entity_id": "encounter_start", + "openmrs_entity": "encounter" + }, + "type": "start", + "name": "start" + }, + { + "instance": { + "openmrs_entity_id": "encounter_end", + "openmrs_entity": "encounter" + }, + "type": "end", + "name": "end" + }, + { + "instance": { + "openmrs_entity_id": "OpenSRPID", + "openmrs_entity": "person_identifier" + }, + "type": "integer", + "name": "mother_id", + "label": "Mother ID number:" + }, + { + "name": "gender", + "bind": { + "required": "yes" + }, + "label": "Gender? ಮಗುವಿನ ಲಿಂಗ?", + "instance": { + "openmrs_entity_id": "gender", + "openmrs_entity": "person" + }, + "type": "select one", + "children": [ + { + "instance": { + "openmrs_code": "1534AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "male", + "label": "Male ಗಂಡು" + }, + { + "instance": { + "openmrs_code": "1535AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "female", + "label": "Female ಹೆಣ್ಣು" + } + ] + }, + { + "instance": { + "openmrs_entity_id": "birthdate", + "openmrs_entity": "person" + }, + "type": "date", + "name": "mother_birthdate", + "label": "Mother's DOB?" + }, + { + "instance": { + "openmrs_entity_id": "first_name", + "openmrs_entity": "person" + }, + "type": "text", + "name": "mother_first_name", + "label": "Mother's first name?" + }, + { + "instance": { + "openmrs_entity_id": "last_name", + "openmrs_entity": "person" + }, + "type": "text", + "name": "mother_last_name", + "label": "Mother's last name?" + }, + { + "bind": { + "required": "yes", + "constraint": ".<=${today}" + }, + "type": "date", + "instance": { + "openmrs_entity_id": "5599AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept" + }, + "name": "delivery_date", + "label": "Delivery date? ಹೆರಿಗೆ ದಿನಾಂಕ?" + }, + { + "instance": { + "openmrs_entity_id": "162724AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept" + }, + "type": "text", + "name": "delivery_facility_name", + "label": "Name of delivery facility? ಹೆರಿಗೆಯಾದ ಸ್ಥಳದ ಹೆಸರು?" + }, + { + "name": "delivery_skilled", + "bind": { + "required": "yes" + }, + "label": "Delivery attended by SBA? ತರಬೇತಿ ಹೊಂದಿದ ಹೆರಿಗೆ ಸಹಾಯಕರು ಹೆರಿಗೆಯಲ್ಲಿ ಹಾಜರಿದ್ದರೆ?", + "instance": { + "openmrs_entity_id": "160083AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept" + }, + "type": "select one", + "children": [ + { + "instance": { + "openmrs_code": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "yes", + "label": "Yes ಹೌದು" + }, + { + "instance": { + "openmrs_code": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "no", + "label": "No ಇಲ್ಲ" + } + ] + }, + { + "instance": { + "openmrs_entity_id": "5630AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept" + }, + "label": "Type of delivery? ಯಾವ ವಿಧದ ಹೆರಿಗೆ?", + "type": "select one", + "children": [ + { + "instance": { + "openmrs_code": "1170AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "normal", + "label": "Normal ಸಾಮಾನ್ಯ" + }, + { + "instance": { + "openmrs_code": "1171AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "cesarean", + "label": "Cesarean ಸಿಸೇರಿಯನ್" + }, + { + "instance": { + "openmrs_code": "118159AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "instrumental_forcep", + "label": "Instrumental / Forcep ಉಪಕರಣಗಳಿಂದ ಮಾಡುವ ಹೆರಿಗೆ" + } + ], + "name": "delivery_type" + }, + { + "name": "delivery_outcome", + "bind": { + "required": "yes" + }, + "label": "Delivery outcome? ಹೆರಿಗೆ ಫಲಿತಾಂಶವೇನು?", + "instance": { + "openmrs_entity_id": "159917AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept" + }, + "type": "select one", + "children": [ + { + "instance": { + "openmrs_code": "151849AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "live_birth", + "label": "Live Birth ಜೀವಂತ ಜನನ" + }, + { + "instance": { + "openmrs_code": "125872AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "still_birth", + "label": "Still Birth ನಿರ್ಜೀವ ಜನನ" + } + ] + }, + { + "instance": { + "openmrs_entity_id": "1053AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept" + }, + "type": "int", + "name": "parity", + "label": "Parity" + }, + { + "bind": { + "relevant": "${delivery_outcome} = 'live_birth'" + }, + "type": "int", + "instance": { + "openmrs_entity_id": "160601AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept" + }, + "name": "num_livebirths", + "label": "Live births" + }, + { + "bind": { + "relevant": "${delivery_outcome} = 'still_birth'" + }, + "type": "int", + "instance": { + "openmrs_entity_id": "160077AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept" + }, + "name": "num_stillbirths", + "label": "Still births" + }, + { + "instance": { + "openmrs_entity_id": "1576AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept" + }, + "label": "What delivery complications were there? ಯಾವ ಹೆರಿಗೆ ತೊಂದರೆಗಳು ಉಂಟಾದವು?", + "type": "select all that apply", + "children": [ + { + "instance": { + "openmrs_code": "230AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "hemorrhage", + "label": "Hemorrhage ರಕ್ತಸ್ರಾವ" + }, + { + "instance": { + "openmrs_code": "114127AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "placenta_previa", + "label": "Placenta previa ಹಿಂದಿನ ಗರ್ಭದಲ್ಲಿ ಮಾಸು ಮುಂದಿರುವುದು" + }, + { + "instance": { + "openmrs_code": "128420AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "cord_prolapse", + "label": "Cord prolapse ಬಳ್ಳಿಯ ಸರಿತ" + }, + { + "instance": { + "openmrs_code": "115036AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "prolonged_labor", + "label": "Prolonged / obstructed labor ದೀರ್ಘಕಾಲೀನ / ಅಡಚಣೆಯನ್ನು ತಂದೊಡ್ಡುವ ಹೆರಿಗೆ ನೋವು" + }, + { + "instance": { + "openmrs_code": "1172AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "abnormal_presentation", + "label": "Abnormal presentation ಅಪಸಾಮಾನ್ಯ ಪ್ರಸ್ತುತಿ" + }, + { + "instance": { + "openmrs_code": "126886AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "perineal_tear_2nd_degree", + "label": "Perineal tear (2 degree)" + }, + { + "instance": { + "openmrs_code": "124857AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "perineal_tear_3rd_degree", + "label": "Perineal tear (3 degree)" + }, + { + "instance": { + "openmrs_code": "39911AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "perineal_tear_4th_degree", + "label": "Perineal tear (4 degree)" + }, + { + "instance": { + "openmrs_code": "120222AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "others", + "label": "Others ಇತರೆ" + } + ], + "name": "complications" + }, + { + "name": "woman_survived", + "bind": { + "required": "yes" + }, + "label": "Woman survived childbirth? ಮಗುವಿನ ಜನನದ ನಂತರ ಮಹಿಳೆ ಬದುಕುಳಿದರೆ?", + "instance": { + "openmrs_entity_id": "134612AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept" + }, + "type": "select one", + "children": [ + { + "instance": { + "openmrs_code": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "yes", + "label": "Yes ಹೌದು" + }, + { + "instance": { + "openmrs_code": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "no", + "label": "No ಇಲ್ಲ" + } + ] + }, + { + "control": { + "bodyless": true + }, + "type": "group", + "children": [ + { + "bind": { + "readonly": "true()", + "calculate": "concat('uuid:', uuid())" + }, + "type": "calculate", + "name": "instanceID" + } + ], + "name": "meta" + } + ] +} \ No newline at end of file diff --git a/opensrp-connector/bin/src/test/resources/form/pnc_1st_registration/form.xml b/opensrp-connector/bin/src/test/resources/form/pnc_1st_registration/form.xml new file mode 100644 index 0000000000..d9501c2e3c --- /dev/null +++ b/opensrp-connector/bin/src/test/resources/form/pnc_1st_registration/form.xml @@ -0,0 +1,29 @@ + +
+

PNC Registration

+ + + + +
Gender? ಮಗುವಿನ ಲಿಂಗ?* +
+ + + + + +
Delivery attended by SBA? ತರಬೇತಿ ಹೊಂದಿದ ಹೆರಿಗೆ ಸಹಾಯಕರು ಹೆರಿಗೆಯಲ್ಲಿ ಹಾಜರಿದ್ದರೆ?* +
+
Type of delivery? ಯಾವ ವಿಧದ ಹೆರಿಗೆ? +
+
Delivery outcome? ಹೆರಿಗೆ ಫಲಿತಾಂಶವೇನು?* +
+ + + +
What delivery complications were there? ಯಾವ ಹೆರಿಗೆ ತೊಂದರೆಗಳು ಉಂಟಾದವು? +
+
Woman survived childbirth? ಮಗುವಿನ ಜನನದ ನಂತರ ಮಹಿಳೆ ಬದುಕುಳಿದರೆ?* +
+ +XML to HTML transformation for form took 0.03 secondsThis validation is yet not functional.
diff --git a/opensrp-connector/bin/src/test/resources/form/pnc_1st_registration/form_definition.json b/opensrp-connector/bin/src/test/resources/form/pnc_1st_registration/form_definition.json new file mode 100644 index 0000000000..f715275a86 --- /dev/null +++ b/opensrp-connector/bin/src/test/resources/form/pnc_1st_registration/form_definition.json @@ -0,0 +1,89 @@ +{ + "form_data_definition_version": "1", + "form": { + "default_bind_path": "/model/instance/pnc_first_registration_motherdetails", + "bind_type": "demo_mother", + "fields": [ + { + "name":"id", + "shouldLoadValue": true + }, + { + "name": "location", + "bind": "/model/instance/pnc_first_registration_motherdetails/location" + }, + { + "name": "today", + "bind": "/model/instance/pnc_first_registration_motherdetails/today" + }, + { + "name": "start", + "bind": "/model/instance/pnc_first_registration_motherdetails/start" + }, + { + "name": "end", + "bind": "/model/instance/pnc_first_registration_motherdetails/end" + }, + { + "name": "mother_id", + "bind": "/model/instance/pnc_first_registration_motherdetails/mother_id" + }, + { + "name": "gender", + "bind": "/model/instance/pnc_first_registration_motherdetails/gender" + }, + { + "name": "mother_birthdate", + "bind": "/model/instance/pnc_first_registration_motherdetails/mother_birthdate" + }, + { + "name": "mother_first_name", + "bind": "/model/instance/pnc_first_registration_motherdetails/mother_first_name" + }, + { + "name": "mother_last_name", + "bind": "/model/instance/pnc_first_registration_motherdetails/mother_last_name" + }, + { + "name": "delivery_date", + "bind": "/model/instance/pnc_first_registration_motherdetails/delivery_date" + }, + { + "name": "delivery_facility_name", + "bind": "/model/instance/pnc_first_registration_motherdetails/delivery_facility_name" + }, + { + "name": "delivery_skilled", + "bind": "/model/instance/pnc_first_registration_motherdetails/delivery_skilled" + }, + { + "name": "delivery_type", + "bind": "/model/instance/pnc_first_registration_motherdetails/delivery_type" + }, + { + "name": "delivery_outcome", + "bind": "/model/instance/pnc_first_registration_motherdetails/delivery_outcome" + }, + { + "name": "parity", + "bind": "/model/instance/pnc_first_registration_motherdetails/parity" + }, + { + "name": "num_livebirths", + "bind": "/model/instance/pnc_first_registration_motherdetails/num_livebirths" + }, + { + "name": "num_stillbirths", + "bind": "/model/instance/pnc_first_registration_motherdetails/num_stillbirths" + }, + { + "name": "complications", + "bind": "/model/instance/pnc_first_registration_motherdetails/complications" + }, + { + "name": "woman_survived", + "bind": "/model/instance/pnc_first_registration_motherdetails/woman_survived" + } + ] + } +} \ No newline at end of file diff --git a/opensrp-connector/bin/src/test/resources/form/pnc_1st_registration/form_submission.json b/opensrp-connector/bin/src/test/resources/form/pnc_1st_registration/form_submission.json new file mode 100644 index 0000000000..7cdcb1c63b --- /dev/null +++ b/opensrp-connector/bin/src/test/resources/form/pnc_1st_registration/form_submission.json @@ -0,0 +1,135 @@ +{ + "anmId": "admin", + "clientVersion": "1426830449320", + "entityId": "b716d938-1aea-40ae-a081-9ddddddcccc9", + "formDataDefinitionVersion": "5", + "formName": "pnc_1st_registration", + "formInstance": { + "form_data_definition_version": "1", + "form": { + "default_bind_path": "/model/instance/pnc_first_registration_motherdetails", + "bind_type": "demo_mother", + "fields": [ + { + "name": "id", + "shouldLoadValue": true, + "source": "demo_mother.id", + "value": "aec8e1a5-ab11-47ac-8bc0-ff1e7146e342" + }, + { + "name": "location", + "bind": "/model/instance/pnc_first_registration_motherdetails/location", + "source": "demo_mother.location", + "value": "testloc" + }, + { + "name": "today", + "bind": "/model/instance/pnc_first_registration_motherdetails/today", + "source": "demo_mother.today", + "value": "2015-04-02" + }, + { + "name": "start", + "bind": "/model/instance/pnc_first_registration_motherdetails/start", + "source": "demo_mother.start", + "value": "2015-04-02T04:49:16.000-00:00" + }, + { + "name": "end", + "bind": "/model/instance/pnc_first_registration_motherdetails/end", + "source": "demo_mother.end", + "value": "2015-04-02T04:49:16.000-00:00" + }, + { + "name": "mother_id", + "bind": "/model/instance/pnc_first_registration_motherdetails/mother_id", + "source": "demo_mother.mother_id", + "value": "234" + }, + { + "name": "gender", + "bind": "/model/instance/pnc_first_registration_motherdetails/gender", + "source": "demo_mother.gender", + "value": "male" + }, + { + "name": "mother_birthdate", + "bind": "/model/instance/pnc_first_registration_motherdetails/mother_birthdate", + "source": "demo_mother.mother_birthdate", + "value": "1989-01-31" + }, + { + "name": "mother_first_name", + "bind": "/model/instance/pnc_first_registration_motherdetails/mother_first_name", + "source": "demo_mother.mother_first_name", + "value": "jamila" + }, + { + "name": "mother_last_name", + "bind": "/model/instance/pnc_first_registration_motherdetails/mother_last_name", + "source": "demo_mother.mother_last_name", + "value": "rashid" + }, + { + "name": "delivery_date", + "bind": "/model/instance/pnc_first_registration_motherdetails/delivery_date", + "source": "demo_mother.delivery_date", + "value": "2015-04-01" + }, + { + "name": "delivery_facility_name", + "bind": "/model/instance/pnc_first_registration_motherdetails/delivery_facility_name", + "source": "demo_mother.delivery_facility_name", + "value": "moghbazar health center" + }, + { + "name": "delivery_skilled", + "bind": "/model/instance/pnc_first_registration_motherdetails/delivery_skilled", + "source": "demo_mother.delivery_skilled", + "value": "yes" + }, + { + "name": "delivery_type", + "bind": "/model/instance/pnc_first_registration_motherdetails/delivery_type", + "source": "demo_mother.delivery_type", + "value": "normal" + }, + { + "name": "delivery_outcome", + "bind": "/model/instance/pnc_first_registration_motherdetails/delivery_outcome", + "source": "demo_mother.delivery_outcome", + "value": "live_birth" + }, + { + "name": "parity", + "bind": "/model/instance/pnc_first_registration_motherdetails/parity", + "source": "demo_mother.parity", + "value": "1" + }, + { + "name": "num_livebirths", + "bind": "/model/instance/pnc_first_registration_motherdetails/num_livebirths", + "source": "demo_mother.num_livebirths", + "value": "1" + }, + { + "name": "num_stillbirths", + "bind": "/model/instance/pnc_first_registration_motherdetails/num_stillbirths", + "source": "demo_mother.num_stillbirths" + }, + { + "name": "complications", + "bind": "/model/instance/pnc_first_registration_motherdetails/complications", + "source": "demo_mother.complications", + "value": "hemorrhage" + }, + { + "name": "woman_survived", + "bind": "/model/instance/pnc_first_registration_motherdetails/woman_survived", + "source": "demo_mother.woman_survived", + "value": "yes" + } + ] + } + } +} \ No newline at end of file diff --git a/opensrp-connector/bin/src/test/resources/form/pnc_1st_registration/model.xml b/opensrp-connector/bin/src/test/resources/form/pnc_1st_registration/model.xml new file mode 100644 index 0000000000..02529770ad --- /dev/null +++ b/opensrp-connector/bin/src/test/resources/form/pnc_1st_registration/model.xml @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/opensrp-connector/bin/src/test/resources/form/psrf_form/form.json b/opensrp-connector/bin/src/test/resources/form/psrf_form/form.json new file mode 100644 index 0000000000..f211dba17a --- /dev/null +++ b/opensrp-connector/bin/src/test/resources/form/psrf_form/form.json @@ -0,0 +1 @@ +{"name":"PregnancySurveillanceAndRegistrationForm","title":"গর্ভাবস্থা সনাক্তকরন ও নিবন্ধন ফর্ম","sms_keyword":"PregnancySurveillanceAndRegistrationForm","default_language":"Bengali","instance":{"encounter_type":"Pregnancy Surveillance and Registration"},"version":"201512030704","id_string":"PregnancySurveillanceAndRegistrationForm","type":"survey","children":[{"type":"hidden","name":"version","label":{"English":"TechVersion: v1.3 Sep 13, 2015\nFormVersion: v1.0"}},{"type":"hidden","name":"changes","label":{"English":"NN: Put some comments for Bangla Translation\nKZ: Add two new questions: FWPSRPHONE and FWPSRPHONENUM; added answer options yn_unknown\nKZ: psfvisitstatus is now two digits for all fields (01, 02..)\nKZ: Display note for not pregnant - changed to 8 weeks from 5 weeks\nKZ: Pregnancy wantedness (woman) English label changed.\nKZ: Pregnancy wantedness answer choices updated to preg_want from yn_dk\nKZ: Added to the English label for first pregnancy, Bangla label changed to match (PREVPREG). Changed Relevant skip pattern to reflect change in directionality of primi vs. multi gravida.\nKZ: FWPSRPREGTWYRS - added phrase to English label (exluding this current pregnancy)\nKZ: Re-ordered pregnancy conditions question (moved after previous pregnancy complications)\nKZ: Changed MUAC question label in English and Bangla. Meaning is the same.\nCG: Corrected spelling of 'misscarriage' (two r's)\nCG: Converted risk questions into a table list (see rows 40-46)\nCG: Removed .xlsx from file name - when you download this file, .xlsx is automatically appended\nCG: Corrected relevant logic for psrf_met group\nCG: Change label to \"select one response for each condition\" (row 41)\nKZ: Changed wording of \"have you ever had a live born baby who later died within 1 month\"... English and Bangla labels.\nKZ: Deleted CG's crossed off \"which of the following conditions question and added variable names to the conditions in the new format.\nKZ: Deleted Height question\nKZ: Changed constraint message content on previous live births question\nKZ: Added risk factor calculation based on FWA collected data at bottom of form.\nKZ: Added to HHRICE label (... or dhan)\nKZ: Changed labels on phone ownership / phone number questions.\nNN:Corrected the varibale name 'FWPSRPREGWTD' in FWHRP calculation.\nNN: Updated the regex of MUAC\nKZ: Changed label on WOMEDU to remove leading zero prompts\nKZ: Changed WOMEDU back to text, adding leading zeroes back into prompts.\n22/9\nNN: Added 'psrf_schedule_logic', because it is required to generate schedule from PSRF\n5/10\nNN: Added the yellow highlighted fields 'existing_mauzapara' under hidden field's section and calculation fields under 'psrf_pregnant' group. These fields will be required for the development of ANC register.\n18/10\nNN:Added two hidden variables for developers use- user_type and external_user_ID\n15/11\nNN: Updated psrf_schedule_logic calculation.\nMade the 'User_type' calculate field instead of hidden.\nCG: (16/11):\nRemoved OpenMRS mappings for encounter start and end. These will need to be mapped to concepts instead of encounter. PK team has requested these concepts already. We will add once concepts are added to CIEL dictionary"}},{"type":"hidden","name":"existing_mauzapara"},{"type":"hidden","name":"existing_gobhhid"},{"type":"hidden","name":"existing_jivhhid"},{"type":"hidden","name":"existing_first_name"},{"type":"hidden","name":"existing_husname"},{"type":"hidden","name":"existing_wom_nid"},{"type":"hidden","name":"existing_wom_bid"},{"type":"hidden","name":"existing_wom_age"},{"type":"hidden","name":"existing_ELCO"},{"instance":{"openmrs_entity_id":"location_id","openmrs_entity":"encounter"},"type":"hidden","name":"existing_location"},{"instance":{"openmrs_entity_id":"encounter_date","openmrs_entity":"encounter"},"type":"today","name":"today"},{"type":"start","name":"start"},{"type":"end","name":"end"},{"name":"FWPSRDATE","hint":{"Bengali":"অনুগ্রহ করে আজকের তারিখ দিন","English":"Please enter today's date"},"bind":{"jr:constraintMsg":{"English":"Date cannot be greater than today's date"},"required":"yes","constraint":".<=${today}"},"label":{"Bengali":"সাক্ষাৎকারের তারিখ","English":"Date of Interview"},"instance":{"openmrs_entity_id":"160753AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"date"},{"type":"note","name":"FWCONFIRMATION","label":{"Bengali":"\"মহিলার নাম, সরকারী খানা নম্বর ও জীবিতা খানা নম্বর সঠিক কিনা তা নিশ্চিত করুন।\" \nমহিলার নাম: ${existing_first_name}\nGoB HHID: ${existing_gobhhid}\nJiVitA HHID: ${existing_jivhhid}","English":"Confirm woman’s name, GoB HHID and JiVitA HHID are correct:\n\nName: ${existing_first_name}\nGoB HHID: ${existing_gobhhid}\nJiVitA HHID: ${existing_jivhhid}"}},{"name":"FWPSRSTS","bind":{"required":"yes"},"label":{"Bengali":"গর্ভাবস্থা সনাক্তকরণ ভিজিট স্ট্যাটাস","English":"Pregnancy Surveillance Visit Status"},"instance":{"openmrs_entity_id":"163088AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"select one","children":[{"instance":{"openmrs_code":"162961AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"01","label":{"Bengali":"মহিলার সাথে দেখা হয়েছে","English":"Met"}},{"instance":{"openmrs_code":"1899AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"02","label":{"Bengali":"মহিলার সাথে দেখা হয়নি","English":"Not Met"}},{"instance":{"openmrs_code":"5990AAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"03","label":{"Bengali":"বয়সের কারনে মাসিক একেবারে উঠে গেছে","English":"Women Menopausal"}},{"instance":{"openmrs_code":"5276AAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"04","label":{"Bengali":"মহিলা স্থায়ী পদ্ধতি গ্রহণ করেছেন","English":"Woman Sterilized"}},{"instance":{"openmrs_code":"162959AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"44","label":{"Bengali":"স্বামী স্থায়ী পদ্ধতি গ্রহণ করেছেন","English":"Husband Sterilized"}},{"instance":{"openmrs_code":"163007AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"05","label":{"Bengali":"তালাকপ্রাপ্তা/আলাদা থাকেন","English":"Divorced / Separated"}},{"instance":{"openmrs_code":"128453AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"06","label":{"Bengali":"সাক্ষাৎকার দিতে সম্মতি দেন নি","English":"Refused"}},{"instance":{"openmrs_code":"160415AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"07","label":{"Bengali":"স্থায়ী ভাবে অন্যত্র চলে গেছেন","English":"Permanently Moved"}},{"instance":{"openmrs_code":"159AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"08","label":{"Bengali":"মহিলা মারা গেছেন","English":"Woman Died"}},{"instance":{"openmrs_code":"5561AAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"88","label":{"Bengali":"স্বামী মারা গেছেন","English":"Husband Died"}}]},{"bind":{"relevant":"${FWPSRSTS} ='01'"},"label":{"Bengali":"গর্ভাবস্থা সনাক্তকরণ","English":"Pregnancy Surveillance"},"type":"group","children":[{"name":"FWPSRLMP","hint":{"Bengali":"মহিলার শেষ মাসিক শুরুর তারিখটি লিপিবদ্ধ করুন","English":"Please record the LMP date for the woman."},"bind":{"jr:constraintMsg":{"English":"Date cannot be greater than today's date"},"required":"yes","constraint":".<=${today}"},"label":{"Bengali":"আপনার শেষ মাসিক কবে শুরু হয়েছিলো?","English":"What was the date on the first day of your last menstrual period?"},"instance":{"openmrs_entity_id":"1427AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"date"},{"name":"FWPSRPREGSTS","bind":{"relevant":"(${FWPSRLMP} + 30) <= ${today}","required":"yes"},"label":{"Bengali":"আপনি শেষ মাসিক শুরুর যে তারিখ বললেন সেই অনুযায়ী মনে হচ্ছে যে আপনি গর্ভবতী হতে পারেন। আপনি কি বর্তমানে গর্ভবতী?","English":"Based on your LMP date as you mentioned, it indicates you may be pregnant. Are you currently pregnant?"},"instance":{"openmrs_entity_id":"162942AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"select one","children":[{"instance":{"openmrs_code":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"0","label":{"Bengali":"না","English":"No"}},{"instance":{"openmrs_code":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"1","label":{"Bengali":"হ্যাঁ","English":"Yes"}},{"instance":{"openmrs_code":"1067AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"9","label":{"Bengali":"জানি না","English":"Don't Know"}}]},{"bind":{"relevant":"${FWPSRPREGSTS}='1' and ${FWPSRLMP} + 30 <= ${today}"},"type":"note","name":"display_pregnote","label":{"Bengali":"গর্ভবতী হওয়ার জন্য আমি আপনাকে অভিনন্দন জানাচ্ছি। নিকটবর্তী স্বাস্থ্য কেন্দ্রে যেয়ে নিয়মিত গর্ভকালীন স্বাস্থ্য পরীক্ষা করার কথা মনে করিয়ে দিতে আপনার গর্ভের প্রতি তিনমাস পর পর আমি আপনাকে ভিজিট করবো। এর ফলে আপনি গর্ভকালীন সময়ে আপনার স্বাস্থ্যের এবং আপনার গর্ভের সন্তানের আরও ভালো যত্ন নিতে পারবেন এবং সন্তান জন্মদানের জন্য আপনি আগে থেকেই প্রস্তুত থাকতে পারবেন।","English":"Congratulations on your pregnancy, I will visit you in every trimester of your pregnancy to remind you to go for routine antenatal care check up at the nearest health facility. This will help you take better care of your health and your baby during pregnancy and help you prepare for the birth in advance."}},{"bind":{"relevant":"${FWPSRPREGSTS}='0' or ${FWPSRPREGSTS}='9' or (${FWPSRLMP} + 30 >= today())"},"type":"note","name":"display_notpregnote","label":{"Bengali":"সময় দেওয়ার জন্য আপনাকে ধন্যবাদ। ৮ (আট) সপ্তাহ পর আমি আবার আপনাকে ভিজিট করবো।","English":"Thank you for your time. I will visit you again in 8 weeks."}},{"bind":{"relevant":"${FWPSRPREGSTS}='1'"},"label":{"Bengali":"গর্ভবতী মহিলাকে নিবন্ধিত করণ","English":"Pregnancy Registration"},"type":"group","children":[{"bind":{"calculate":"${existing_mauzapara}"},"type":"calculate","name":"mother_mauza"},{"bind":{"calculate":"${existing_gobhhid}"},"type":"calculate","name":"mother_gobhhid"},{"bind":{"calculate":"${existing_jivhhid}"},"type":"calculate","name":"mother_jivhhid"},{"bind":{"calculate":"${existing_first_name}"},"type":"calculate","name":"mother_first_name"},{"bind":{"calculate":"${existing_husname}"},"type":"calculate","name":"mother_husname"},{"bind":{"calculate":"${existing_wom_nid}"},"type":"calculate","name":"mother_wom_nid"},{"bind":{"calculate":"${existing_wom_bid}"},"type":"calculate","name":"mother_wom_bid"},{"bind":{"calculate":"${existing_wom_age}"},"type":"calculate","name":"mother_wom_age"},{"bind":{"calculate":"${FWPSRLMP}"},"type":"calculate","name":"mother_wom_lmp"},{"bind":{"relevant":"${FWPSRPREGSTS}='1'","calculate":"1"},"type":"calculate","name":"mother_valid"},{"name":"FWPSRPREGWTD","bind":{"required":"yes"},"label":{"Bengali":"আপনি কি এখন গর্ভবতী হতে চেয়েছিলেন?","English":"Please tell me if you wanted to become pregnant now?"},"instance":{"openmrs_entity_id":"163085AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"select one","children":[{"instance":{"openmrs_code":"123572AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"0","label":{"Bengali":"চান নি","English":"Not wanted"}},{"instance":{"openmrs_code":"122933AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"1","label":{"Bengali":"চেয়েছিলেন","English":"Wanted"}},{"instance":{"openmrs_code":"162570AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"6","label":{"Bengali":"উত্তর দিতে অসম্মতি জানিয়েছেন","English":"Refused"}}]},{"instance":{"openmrs_entity_id":"163086AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"label":{"Bengali":"আপনার স্বামী কি চেয়েছিলেন যে আপনি এখন গর্ভবতী হন?","English":"Please tell me if your husband wanted you to become pregnant now?"},"type":"select one","children":[{"instance":{"openmrs_code":"123572AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"0","label":{"Bengali":"চান নি","English":"Not wanted"}},{"instance":{"openmrs_code":"122933AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"1","label":{"Bengali":"চেয়েছিলেন","English":"Wanted"}},{"instance":{"openmrs_code":"162570AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"6","label":{"Bengali":"উত্তর দিতে অসম্মতি জানিয়েছেন","English":"Refused"}}],"name":"FWPSRHUSPREGWTD"},{"instance":{"openmrs_entity_id":"162970AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"label":{"Bengali":"আপনি কি জীবনে এইবারই প্রথম গর্ভবতী হয়েছেন?","English":"Is this your first pregnancy in your life?"},"type":"select one","children":[{"instance":{"openmrs_code":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"0","label":{"Bengali":"না","English":"No"}},{"instance":{"openmrs_code":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"1","label":{"Bengali":"হ্যাঁ","English":"Yes"}},{"instance":{"openmrs_code":"1067AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"9","label":{"Bengali":"জানি না","English":"Don't Know"}}],"name":"FWPSREVRPREG"},{"name":"FWPSRTOTBIRTH","hint":{"Bengali":"0= একবারও না, 1-7= 1 থেকে 7 বার, 8= 8 বার বা তার বেশী, 9= জানি না","English":"Enter 0 if no live births; 1-7 for number of live births; 8 if 8 or more live births; 9 if woman does not know."},"bind":{"relevant":"${FWPSREVRPREG}='0'","jr:constraintMsg":{"English":"Enter 0 if no live births; 1-7 for number of live births; 8 if 8 or more live births; 9 if woman does not know."},"required":"yes","constraint":".>= 0 and . <=9"},"label":{"Bengali":"আপনি জীবনে কতবার জীবিত বাচ্চা প্রসব করেছেন?","English":"How many times in your life have you given birth to a live baby?"},"instance":{"openmrs_entity_id":"160601AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"integer"},{"name":"FWPSRNBDTH","hint":{"Bengali":"0= একবারও না, 1-7= 1 থেকে 7 বার, 8= 8 বার বা তার বেশী, 9= জানি না","English":"Enter 0 if none; 1-7 for number; 8 if 8 or more; 9 if woman does not know."},"bind":{"relevant":"${FWPSREVRPREG}='0' and ${FWPSRTOTBIRTH}!='0'","jr:constraintMsg":{"English":"Enter 0 if none; 1-7 for number; 8 if 8 or more; 9 if woman does not know."},"required":"yes","constraint":".>= 0 and . <=9"},"label":{"Bengali":"জীবিত অবস্থায় জন্ম নেয়া আপনার বাচ্চাদের মধ্যে কত জন জন্মের এক মাসের মধ্যে মারা গেছে?","English":"How many of your live born babies died within 1 month of birth?"},"instance":{"openmrs_entity_id":"162968AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"integer"},{"name":"FWPSRPRSB","bind":{"relevant":"${FWPSREVRPREG}='0'","required":"yes"},"label":{"Bengali":"আপনার কি আগে কখনও মৃতবাচ্চা প্রসব হয়েছিলো?","English":"Have you ever had a stillbirth?"},"instance":{"openmrs_entity_id":"162587AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"select one","children":[{"instance":{"openmrs_code":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"0","label":{"Bengali":"না","English":"No"}},{"instance":{"openmrs_code":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"1","label":{"Bengali":"হ্যাঁ","English":"Yes"}},{"instance":{"openmrs_code":"1067AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"9","label":{"Bengali":"জানি না","English":"Don't Know"}}]},{"name":"FWPSRPRMC","bind":{"relevant":"${FWPSREVRPREG}='0'","required":"yes"},"label":{"Bengali":"আপনার কি আগে কখনও গর্ভনষ্ট হয়েছিলো বা আপনি কি আগে কখনও MR/গর্ভপাত করিয়েছিলেন?","English":"Have you ever had a misscarriage or MR?"},"instance":{"openmrs_entity_id":"162971AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"select one","children":[{"instance":{"openmrs_code":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"0","label":{"Bengali":"না","English":"No"}},{"instance":{"openmrs_code":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"1","label":{"Bengali":"হ্যাঁ","English":"Yes"}},{"instance":{"openmrs_code":"1067AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"9","label":{"Bengali":"জানি না","English":"Don't Know"}}]},{"name":"FWPSRPREGTWYRS","bind":{"relevant":"${FWPSREVRPREG}='0'","required":"yes"},"label":{"Bengali":"এই গর্ভাবস্থা ছাড়া গত দুই বছরে আপনি কি আর কখনও গর্ভবতী হয়েছিলেন?","English":"Excluding this current pregnancy, have you ever been pregnant in the last two years?"},"instance":{"openmrs_entity_id":"162943AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"select one","children":[{"instance":{"openmrs_code":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"0","label":{"Bengali":"না","English":"No"}},{"instance":{"openmrs_code":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"1","label":{"Bengali":"হ্যাঁ","English":"Yes"}},{"instance":{"openmrs_code":"1067AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"9","label":{"Bengali":"জানি না","English":"Don't Know"}}]},{"name":"FWPSRPRVPREGCOMP","bind":{"relevant":"${FWPSREVRPREG}='0'","required":"yes"},"label":{"Bengali":"গর্ভজনিত জটিলতার কারণে আপনাকে কি\nকখনও কোন হাসপাতাল বা স্বাস্থ্যকেন্দ্রে নিয়ে\nযাওয়া হয়েছিলো?","English":"Were you ever taken to a hospital or health facility for any pregnancy-related complication?"},"instance":{"openmrs_entity_id":"162594AAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"select one","children":[{"instance":{"openmrs_code":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"0","label":{"Bengali":"না","English":"No"}},{"instance":{"openmrs_code":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"1","label":{"Bengali":"হ্যাঁ","English":"Yes"}},{"instance":{"openmrs_code":"1067AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"9","label":{"Bengali":"জানি না","English":"Don't Know"}}]},{"name":"FWPSRPRCHECKS","bind":{"relevant":"${FWPSREVRPREG}='0'","required":"yes"},"label":{"Bengali":"গত গর্ভাবস্থায় আপনি কি আপনার নিজের এবং আপনার গর্ভের বাচ্চার নিয়মিত স্বাস্থ্যপরীক্ষা করিয়েছিলেন?","English":"During your most recent pregnancy, did you get regular “checkups” for your health and the health of your baby?"},"instance":{"openmrs_entity_id":"162957AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"select one","children":[{"instance":{"openmrs_code":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"0","label":{"Bengali":"না","English":"No"}},{"instance":{"openmrs_code":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"1","label":{"Bengali":"হ্যাঁ","English":"Yes"}},{"instance":{"openmrs_code":"1067AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"9","label":{"Bengali":"জানি না","English":"Don't Know"}}]},{"control":{"appearance":"field-list"},"name":"risk_group","label":{"Bengali":"এইবার গর্ভবতী হওয়ার পর আপনাকে কি কোন স্বাস্থ্যকর্মী বলেছেন যে আপনার নিচের কোনটি আছে কিনা?","English":"Since becoming pregnant with this current pregnancy, has any health provider told you that you have any of the following:"},"instance":{"openmrs_entity_id":"160079AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"group","children":[{"control":{"appearance":"label"},"label":{"Bengali":"প্রত্যেক অবস্থার জন্য একটি করে উত্তর নির্বাচন করুন-","English":"Select one response for each condition:"},"type":"select one","children":[{"instance":{"openmrs_code":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"0","label":{"Bengali":"না","English":"No"}},{"instance":{"openmrs_code":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"1","label":{"Bengali":"হ্যাঁ","English":"Yes"}},{"instance":{"openmrs_code":"1067AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"9","label":{"Bengali":"জানি না","English":"Don't Know"}}],"name":"yn_dk_label"},{"control":{"appearance":"list-nolabel"},"name":"FWPSRANM","bind":{"required":"yes"},"label":{"Bengali":"রক্তস্বল্পতা","English":"Anemia"},"instance":{"openmrs_entity":"concept","openmrs_entity_id":"1729AAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"148834AAAAAAAAAAAAAAAAAAAAAAAAAA"},"type":"select one","children":[{"instance":{"openmrs_code":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"0","label":{"Bengali":"না","English":"No"}},{"instance":{"openmrs_code":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"1","label":{"Bengali":"হ্যাঁ","English":"Yes"}},{"instance":{"openmrs_code":"1067AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"9","label":{"Bengali":"জানি না","English":"Don't Know"}}]},{"control":{"appearance":"list-nolabel"},"name":"FWPSRHBP","bind":{"required":"yes"},"label":{"Bengali":"উচ্চ রক্তচাপ বা ব্লাড প্রেসার","English":"High blood pressure"},"instance":{"openmrs_entity":"concept","openmrs_entity_id":"1729AAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"113859AAAAAAAAAAAAAAAAAAAAAAAAAA"},"type":"select one","children":[{"instance":{"openmrs_code":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"0","label":{"Bengali":"না","English":"No"}},{"instance":{"openmrs_code":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"1","label":{"Bengali":"হ্যাঁ","English":"Yes"}},{"instance":{"openmrs_code":"1067AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"9","label":{"Bengali":"জানি না","English":"Don't Know"}}]},{"control":{"appearance":"list-nolabel"},"name":"FWPSRDBT","bind":{"required":"yes"},"label":{"Bengali":"ডায়াবেটিস","English":"Diabetes"},"instance":{"openmrs_entity":"concept","openmrs_entity_id":"1729AAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"119477AAAAAAAAAAAAAAAAAAAAAAAAAA"},"type":"select one","children":[{"instance":{"openmrs_code":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"0","label":{"Bengali":"না","English":"No"}},{"instance":{"openmrs_code":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"1","label":{"Bengali":"হ্যাঁ","English":"Yes"}},{"instance":{"openmrs_code":"1067AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"9","label":{"Bengali":"জানি না","English":"Don't Know"}}]},{"control":{"appearance":"list-nolabel"},"name":"FWPSRTHY","bind":{"required":"yes"},"label":{"Bengali":"থাইরয়েড জনিত সমস্যা","English":"Thyroid disorder"},"instance":{"openmrs_entity":"concept","openmrs_entity_id":"1729AAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"124719AAAAAAAAAAAAAAAAAAAAAAAAAA"},"type":"select one","children":[{"instance":{"openmrs_code":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"0","label":{"Bengali":"না","English":"No"}},{"instance":{"openmrs_code":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"1","label":{"Bengali":"হ্যাঁ","English":"Yes"}},{"instance":{"openmrs_code":"1067AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"9","label":{"Bengali":"জানি না","English":"Don't Know"}}]}]},{"name":"FWPSRVDGMEM","bind":{"required":"yes"},"label":{"Bengali":"আপনি কি কোন VGD (দুস্থ্য উন্নয়ন গ্রুপ) এর সদস্য?","English":"Are you a member of a VGD (Vulnerable Group Development)?"},"instance":{"openmrs_entity_id":"162956AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"select one","children":[{"instance":{"openmrs_code":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"0","label":{"Bengali":"না","English":"No"}},{"instance":{"openmrs_code":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"1","label":{"Bengali":"হ্যাঁ","English":"Yes"}},{"instance":{"openmrs_code":"1067AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"9","label":{"Bengali":"জানি না","English":"Don't Know"}}]},{"control":{"appearance":"numbers"},"name":"FWPSRWOMEDU","hint":{"Bengali":"00= কখনও স্কুলে পড়েন নি; 01-09=ক্লাস ওয়ান থেকে ক্লাস নাইন পর্যন্ত; 10=এস এস সি/দাখিল পাশ; 11=একাদশ শ্রেণী; 12=এইচ এস সি/আলিম পাশ; 13=ত্রয়োদশ শ্রেণী; 14= স্নাতক/ফাজিল বা উচ্চতর; 99=জানি না","English":"00=No Schooling; 01-09=Class Completed; 10=SSC/Dakhil Passed; 11=11 Years; 12=HSC/Alim Passed; 13=13 years; 14= Degree/Fazil or higher; 99=Don't Know"},"bind":{"jr:constraintMsg":{"English":"00=No Schooling; 01-09=Class Completed; 10=SSC/Dakhil Passed; 11=11 Years; 12=HSC/Alim Passed; 13=13 years; 14= Degree/Fazil or higher; 99=Don't Know"},"required":"yes","constraint":"regex(., '^[0-9]{2}$')"},"label":{"Bengali":"আপনি সর্বোচ্চ কোন ক্লাস/শ্রেণী পর্যন্ত লেখাপড়া করেছেন?","English":"What was the highest class you completed at school?"},"instance":{"openmrs_entity_id":"1545AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"text"},{"name":"FWPSRHHLAT","bind":{"required":"yes"},"label":{"Bengali":"আপনার খানার পায়খানার ধরন কি?","English":"What kind of latrine / toilet facility does your household use?"},"instance":{"openmrs_entity_id":"159741AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"select one","children":[{"instance":{"openmrs_code":"1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"0","label":{"Bengali":"নাই / মাঠ / ঝোপঝাড়","English":"None / field / bush"}},{"instance":{"openmrs_code":"160257AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"1","label":{"Bengali":"খোলা / ঝুলন্ত পায়খানা","English":"Open / hanging latrine"}},{"instance":{"openmrs_code":"159580AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"2","label":{"Bengali":"পিট বা গর্ত পায়খানা","English":"Pit latrine"}},{"instance":{"openmrs_code":"163079AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"3","label":{"Bengali":"জলাবদ্ধ/স্লাব","English":"Water sealed / slab"}},{"instance":{"openmrs_code":"159577AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"4","label":{"Bengali":"ফ্ল্যাশ টয়লেট","English":"Flush toilet"}},{"instance":{"openmrs_code":"1067AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"9","label":{"Bengali":"জানি না","English":"Don't Know"}}]},{"control":{"appearance":"numbers"},"name":"FWPSRHHRICE","hint":{"Bengali":"00= নাই, 01-97= 01-97 দিনের সংখ্যা, 98= 98 দিন বা তার বেশী, 99= জানি না","English":"00=None; 01-97 Number of days; 98= 98 or more days; 99=Don't Know"},"bind":{"jr:constraintMsg":{"English":"00=None; 01-97 Number of days; 98= 98 or more days; 99=Don't Know"},"required":"yes","constraint":"regex(., '^[0-9]{2}$')"},"label":{"Bengali":"আজকে আপনার খানায় কি পরিমাণ চাল বা ধানের মজুদ আছে? (খানার সকল সদস্যের জন্য কি পরিমাণ চাল বা ধানের মজুদ আছে তার উপর ভিত্তি করে উত্তর নিতে হবে)","English":"Today, how many days worth of rice (chal or dhan) do you have stored in your household? (Response based on consumption by all the household members)."},"instance":{"openmrs_entity_id":"162962AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"text"},{"name":"FWPSRPHONE","bind":{"required":"yes"},"label":{"Bengali":"আপনার বা আপনার পরিবারের কি কোন ফোন নম্বর আছে যেখানে এমকেয়ার থেকে আপনাকে স্বাস্থ্যসেবা নেয়ার কথা মনে করিয়ে দেয়ার জন্য মেসেজ পাঠানো যাবে?","English":"Do you or your family have a phone number where mCARE can send you SMS messages to remind you to receive care?"},"instance":{"openmrs_entity_id":"163089AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"select one","children":[{"instance":{"openmrs_code":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"0","label":{"Bengali":"না","English":"No"}},{"instance":{"openmrs_code":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"1","label":{"Bengali":"হ্যাঁ","English":"Yes"}},{"instance":{"openmrs_code":"1067AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"2","label":{"Bengali":"হ্যাঁ, কিন্তু সংখ্যা জানা নাই","English":"Yes, but number unknown"}}]},{"control":{"appearance":"numbers"},"name":"FWPSRPHONENUM","bind":{"relevant":"${FWPSRPHONE}='1'","jr:constraintMsg":{"English":"Must be 11 digits"},"required":"yes","constraint":"regex(., '^[0-9]{11}$')"},"label":{"Bengali":"ফোন নম্বরটি প্রবেশ করান","English":"Record Phone Number"},"instance":{"openmrs_entity_id":"159635AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"text"},{"name":"FWPSRMUAC","hint":{"Bengali":"MUAC হলো ঊর্ধ্ববাহুর মাঝামাঝি অংশের পরিধি। মাপা না হয়ে থাকলে 99 এন্ট্রি করুন","English":"MUAC is the mid-upper arm circumference. Enter 99 if not measured."},"bind":{"jr:constraintMsg":{"English":"MUAC must be between 10 and 50 cm or enter 99 if not measured."},"required":"yes","constraint":"regex(., '^\\d{0,2}(\\.\\d{0,1})?$')"},"label":{"Bengali":"মহিলার ঊর্ধ্ববাহুর পরিধির (MUAC) মাপ সে.মি. এ নিন এবং রেকর্ড করুন।","English":"I will now measure and record your mid upper arm circumference"},"instance":{"openmrs_entity_id":"1343AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"decimal"}],"name":"psrf_pregnant"}],"name":"psrf_met"},{"bind":{"calculate":"if (${FWPSRSTS}='02' or ${FWPSRPREGSTS}='0' or ${FWPSRPREGSTS}='9' or (${FWPSRLMP} + 30 >= today()),1,0)"},"type":"calculate","name":"psrf_schedule_logic"},{"bind":{"calculate":"if(${FWPSRSTS} = '03' or ${FWPSRSTS} = '04' or ${FWPSRSTS} = '44' or ${FWPSRSTS} = '05' or ${FWPSRSTS} = '08' or ${FWPSRSTS} = '88', '1', '0')"},"type":"calculate","name":"FWNOTELIGIBLE"},{"bind":{"calculate":"${existing_ELCO} - ${FWNOTELIGIBLE}"},"type":"calculate","name":"ELCO"},{"bind":{"calculate":"if(${FWNOTELIGIBLE}='1',0,1)"},"type":"calculate","name":"FWELIGIBLE"},{"bind":{"calculate":"if(${FWPSRVDGMEM}='1' or ${FWPSRWOMEDU}<'6' or ${FWPSRHHLAT}<'2' or ${FWPSRHHRICE}<'7',1,0)"},"type":"calculate","name":"FWVG","instance":{"openmrs_entity_id":"163090AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"}},{"bind":{"calculate":"if(${FWPSRTOTBIRTH}='0' or (${FWPSRTOTBIRTH}>='4' and ${FWPSRTOTBIRTH}<'9') or ${FWPSRPRMC}>0 or ${FWPSRPRSB}='1' or ${FWPSRNBDTH}>'0' or ${FWPSRPRVPREGCOMP}='1' or ${FWPSRPREGTWYRS}='1' or ${FWPSRPREGWTD}='0',3,0)"},"type":"calculate","name":"FWHRP","instance":{"openmrs_entity_id":"163092AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"}},{"bind":{"calculate":"if(${FWPSRANM}='1' or ${FWPSRHBP}='1' or ${FWPSRDBT}='1' or ${FWPSRTHY}='1',2,0)"},"type":"calculate","name":"FWHR_PSR","instance":{"openmrs_entity_id":"163091AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"}},{"bind":{"calculate":"${FWVG}+${FWHRP}+${FWHR_PSR}"},"type":"calculate","name":"FWFLAGVALUE","instance":{"openmrs_entity_id":"163093AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"}},{"bind":{"calculate":"${FWFLAGVALUE}"},"type":"calculate","name":"FWSORTVALUE"},{"bind":{"calculate":"\"FWA\""},"type":"calculate","name":"user_type"},{"type":"hidden","name":"external_user_ID"},{"control":{"bodyless":true},"type":"group","children":[{"bind":{"readonly":"true()","calculate":"concat('uuid:', uuid())"},"type":"calculate","name":"instanceID"}],"name":"meta"}]} \ No newline at end of file diff --git a/opensrp-connector/bin/src/test/resources/form/psrf_form/form_definition.json b/opensrp-connector/bin/src/test/resources/form/psrf_form/form_definition.json new file mode 100644 index 0000000000..cd044c5d7f --- /dev/null +++ b/opensrp-connector/bin/src/test/resources/form/psrf_form/form_definition.json @@ -0,0 +1,289 @@ +{ + "form_data_definition_version": "13", + "form": { + "default_bind_path": "/model/instance/PregnancySurveillanceAndRegistrationForm", + "bind_type": "elco", + "fields": [ + { + "name": "id", + "shouldLoadValue": true + }, + { + "name": "FWWOMMAUZA_PARA", + "bind": "/model/instance/PregnancySurveillanceAndRegistrationForm/existing_mauzapara", + "shouldLoadValue": true + }, + { + "name": "GOBHHID", + "bind": "/model/instance/PregnancySurveillanceAndRegistrationForm/existing_gobhhid", + "shouldLoadValue": true + }, + { + "name": "JiVitAHHID", + "bind": "/model/instance/PregnancySurveillanceAndRegistrationForm/existing_jivhhid", + "shouldLoadValue": true + }, + { + "name": "FWWOMFNAME", + "bind": "/model/instance/PregnancySurveillanceAndRegistrationForm/existing_first_name", + "shouldLoadValue": true + }, + { + "name": "FWHUSNAME", + "bind": "/model/instance/PregnancySurveillanceAndRegistrationForm/existing_husname", + "shouldLoadValue": true + }, + { + "name": "FWWOMNID", + "bind": "/model/instance/PregnancySurveillanceAndRegistrationForm/existing_wom_nid", + "shouldLoadValue": true + }, + { + "name": "FWWOMBID", + "bind": "/model/instance/PregnancySurveillanceAndRegistrationForm/existing_wom_bid", + "shouldLoadValue": true + }, + { + "name": "FWWOMAGE", + "bind": "/model/instance/PregnancySurveillanceAndRegistrationForm/existing_wom_age", + "shouldLoadValue": true + }, + { + "name": "existing_ELCO", + "bind": "/model/instance/PregnancySurveillanceAndRegistrationForm/existing_ELCO" + }, + { + "name": "existing_location", + "bind": "/model/instance/PregnancySurveillanceAndRegistrationForm/existing_location", + "shouldLoadValue": true + }, + { + "name": "today", + "bind": "/model/instance/PregnancySurveillanceAndRegistrationForm/today" + }, + { + "name": "start", + "bind": "/model/instance/PregnancySurveillanceAndRegistrationForm/start" + }, + { + "name": "end", + "bind": "/model/instance/PregnancySurveillanceAndRegistrationForm/end" + }, + { + "name": "FWPSRDATE", + "bind": "/model/instance/PregnancySurveillanceAndRegistrationForm/FWPSRDATE" + }, + { + "name": "FWCONFIRMATION", + "bind": "/model/instance/PregnancySurveillanceAndRegistrationForm/FWCONFIRMATION" + }, + { + "name": "FWPSRSTS", + "bind": "/model/instance/PregnancySurveillanceAndRegistrationForm/FWPSRSTS" + }, + { + "name": "psrf_schedule_logic", + "bind": "/model/instance/PregnancySurveillanceAndRegistrationForm/psrf_schedule_logic" + }, + { + "name": "FWNOTELIGIBLE", + "bind": "/model/instance/PregnancySurveillanceAndRegistrationForm/FWNOTELIGIBLE" + }, + { + "name": "FWELIGIBLE", + "bind": "/model/instance/PregnancySurveillanceAndRegistrationForm/FWELIGIBLE" + }, + { + "name": "ELCO", + "bind": "/model/instance/PregnancySurveillanceAndRegistrationForm/ELCO" + }, + { + "name": "FWVG", + "bind": "/model/instance/PregnancySurveillanceAndRegistrationForm/FWVG" + }, + { + "name": "FWHRP", + "bind": "/model/instance/PregnancySurveillanceAndRegistrationForm/FWHRP" + }, + { + "name": "FWHR_PSR", + "bind": "/model/instance/PregnancySurveillanceAndRegistrationForm/FWHR_PSR" + }, + { + "name": "FWFLAGVALUE", + "bind": "/model/instance/PregnancySurveillanceAndRegistrationForm/FWFLAGVALUE" + }, + { + "name": "FWSORTVALUE", + "bind": "/model/instance/PregnancySurveillanceAndRegistrationForm/FWSORTVALUE" + }, + { + "name": "user_type", + "bind": "/model/instance/PregnancySurveillanceAndRegistrationForm/user_type" + }, + { + "name": "external_user_ID", + "bind": "/model/instance/PregnancySurveillanceAndRegistrationForm/external_user_ID" + }, + { + "name": "FWPSRLMP", + "bind": "/model/instance/PregnancySurveillanceAndRegistrationForm/psrf_met/FWPSRLMP" + }, + { + "name": "FWPSRPREGSTS", + "bind": "/model/instance/PregnancySurveillanceAndRegistrationForm/psrf_met/FWPSRPREGSTS" + }, + { + "name": "display_pregnote", + "bind": "/model/instance/PregnancySurveillanceAndRegistrationForm/psrf_met/display_pregnote" + }, + { + "name": "display_notpregnote", + "bind": "/model/instance/PregnancySurveillanceAndRegistrationForm/psrf_met/display_notpregnote" + }, + { + "name": "id", + "shouldLoadValue": true, + "source": "elco.mcaremother.id" + }, + { + "name": "mother_mauza", + "bind": "/model/instance/PregnancySurveillanceAndRegistrationForm/psrf_met/psrf_pregnant/mother_mauza", + "source": "elco.mcaremother.mauza" + }, + { + "name": "mother_gobhhid", + "bind": "/model/instance/PregnancySurveillanceAndRegistrationForm/psrf_met/psrf_pregnant/mother_gobhhid", + "source": "elco.mcaremother.GOBHHID" + }, + { + "name": "mother_jivhhid", + "bind": "/model/instance/PregnancySurveillanceAndRegistrationForm/psrf_met/psrf_pregnant/mother_jivhhid", + "source": "elco.mcaremother.JiVitAHHID" + }, + { + "name": "mother_first_name", + "bind": "/model/instance/PregnancySurveillanceAndRegistrationForm/psrf_met/psrf_pregnant/mother_first_name", + "source": "elco.mcaremother.FWWOMFNAME" + }, + { + "name": "mother_husname", + "bind": "/model/instance/PregnancySurveillanceAndRegistrationForm/psrf_met/psrf_pregnant/mother_husname", + "source": "elco.mcaremother.FWHUSNAME" + }, + { + "name": "mother_wom_nid", + "bind": "/model/instance/PregnancySurveillanceAndRegistrationForm/psrf_met/psrf_pregnant/mother_wom_nid", + "source": "elco.mcaremother.FWWOMNID" + }, + { + "name": "mother_wom_bid", + "bind": "/model/instance/PregnancySurveillanceAndRegistrationForm/psrf_met/psrf_pregnant/mother_wom_bid", + "source": "elco.mcaremother.FWWOMBID" + }, + { + "name": "mother_wom_age", + "bind": "/model/instance/PregnancySurveillanceAndRegistrationForm/psrf_met/psrf_pregnant/mother_wom_age", + "source": "elco.mcaremother.FWWOMAGE" + }, + { + "name": "mother_wom_lmp", + "bind": "/model/instance/PregnancySurveillanceAndRegistrationForm/psrf_met/psrf_pregnant/mother_wom_lmp", + "source": "elco.mcaremother.FWPSRLMP" + }, + { + "name": "mother_valid", + "bind": "/model/instance/PregnancySurveillanceAndRegistrationForm/psrf_met/psrf_pregnant/mother_valid", + "source": "elco.mcaremother.FWWOMVALID" + }, + { + "name": "FWPSRWOMPREGWTD", + "bind": "/model/instance/PregnancySurveillanceAndRegistrationForm/psrf_met/psrf_pregnant/FWPSRWOMPREGWTD" + }, + { + "name": "FWPSRHUSPREGWTD", + "bind": "/model/instance/PregnancySurveillanceAndRegistrationForm/psrf_met/psrf_pregnant/FWPSRHUSPREGWTD" + }, + { + "name": "FWPSREVRPREG", + "bind": "/model/instance/PregnancySurveillanceAndRegistrationForm/psrf_met/psrf_pregnant/FWPSREVRPREG" + }, + { + "name": "FWPSRTOTBIRTH", + "bind": "/model/instance/PregnancySurveillanceAndRegistrationForm/psrf_met/psrf_pregnant/FWPSRTOTBIRTH" + }, + { + "name": "FWPSRNBDTH", + "bind": "/model/instance/PregnancySurveillanceAndRegistrationForm/psrf_met/psrf_pregnant/FWPSRNBDTH" + }, + { + "name": "FWPSRPRSB", + "bind": "/model/instance/PregnancySurveillanceAndRegistrationForm/psrf_met/psrf_pregnant/FWPSRPRSB" + }, + { + "name": "FWPSRPRMC", + "bind": "/model/instance/PregnancySurveillanceAndRegistrationForm/psrf_met/psrf_pregnant/FWPSRPRMC" + }, + { + "name": "FWPSRPREGTWYRS", + "bind": "/model/instance/PregnancySurveillanceAndRegistrationForm/psrf_met/psrf_pregnant/FWPSRPREGTWYRS" + }, + { + "name": "FWPSRPRVPREGCOMP", + "bind": "/model/instance/PregnancySurveillanceAndRegistrationForm/psrf_met/psrf_pregnant/FWPSRPRVPREGCOMP" + }, + { + "name": "FWPSRPRCHECKS", + "bind": "/model/instance/PregnancySurveillanceAndRegistrationForm/psrf_met/psrf_pregnant/FWPSRPRCHECKS" + }, + { + "name": "FWPSRVDGMEM", + "bind": "/model/instance/PregnancySurveillanceAndRegistrationForm/psrf_met/psrf_pregnant/FWPSRVDGMEM" + }, + { + "name": "FWPSRWOMEDU", + "bind": "/model/instance/PregnancySurveillanceAndRegistrationForm/psrf_met/psrf_pregnant/FWPSRWOMEDU" + }, + { + "name": "FWPSRHHLAT", + "bind": "/model/instance/PregnancySurveillanceAndRegistrationForm/psrf_met/psrf_pregnant/FWPSRHHLAT" + }, + { + "name": "FWPSRHHRICE", + "bind": "/model/instance/PregnancySurveillanceAndRegistrationForm/psrf_met/psrf_pregnant/FWPSRHHRICE" + }, + { + "name": "FWPSRANM", + "bind": "/model/instance/PregnancySurveillanceAndRegistrationForm/psrf_met/psrf_pregnant/risk_group/FWPSRANM" + }, + { + "name": "FWPSRHBP", + "bind": "/model/instance/PregnancySurveillanceAndRegistrationForm/psrf_met/psrf_pregnant/risk_group/FWPSRHBP" + }, + { + "name": "FWPSRDBT", + "bind": "/model/instance/PregnancySurveillanceAndRegistrationForm/psrf_met/psrf_pregnant/risk_group/FWPSRDBT" + }, + { + "name": "FWPSRTHY", + "bind": "/model/instance/PregnancySurveillanceAndRegistrationForm/psrf_met/psrf_pregnant/risk_group/FWPSRTHY" + }, + { + "name": "FWPSRHGT", + "bind": "/model/instance/PregnancySurveillanceAndRegistrationForm/psrf_met/psrf_pregnant/FWPSRHGT" + }, + { + "name": "FWPSRMUAC", + "bind": "/model/instance/PregnancySurveillanceAndRegistrationForm/psrf_met/psrf_pregnant/FWPSRMUAC" + }, + { + "name": "FWPSRPHONE", + "bind": "/model/instance/PregnancySurveillanceAndRegistrationForm/psrf_met/psrf_pregnant/FWPSRPHONE" + }, + { + "name": "FWPSRPHONENUM", + "bind": "/model/instance/PregnancySurveillanceAndRegistrationForm/psrf_met/psrf_pregnant/FWPSRPHONENUM" + } + ] + } +} \ No newline at end of file diff --git a/opensrp-connector/bin/src/test/resources/form/psrf_form/form_submission.json b/opensrp-connector/bin/src/test/resources/form/psrf_form/form_submission.json new file mode 100644 index 0000000000..657c8c8e4b --- /dev/null +++ b/opensrp-connector/bin/src/test/resources/form/psrf_form/form_submission.json @@ -0,0 +1,344 @@ + +{ + "_id": "95c6ce44333c8d2364236d89f524c0cf", + "_rev": "1-92f3b200ed476047edbabf9a49136ee8", + "type": "FormSubmission", + "anmId": "demosrp", + "instanceId": "b6348e83-ef43-4fe6-b456-d046f3c9d88f", + "formName": "psrf_form", + "entityId": "91bc6f4e-4378-48c0-9b7a-27022c4eb7a9", + "clientVersion": 1452681946381, + "formDataDefinitionVersion": "13", + "formInstance": { + "form_data_definition_version": "13", + "form": { + "bind_type": "elco", + "default_bind_path": "/model/instance/PregnancySurveillanceAndRegistrationForm", + "fields": [ + { + "name": "id", + "value": "577f629e-1b49-4200-82f7-8d0303da9252", + "source": "elco.id" + }, + { + "name": "FWWOMMAUZA_PARA", + "value": "CHAPADAHA - PURBO PARA", + "source": "elco.FWWOMMAUZA_PARA" + }, + { + "name": "GOBHHID", + "value": "8900", + "source": "elco.GOBHHID" + }, + { + "name": "JiVitAHHID", + "value": "8799", + "source": "elco.JiVitAHHID" + }, + { + "name": "FWWOMFNAME", + "value": "neura", + "source": "elco.FWWOMFNAME" + }, + { + "name": "FWHUSNAME", + "value": "kn", + "source": "elco.FWHUSNAME" + }, + { + "name": "FWWOMNID", + "value": "9090999988888", + "source": "elco.FWWOMNID" + }, + { + "name": "FWWOMBID", + "value": "", + "source": "elco.FWWOMBID" + }, + { + "name": "FWWOMAGE", + "value": "16", + "source": "elco.FWWOMAGE" + }, + { + "name": "existing_ELCO", + "value": "1", + "source": "elco.existing_ELCO" + }, + { + "name": "existing_location", + "source": "elco.existing_location" + }, + { + "name": "today", + "value": "2016-01-13", + "source": "elco.today" + }, + { + "name": "start", + "value": "2016-01-13T16:43:48.000+06:00", + "source": "elco.start" + }, + { + "name": "end", + "value": "2016-01-13T16:43:48.000+06:00", + "source": "elco.end" + }, + { + "name": "FWPSRDATE", + "value": "2016-01-13", + "source": "elco.FWPSRDATE" + }, + { + "name": "FWCONFIRMATION", + "value": "", + "source": "elco.FWCONFIRMATION" + }, + { + "name": "FWPSRSTS", + "value": "1", + "source": "elco.FWPSRSTS" + }, + { + "name": "psrf_schedule_logic", + "value": "0", + "source": "elco.psrf_schedule_logic" + }, + { + "name": "FWNOTELIGIBLE", + "value": "0", + "source": "elco.FWNOTELIGIBLE" + }, + { + "name": "FWELIGIBLE", + "value": "1", + "source": "elco.FWELIGIBLE" + }, + { + "name": "ELCO", + "value": "1", + "source": "elco.ELCO" + }, + { + "name": "FWVG", + "value": "1", + "source": "elco.FWVG" + }, + { + "name": "FWHRP", + "value": "3", + "source": "elco.FWHRP" + }, + { + "name": "FWHR_PSR", + "value": "2", + "source": "elco.FWHR_PSR" + }, + { + "name": "FWFLAGVALUE", + "value": "6", + "source": "elco.FWFLAGVALUE" + }, + { + "name": "FWSORTVALUE", + "value": "6", + "source": "elco.FWSORTVALUE" + }, + { + "name": "user_type", + "value": "FWA", + "source": "elco.user_type" + }, + { + "name": "external_user_ID", + "value": "", + "source": "elco.external_user_ID" + }, + { + "name": "FWPSRLMP", + "value": "2015-12-13", + "source": "elco.FWPSRLMP" + }, + { + "name": "FWPSRPREGSTS", + "value": "1", + "source": "elco.FWPSRPREGSTS" + }, + { + "name": "display_pregnote", + "value": "", + "source": "elco.display_pregnote" + }, + { + "name": "display_notpregnote", + "value": "", + "source": "elco.display_notpregnote" + }, + { + "name": "id", + "value": "577f629e-1b49-4200-82f7-8d0303da9252", + "source": "elco.mcaremother.id" + }, + { + "name": "mother_mauza", + "value": "CHAPADAHA - PURBO PARA", + "source": "elco.mcaremother.mauza" + }, + { + "name": "mother_gobhhid", + "value": "8900", + "source": "elco.mcaremother.GOBHHID" + }, + { + "name": "mother_jivhhid", + "value": "8799", + "source": "elco.mcaremother.JiVitAHHID" + }, + { + "name": "mother_first_name", + "value": "neura", + "source": "elco.mcaremother.FWWOMFNAME" + }, + { + "name": "mother_husname", + "value": "kn", + "source": "elco.mcaremother.FWHUSNAME" + }, + { + "name": "mother_wom_nid", + "value": "9090999988888", + "source": "elco.mcaremother.FWWOMNID" + }, + { + "name": "mother_wom_bid", + "value": "", + "source": "elco.mcaremother.FWWOMBID" + }, + { + "name": "mother_wom_age", + "value": "16", + "source": "elco.mcaremother.FWWOMAGE" + }, + { + "name": "mother_wom_lmp", + "value": "2015-12-13", + "source": "elco.mcaremother.FWPSRLMP" + }, + { + "name": "mother_valid", + "value": "1", + "source": "elco.mcaremother.FWWOMVALID" + }, + { + "name": "FWPSRWOMPREGWTD", + "source": "elco.FWPSRWOMPREGWTD" + }, + { + "name": "FWPSRHUSPREGWTD", + "value": "0", + "source": "elco.FWPSRHUSPREGWTD" + }, + { + "name": "FWPSREVRPREG", + "value": "0", + "source": "elco.FWPSREVRPREG" + }, + { + "name": "FWPSRTOTBIRTH", + "value": "8", + "source": "elco.FWPSRTOTBIRTH" + }, + { + "name": "FWPSRNBDTH", + "value": "3", + "source": "elco.FWPSRNBDTH" + }, + { + "name": "FWPSRPRSB", + "value": "1", + "source": "elco.FWPSRPRSB" + }, + { + "name": "FWPSRPRMC", + "value": "0", + "source": "elco.FWPSRPRMC" + }, + { + "name": "FWPSRPREGTWYRS", + "value": "1", + "source": "elco.FWPSRPREGTWYRS" + }, + { + "name": "FWPSRPRVPREGCOMP", + "value": "0", + "source": "elco.FWPSRPRVPREGCOMP" + }, + { + "name": "FWPSRPRCHECKS", + "value": "1", + "source": "elco.FWPSRPRCHECKS" + }, + { + "name": "FWPSRVDGMEM", + "value": "1", + "source": "elco.FWPSRVDGMEM" + }, + { + "name": "FWPSRWOMEDU", + "value": "13", + "source": "elco.FWPSRWOMEDU" + }, + { + "name": "FWPSRHHLAT", + "value": "4", + "source": "elco.FWPSRHHLAT" + }, + { + "name": "FWPSRHHRICE", + "value": "28", + "source": "elco.FWPSRHHRICE" + }, + { + "name": "FWPSRANM", + "value": "9", + "source": "elco.FWPSRANM" + }, + { + "name": "FWPSRHBP", + "value": "1", + "source": "elco.FWPSRHBP" + }, + { + "name": "FWPSRDBT", + "value": "0", + "source": "elco.FWPSRDBT" + }, + { + "name": "FWPSRTHY", + "value": "9", + "source": "elco.FWPSRTHY" + }, + { + "name": "FWPSRHGT", + "source": "elco.FWPSRHGT" + }, + { + "name": "FWPSRMUAC", + "value": "47", + "source": "elco.FWPSRMUAC" + }, + { + "name": "FWPSRPHONE", + "value": "1", + "source": "elco.FWPSRPHONE" + }, + { + "name": "FWPSRPHONENUM", + "value": "80990987786", + "source": "elco.FWPSRPHONENUM" + } + ] + } + }, + "serverVersion": 1452682046064 +} \ No newline at end of file diff --git a/opensrp-connector/bin/src/test/resources/form/psrf_form/model.xml b/opensrp-connector/bin/src/test/resources/form/psrf_form/model.xml new file mode 100644 index 0000000000..57859a3d54 --- /dev/null +++ b/opensrp-connector/bin/src/test/resources/form/psrf_form/model.xml @@ -0,0 +1,83 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/opensrp-connector/bin/src/test/resources/form/repeatform/form.json b/opensrp-connector/bin/src/test/resources/form/repeatform/form.json new file mode 100644 index 0000000000..5fd76f37d0 --- /dev/null +++ b/opensrp-connector/bin/src/test/resources/form/repeatform/form.json @@ -0,0 +1,1381 @@ +{ + "default_language": "default", + "id_string": "Delivery_Outcome_EngKan", + "children": [ + { + "name": "today", + "type": "today" + }, + { + "name": "case_lmp", + "instance": { + "openmrs_entity_id": "1100282", + "openmrs_entity": "concept" + }, + "type": "hidden" + }, + { + "name": "delivery_date", + "bind": { + "required": "yes", + "constraint": ".<=${today}" + }, + "label": "Delivery date? ಹೆರಿಗೆ ದಿನಾಂಕ?", + "instance": { + "openmrs_entity_id": "2129182", + "openmrs_entity": "concept" + }, + "type": "date" + }, + { + "name": "delivery_reg_date", + "bind": { + "required": "yes", + "constraint": ".<=${today} and .>= ${delivery_date}" + }, + "label": "PNC registration date? ಬಾಣಂತಿ ದಾಖಲಾತಿ ದಿನಾಂಕ?", + "instance": { + "openmrs_entity_id": "encounter_date", + "openmrs_entity": "encounter" + }, + "type": "date" + }, + { + "children": [ + { + "name": "home", + "label": "Home ಮನೆ", + "instance": { + "openmrs_code": "32323213" + } + }, + { + "name": "subcenter", + "label": "Sub Center ಉಪ ಕೇಂದ್ರ", + "instance": { + "openmrs_code": "2321321" + } + }, + { + "name": "phc", + "label": "PHC ಪ್ರಾಥಮಿಕ ಆರೋಗ್ಯ ಕೇಂದ್ರ", + "instance": { + "openmrs_code": "323213" + } + }, + { + "name": "chc", + "label": "CHC ಸಮುದಾಯ ಆರೋಗ್ಯ ಕೇಂದ್ರ", + "instance": { + "openmrs_code": "1213213" + } + }, + { + "name": "sdh", + "label": "SDH ಉಪ ಜಿಲ್ಲಾ ಆಸ್ಪತ್ರೆ", + "instance": { + "openmrs_code": "23123" + } + }, + { + "name": "dh", + "label": "DH ಜಿಲ್ಲಾ ಆಸ್ಪತ್ರೆ", + "instance": { + "openmrs_code": "232113" + } + }, + { + "name": "private_facility", + "label": "Private ಖಾಸಗಿ", + "instance": { + "openmrs_code": "123123" + } + } + ], + "name": "place_delivery", + "bind": { + "required": "yes" + }, + "label": "Place of delivery? ಹೆರಿಗೆಯಾದ ಸ್ಥಳ?", + "instance": { + "openmrs_entity_id": "location_id", + "openmrs_entity": "encounter" + }, + "type": "select one" + }, + { + "name": "name_delivery_facility", + "bind": { + "relevant": "${place_delivery} != 'home'" + }, + "label": "Name of delivery place? ಹೆರಿಗೆಯಾದ ಸ್ಥಳದ ಹೆಸರು?", + "instance": { + "openmrs_entity_id": "4787232", + "openmrs_entity": "concept" + }, + "type": "text" + }, + { + "children": [ + { + "name": "yes", + "label": "Yes ಹೌದು", + "instance": { + "openmrs_code": "1065" + } + }, + { + "name": "no", + "label": "No ಇಲ್ಲ", + "instance": { + "openmrs_code": "1066" + } + } + ], + "name": "only_delivery_facility", + "label": "Is this the only place woman went for delivery? ಹೆರಿಗೆಗೆ ಇದೊಂದೆ ಸ್ಥಳಕ್ಕೆ ಹೋಗಿದ್ದರೆ?", + "instance": { + "openmrs_entity_id": "120009", + "openmrs_entity": "concept" + }, + "type": "select one" + }, + { + "children": [ + { + "name": "home", + "label": "Home ಮನೆ", + "instance": { + "openmrs_code": "32323213" + } + }, + { + "name": "subcenter", + "label": "Sub Center ಉಪ ಕೇಂದ್ರ", + "instance": { + "openmrs_code": "2321321" + } + }, + { + "name": "phc", + "label": "PHC ಪ್ರಾಥಮಿಕ ಆರೋಗ್ಯ ಕೇಂದ್ರ", + "instance": { + "openmrs_code": "323213" + } + }, + { + "name": "chc", + "label": "CHC ಸಮುದಾಯ ಆರೋಗ್ಯ ಕೇಂದ್ರ", + "instance": { + "openmrs_code": "1213213" + } + }, + { + "name": "sdh", + "label": "SDH ಉಪ ಜಿಲ್ಲಾ ಆಸ್ಪತ್ರೆ", + "instance": { + "openmrs_code": "23123" + } + }, + { + "name": "dh", + "label": "DH ಜಿಲ್ಲಾ ಆಸ್ಪತ್ರೆ", + "instance": { + "openmrs_code": "232113" + } + }, + { + "name": "private_facility", + "label": "Private ಖಾಸಗಿ", + "instance": { + "openmrs_code": "123123" + } + } + ], + "name": "addl_delivery_facility", + "bind": { + "relevant": "${only_delivery_facility} = 'no'" + }, + "label": "Where else did she go for delivery? ಹೆರಿಗೆಗೆ ಇನ್ಯಾವ ಸ್ಥಳಕ್ಕೆ ಹೋಗಿದ್ದರೆ?", + "instance": { + "openmrs_entity_id": "124433", + "openmrs_entity": "concept" + }, + "type": "select all that apply" + }, + { + "children": [ + { + "name": "no_staff", + "label": "No staff available for delivery ಹೆರಿಗೆಗೆ ಸಿಬ್ಬಂಧಿಯು ಲಭ್ಯವಿಲ್ಲ", + "instance": { + "openmrs_code": "4123" + } + }, + { + "name": "referred_higher_facility", + "label": "Referred to higher facility ಹೆಚ್ಚಿನ ಸೌಲಭ್ಯಕ್ಕೆ ರೆಫರ್ ಮಾಡಲಾಗಿದೆ", + "instance": { + "openmrs_code": "21312312" + } + }, + { + "name": "lack_of_supplies", + "label": "Lack of supplies ಸರಬರಾಜು ಕೊರತೆ", + "instance": { + "openmrs_code": "134134" + } + }, + { + "name": "no_electricity", + "label": "No electricity ವಿದ್ಯುತ್ ಇಲ್ಲ", + "instance": { + "openmrs_code": "34134134" + } + }, + { + "name": "family_insisted_elsewhere", + "label": "Family insisted on going elsewhere ಕುಟುಂಬಕ್ಕೆ ಬೇರೇಡೆಗೆ ಹೋಗಲು ಒತ್ತಾಯಿಸಿದರು", + "instance": { + "openmrs_code": "341341" + } + }, + { + "name": "no_money", + "label": "Not enough money ಸಾಕಷ್ಟು ಹಣವಿಲ್ಲ", + "instance": { + "openmrs_code": "43434432" + } + }, + { + "name": "others", + "label": "Others ಇತರೆ", + "instance": { + "openmrs_code": "323243224" + } + } + ], + "name": "reasons_addl_delivery_facility", + "bind": { + "relevant": "${only_delivery_facility} = 'no'" + }, + "label": "Select the reasons why more than one place. ಬೇರೆ ಸ್ಥಳಕ್ಕೆ ಹೋಗಿದ್ದಕ್ಕೆ ಕಾರಣವನ್ನು ಆಯ್ಕೆ ಮಾಡಿ.", + "instance": { + "openmrs_entity_id": "100933", + "openmrs_entity": "concept" + }, + "type": "select all that apply" + }, + { + "name": "other_reasons_addl_delivery_facility", + "bind": { + "relevant": "selected(${reasons_addl_delivery_facility}, 'others')" + }, + "label": "Others ಇತರೆ:", + "instance": { + "openmrs_entity_id": "2323233", + "openmrs_entity": "concept" + }, + "type": "text" + }, + { + "children": [ + { + "name": "yes", + "label": "Yes ಹೌದು", + "instance": { + "openmrs_code": "1065" + } + }, + { + "name": "no", + "label": "No ಇಲ್ಲ", + "instance": { + "openmrs_code": "1066" + } + } + ], + "name": "skilled_delivery", + "bind": { + "relevant": "${place_delivery} = 'home'", + "required": "yes" + }, + "label": "Delivery attended by SBA? ತರಬೇತಿ ಹೊಂದಿದ ಹೆರಿಗೆ ಸಹಾಯಕರು ಹೆರಿಗೆಯಲ್ಲಿ ಹಾಜರಿದ್ದರೆ?", + "instance": { + "openmrs_entity_id": "3231212", + "openmrs_entity": "concept" + }, + "type": "select one" + }, + { + "children": [ + { + "name": "normal", + "label": "Normal ಸಾಮಾನ್ಯ", + "instance": { + "openmrs_code": "43123" + } + }, + { + "name": "cesarean", + "label": "Cesarean ಸಿಸೇರಿಯನ್", + "instance": { + "openmrs_code": "3232" + } + }, + { + "name": "instrumental_forcep", + "label": "Instrumental / Forcep ಉಪಕರಣಗಳಿಂದ ಮಾಡುವ ಹೆರಿಗೆ", + "instance": { + "openmrs_code": "4134123" + } + } + ], + "name": "type_delivery", + "label": "Type of delivery? ಯಾವ ವಿಧದ ಹೆರಿಗೆ?", + "instance": { + "openmrs_entity_id": "120009", + "openmrs_entity": "concept" + }, + "type": "select one" + }, + { + "children": [ + { + "name": "live_birth", + "label": "Live Birth ಜೀವಂತ ಜನನ", + "instance": { + "openmrs_code": "38493849" + } + }, + { + "name": "still_birth", + "label": "Still Birth ನಿರ್ಜೀವ ಜನನ", + "instance": { + "openmrs_code": "343434" + } + } + ], + "name": "delivery_outcome", + "bind": { + "required": "yes" + }, + "label": "Delivery outcome? ಹೆರಿಗೆ ಫಲಿತಾಂಶವೇನು?", + "instance": { + "openmrs_entity_id": "124433", + "openmrs_entity": "concept" + }, + "type": "select one" + }, + { + "name": "case_parity", + "instance": { + "openmrs_entity_id": "100933", + "openmrs_entity": "concept" + }, + "type": "hidden" + }, + { + "name": "parity", + "bind": { + "calculate": "${case_parity} + 1" + }, + "instance": { + "openmrs_entity_id": "434343", + "openmrs_entity": "concept" + }, + "type": "calculate" + }, + { + "name": "case_num_livebirths", + "instance": { + "openmrs_entity_id": "34324234", + "openmrs_entity": "concept" + }, + "type": "hidden" + }, + { + "name": "num_livebirths", + "bind": { + "relevant": "${delivery_outcome} = 'live_birth'", + "calculate": "${case_num_livebirths} + 1" + }, + "instance": { + "openmrs_entity_id": "3423423", + "openmrs_entity": "concept" + }, + "type": "calculate" + }, + { + "name": "youngestchild_date_of_birth", + "bind": { + "relevant": "${delivery_outcome} = 'live_birth'", + "calculate": "${delivery_date}" + }, + "instance": { + "openmrs_entity_id": "120009", + "openmrs_entity": "concept" + }, + "type": "calculate" + }, + { + "name": "youngestchild_age", + "bind": { + "calculate": "int((${today} - ${youngestchild_date_of_birth}) div 30)" + }, + "instance": { + "openmrs_entity_id": "124433", + "openmrs_entity": "concept" + }, + "type": "calculate" + }, + { + "name": "case_num_stillbirths", + "instance": { + "openmrs_entity_id": "100933", + "openmrs_entity": "concept" + }, + "type": "hidden" + }, + { + "name": "num_stillbirths", + "bind": { + "relevant": "${delivery_outcome} = 'still_birth'", + "calculate": "${case_num_stillbirths} + 1" + }, + "instance": { + "openmrs_entity_id": "3432434", + "openmrs_entity": "concept" + }, + "type": "calculate" + }, + { + "children": [ + { + "children": [ + { + "name": "infection_during_preg", + "label": "Infection during pregnancy ಗರ್ಭಾವಸ್ಥೆಯಲ್ಲಿ ಸೋಂಕು", + "instance": { + "openmrs_code": "2323" + } + }, + { + "name": "gest_hypertension", + "label": "Gestational hypertension ಗರ್ಭಾಧಾರಣೆಯಲ್ಲಿನ ಅಧಿಕ ರಕ್ತದೊತ್ತಡ", + "instance": { + "openmrs_code": "2323" + } + }, + { + "name": "gest_diabetes", + "label": "Gestational diabetes ಗರ್ಭಾಧಾರಣೆಯಲ್ಲಿನ ಸಕ್ಕರೆ ಕಾಯಿಲೆ", + "instance": { + "openmrs_code": "23213" + } + }, + { + "name": "fetal_growth_restriction", + "label": "Fetal growth restriction ಭ್ರೂಣದ ಬೆಳವಣಿಗೆಯಲ್ಲಿ ನಿರ್ಬಂಧ", + "instance": { + "openmrs_code": "23123" + } + }, + { + "name": "birth_defects", + "label": "Birth defects ಜನ್ಮ ನ್ಯೂನ್ಯತೆಗಳು", + "instance": { + "openmrs_code": "23213" + } + }, + { + "name": "unknown", + "label": "Cause not identified ಕಾರಣವನ್ನು ಗುರುತಿಸಲ್ಪಟ್ಟಿಲ್ಲ", + "instance": { + "openmrs_code": "2323" + } + }, + { + "name": "others", + "label": "Others ಇತರೆ", + "instance": { + "openmrs_code": "23213" + } + } + ], + "name": "cause_of_still_birth", + "label": "Cause of still birth? ನಿರ್ಜೀವ ಜನನದ ಕಾರಣಗಳು?", + "instance": { + "openmrs_entity_parent": "65435", + "openmrs_entity_id": "4323232", + "openmrs_entity": "concept" + }, + "type": "select one" + }, + { + "children": [ + { + "name": "yes", + "label": "Yes ಹೌದು", + "instance": { + "openmrs_code": "1065" + } + }, + { + "name": "no", + "label": "No ಇಲ್ಲ", + "instance": { + "openmrs_code": "1066" + } + } + ], + "name": "woman_survived", + "bind": { + "required": "yes" + }, + "label": "Woman survived childbirth? ಮಗುವಿನ ಜನನದ ನಂತರ ಮಹಿಳೆ ಬದುಕುಳಿದರೆ?", + "instance": { + "openmrs_entity_parent": "65435", + "openmrs_entity_id": "100009", + "openmrs_entity": "concept" + }, + "type": "select one" + } + ], + "name": "still_birth_group", + "bind": { + "relevant": "${delivery_outcome} = 'still_birth'" + }, + "instance": { + "openmrs_entity_id": "65435", + "openmrs_entity": "concept" + }, + "type": "group" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "name": "male", + "label": "Male ಗಂಡು", + "instance": { + "openmrs_code": "21321" + } + }, + { + "name": "female", + "label": "Female ಹೆಣ್ಣು", + "instance": { + "openmrs_code": "312312" + } + } + ], + "name": "sex_child", + "bind": { + "required": "yes" + }, + "label": "Sex of child? ಮಗುವಿನ ಲಿಂಗ?", + "instance": { + "openmrs_entity_id": "gender", + "openmrs_entity": "patient" + }, + "type": "select one" + }, + { + "name": "sex_child_female", + "bind": { + "calculate": "if(${sex_child} = 'female', 1, 0)" + }, + "type": "calculate" + }, + { + "name": "sex_child_male", + "bind": { + "calculate": "if(${sex_child} = 'male', 1, 0)" + }, + "type": "calculate" + }, + { + "name": "birthweight", + "label": "Child birthweight (in kgs)? ಹುಟ್ಟಿದ ಮಗುವಿನ ತೂಕ (ಕೆ.ಜಿ. ಗಳಲ್ಲಿ)?", + "instance": { + "openmrs_entity_id": "323232", + "openmrs_entity": "concept" + }, + "type": "decimal" + }, + { + "control": { + "appearance": "minimal" + }, + "children": [ + { + "name": "a_positive", + "label": "A+", + "instance": { + "openmrs_code": "34324" + } + }, + { + "name": "a_negative", + "label": "A-", + "instance": { + "openmrs_code": "34134" + } + }, + { + "name": "b_positive", + "label": "B+", + "instance": { + "openmrs_code": "1321312" + } + }, + { + "name": "b_negative", + "label": "B-", + "instance": { + "openmrs_code": "43434" + } + }, + { + "name": "ab_positive", + "label": "AB+", + "instance": { + "openmrs_code": "12323214" + } + }, + { + "name": "ab_negative", + "label": "AB-", + "instance": { + "openmrs_code": "11343141" + } + }, + { + "name": "o_positive", + "label": "O+", + "instance": { + "openmrs_code": "134343" + } + }, + { + "name": "o_negative", + "label": "O-", + "instance": { + "openmrs_code": "432434" + } + } + ], + "name": "child_blood_group", + "label": "Child blood group? ಮಗುವಿನ ರಕ್ತದ ಗುಂಪು?", + "instance": { + "openmrs_entity_id": "232112", + "openmrs_entity": "concept" + }, + "type": "select one" + }, + { + "children": [ + { + "name": "bcg", + "label": "BCG ಬಿ.ಸಿ.ಜಿ", + "instance": { + "openmrs_code": "23123" + } + }, + { + "name": "opv_0", + "label": "OPV 0 ಒ.ಪಿ.ವಿ 0", + "instance": { + "openmrs_code": "12312" + } + }, + { + "name": "hepb_0", + "label": "Hep B 0 ಹೆಪಟೆಟಿಸ್ ಬಿ 0", + "instance": { + "openmrs_code": "213123" + } + } + ], + "name": "immunizations_atbirth", + "label": "Immunizations provided at birth? ಹುಟ್ಟಿದ ಮಗುವಿಗೆ ಇಮ್ಯುನೈಜೇಷನ್ ನೀಡಲಾಯಿತೆ?", + "instance": { + "openmrs_entity_id": "199277", + "openmrs_entity": "concept" + }, + "type": "select all that apply" + }, + { + "name": "case_hepb", + "instance": { + "openmrs_entity_id": "100285", + "openmrs_entity": "concept" + }, + "type": "hidden" + }, + { + "children": [ + { + "name": "yes", + "label": "Yes ಹೌದು", + "instance": { + "openmrs_code": "1065" + } + }, + { + "name": "no", + "label": "No ಇಲ್ಲ", + "instance": { + "openmrs_code": "1066" + } + } + ], + "name": "hepb_prophylaxis_provided", + "bind": { + "relevant": "${case_hepb} != ''" + }, + "label": "Hep B prophylaxis provided? ಹೆಪಟೆಟಿಸ್ ಬಿ ರೋಗನಿರೋಧಕ ಚಿಕಿತ್ಸೆ ನೀಡಲಾಗಿದೆತೇ?", + "instance": { + "openmrs_entity_id": "3321323", + "openmrs_entity": "concept" + }, + "type": "select one" + }, + { + "name": "lbw", + "bind": { + "calculate": "if(${birthweight} >= 1.5 and ${birthweight} < 2.5, 'Low_Birth_Weight','')" + }, + "instance": { + "openmrs_entity_id": "1232132", + "openmrs_entity": "concept" + }, + "type": "calculate" + }, + { + "name": "vlbw", + "bind": { + "calculate": "if(${birthweight} < 1.5, 'Very_Low_Birth_Weight', '')" + }, + "instance": { + "openmrs_entity_id": "232133", + "openmrs_entity": "concept" + }, + "type": "calculate" + }, + { + "name": "num_preg_days", + "bind": { + "calculate": "int(date(${delivery_date}) - date(${case_lmp}))" + }, + "instance": { + "openmrs_entity_id": "232323", + "openmrs_entity": "concept" + }, + "type": "calculate" + }, + { + "name": "premature", + "bind": { + "calculate": "if(${num_preg_days} < 259, 'Premature', '')" + }, + "instance": { + "openmrs_entity_id": "232323", + "openmrs_entity": "concept" + }, + "type": "calculate" + }, + { + "name": "premature_message1", + "bind": { + "relevant": "${premature} != ''" + }, + "label": "Baby is premature! Advise kangaroo care and rooming in. ಅವಧಿಗೆ ಮುನ್ನ ಜನಿಸಿದ ಮಗು! ಕಾಂಗರೋ ಆರೈಕೆ ಮತ್ತು ಒಂದೇ ರೂಮಿನಲ್ಲಿಡುವಂತೆ ಸಲಹೆ ನೀಡಿ.", + "type": "note" + }, + { + "name": "is_child_high_risk1", + "bind": { + "calculate": "if(${premature} != '' or ${lbw} != '' or ${vlbw} != '', 'yes', 'no')" + }, + "instance": { + "openmrs_entity_id": "342343", + "openmrs_entity": "concept" + }, + "type": "calculate" + }, + { + "name": "child_high_risk_reasons", + "bind": { + "calculate": "concat(${premature}, ' ', ${lbw}, ' ', ${vlbw})" + }, + "instance": { + "openmrs_entity_id": "423434", + "openmrs_entity": "concept" + }, + "type": "calculate" + }, + { + "name": "high_risk_note_child", + "bind": { + "relevant": "${is_child_high_risk1} = 'yes'" + }, + "label": "Child is at risk because of, ಈಗ ಮಗು ಅಪಾಯದಲ್ಲಿದೆ ಏಕೆಂದರೆ: ${child_high_risk_reasons}", + "type": "note" + }, + { + "children": [ + { + "name": "yes", + "label": "Yes ಹೌದು", + "instance": { + "openmrs_code": "1065" + } + }, + { + "name": "no", + "label": "No ಇಲ್ಲ", + "instance": { + "openmrs_code": "1066" + } + } + ], + "name": "is_child_high_risk", + "bind": { + "required": "yes" + }, + "label": "Do you want to mark child as HR (High Risk)? \nನೀವು ಮಗುವನ್ನು HR (ಹೆಚ್ಚು ಅಪಾಯವಿದೆ) ಎಂದು ಗುರುತಿಸಲು ಬಯಸುವಿರಾ?", + "instance": { + "openmrs_entity_id": "4342343", + "openmrs_entity": "concept" + }, + "type": "select one" + }, + { + "name": "addl_pnc_visit_message", + "bind": { + "relevant": "${is_child_high_risk1} = 'yes'" + }, + "label": "Child needs 3 more PNC visits on days 14, 21, and 28 because of, 14, 21 ಮತ್ತು 28 ನೇ ದಿನಗಳೊಂದು ಮಗುವಿಗೆ 3 ಹೆಚ್ಚಿನ ಭೇಟಿಯ ಅಗತ್ಯವಿದೆ, ಏಕೆಂದರೆ: ${child_high_risk_reasons}", + "type": "note" + } + ], + "name": "child", + "label": "Please enter birth information for each child born. ಜನನವಾದ ಪ್ರತಿ ಮಗುವಿನ ಜನ್ಮ ಮಾಹಿತಿಯನ್ನು ದಯವಿಟ್ಟು ನಮೂದಿಸಿ.", + "instance": { + "openmrs_entity_id": "100029", + "openmrs_entity": "concept" + }, + "type": "repeat" + }, + { + "children": [ + { + "name": "yes", + "label": "Yes ಹೌದು", + "instance": { + "openmrs_code": "1065" + } + }, + { + "name": "no", + "label": "No ಇಲ್ಲ", + "instance": { + "openmrs_code": "1066" + } + } + ], + "name": "mother_survived", + "bind": { + "required": "yes" + }, + "label": "Mother survived childbirth? ಮಗುವಿನ ಜನನದ ನಂತರ ಮಹಿಳೆ ಬದುಕುಳಿದರೆ?", + "instance": { + "openmrs_entity_id": "343434", + "openmrs_entity": "concept" + }, + "type": "select one" + }, + { + "children": [ + { + "name": "yes", + "label": "Yes ಹೌದು", + "instance": { + "openmrs_code": "1065" + } + }, + { + "name": "no", + "label": "No ಇಲ್ಲ", + "instance": { + "openmrs_code": "1066" + } + } + ], + "name": "breastfeeding_postbirth", + "bind": { + "relevant": "${mother_survived} = 'yes'", + "required": "yes" + }, + "label": "Was breastfeeding started within 1 hour of birth? ಹುಟ್ಟಿದ ಒಂದು ಗಂಟೆಯ ಒಳಗೆ ಎದೆಹಾಲು ನೀಡಲಾಯಿತೆ?", + "instance": { + "openmrs_entity_id": "434343", + "openmrs_entity": "concept" + }, + "type": "select one" + } + ], + "name": "live_birth_group", + "bind": { + "relevant": "${delivery_outcome} = 'live_birth'" + }, + "type": "group" + }, + { + "name": "case_num_livingchildren", + "instance": { + "openmrs_entity_id": "434344", + "openmrs_entity": "concept" + }, + "type": "hidden" + }, + { + "name": "num_children_born", + "bind": { + "calculate": "if(${delivery_outcome} = 'still_birth', 0, count(${sex_child}))" + }, + "instance": { + "openmrs_entity_id": "43432", + "openmrs_entity": "concept" + }, + "type": "calculate" + }, + { + "name": "num_livingchildren", + "bind": { + "calculate": "${case_num_livingchildren} + ${num_children_born}" + }, + "instance": { + "openmrs_entity_id": "54541", + "openmrs_entity": "concept" + }, + "type": "calculate" + }, + { + "name": "case_numlivingchildren_female", + "instance": { + "openmrs_entity_id": "57467", + "openmrs_entity": "concept" + }, + "type": "hidden" + }, + { + "name": "num_female_children_born", + "bind": { + "calculate": "sum(${sex_child_female})" + }, + "instance": { + "openmrs_entity_id": "687832", + "openmrs_entity": "concept" + }, + "type": "calculate" + }, + { + "name": "numlivingchildren_female", + "bind": { + "calculate": "${case_numlivingchildren_female} + ${num_female_children_born}" + }, + "instance": { + "openmrs_entity_id": "098343", + "openmrs_entity": "concept" + }, + "type": "calculate" + }, + { + "name": "case_numlivingchildren_male", + "instance": { + "openmrs_entity_id": "98664", + "openmrs_entity": "concept" + }, + "type": "hidden" + }, + { + "name": "num_male_children_born", + "bind": { + "calculate": "sum(${sex_child_male})" + }, + "instance": { + "openmrs_entity_id": "4343656", + "openmrs_entity": "concept" + }, + "type": "calculate" + }, + { + "name": "numlivingchildren_male", + "bind": { + "calculate": "${case_numlivingchildren_male} + ${num_male_children_born}" + }, + "instance": { + "openmrs_entity_id": "342325", + "openmrs_entity": "concept" + }, + "type": "calculate" + }, + { + "children": [ + { + "children": [ + { + "name": "prolonged_obstructed_labor", + "label": "Prolonged / obstructed labor ದೀರ್ಘಕಾಲೀನ / ಅಡಚಣೆಯನ್ನು ತಂದೊಡ್ಡುವ ಹೆರಿಗೆ ನೋವು", + "instance": { + "openmrs_code": "23123" + } + }, + { + "name": "hypertension_fits", + "label": "Severe hypertension / fits ತೀವ್ರತರವಾದ ಅಧಿಕ ರಕ್ತದೊತ್ತಡ / ಮೂರ್ಚೆರೋಗ", + "instance": { + "openmrs_code": "23213" + } + }, + { + "name": "bleeding_hemorrhage", + "label": "Bleeding / hemorrhage ರಕ್ತಸ್ರಾವ", + "instance": { + "openmrs_code": "23123" + } + }, + { + "name": "fever_infection", + "label": "High fever / infection ಅಧಿಕ ಜ್ವರ / ಸೊಂಕು", + "instance": { + "openmrs_code": "2323" + } + }, + { + "name": "cause_not_identified", + "label": "Cause not identified ಕಾರಣವನ್ನು ಗುರುತಿಸಲ್ಪಟ್ಟಿಲ್ಲ", + "instance": { + "openmrs_code": "23213" + } + }, + { + "name": "others", + "label": "Others ಇತರೆ", + "instance": { + "openmrs_code": "23213" + } + } + ], + "name": "maternal_death_cause", + "label": "Cause of maternal death? ತಾಯಿಯ ಮರಣಕ್ಕೆ ಕಾರಣಗಳು?", + "instance": { + "openmrs_entity_id": "43434", + "openmrs_entity": "concept" + }, + "type": "select one" + }, + { + "name": "other_maternal_death_cause", + "bind": { + "relevant": "${maternal_death_cause} = 'others'" + }, + "label": "Others ಇತರೆ:", + "instance": { + "openmrs_entity_id": "43221", + "openmrs_entity": "concept" + }, + "type": "text" + } + ], + "name": "maternal_death_group", + "bind": { + "relevant": "(${woman_survived} = 'no' or ${mother_survived} = 'no')" + }, + "type": "group" + }, + { + "children": [ + { + "name": "case_w_rh_negative", + "instance": { + "openmrs_entity_id": "4324234", + "openmrs_entity": "concept" + }, + "type": "hidden" + }, + { + "children": [ + { + "name": "yes", + "label": "Yes ಹೌದು", + "instance": { + "openmrs_code": "1065" + } + }, + { + "name": "no", + "label": "No ಇಲ್ಲ", + "instance": { + "openmrs_code": "1066" + } + } + ], + "name": "rh_injection_given", + "bind": { + "relevant": "${case_w_rh_negative} != ''" + }, + "label": "Rh injection given to woman? ಮಹಿಳೆಗೆ Rh ಚುಚ್ಚುಮದ್ದು ನೀಡಲಾಯಿತೆ?", + "instance": { + "openmrs_entity_id": "32323", + "openmrs_entity": "concept" + }, + "type": "select one" + }, + { + "children": [ + { + "name": "yes", + "label": "Yes ಹೌದು", + "instance": { + "openmrs_code": "1065" + } + }, + { + "name": "no", + "label": "No ಇಲ್ಲ", + "instance": { + "openmrs_code": "1066" + } + } + ], + "name": "had_delivery_complications", + "label": "Were there delivery complications? ಹೆರಿಗೆಯಲ್ಲಿ ತೊಡಕುಂಟಾಯಿತೆ?", + "instance": { + "openmrs_entity_id": "233234", + "openmrs_entity": "concept" + }, + "type": "select one" + }, + { + "children": [ + { + "name": "hemorrhage", + "label": "Hemorrhage ರಕ್ತಸ್ರಾವ", + "instance": { + "openmrs_code": "4123213" + } + }, + { + "name": "placenta_previa", + "label": "Placenta previa ಹಿಂದಿನ ಗರ್ಭದಲ್ಲಿ ಮಾಸು ಮುಂದಿರುವುದು", + "instance": { + "openmrs_code": "2131413" + } + }, + { + "name": "cord_prolapse", + "label": "Cord prolapse ಬಳ್ಳಿಯ ಸರಿತ", + "instance": { + "openmrs_code": "4134123" + } + }, + { + "name": "prolonged_labor", + "label": "Prolonged / obstructed labor ದೀರ್ಘಕಾಲೀನ / ಅಡಚಣೆಯನ್ನು ತಂದೊಡ್ಡುವ ಹೆರಿಗೆ ನೋವು", + "instance": { + "openmrs_code": "213124123" + } + }, + { + "name": "abnormal_presentation", + "label": "Abnormal presentation ಅಪಸಾಮಾನ್ಯ ಪ್ರಸ್ತುತಿ", + "instance": { + "openmrs_code": "14123123" + } + }, + { + "name": "perineal_tear", + "label": "Perineal tear (2, 3, or 4 degree)", + "instance": { + "openmrs_code": "23123" + } + }, + { + "name": "others", + "label": "Others ಇತರೆ", + "instance": { + "openmrs_code": "32123" + } + } + ], + "name": "complications", + "bind": { + "relevant": "${had_delivery_complications} = 'yes'" + }, + "label": "What delivery complications were there? ಯಾವ ಹೆರಿಗೆ ತೊಂದರೆಗಳು ಉಂಟಾದವು?", + "instance": { + "openmrs_entity_id": "25343", + "openmrs_entity": "concept" + }, + "type": "select all that apply" + }, + { + "name": "delivery_complications_other", + "bind": { + "relevant": "selected(${complications}, 'others')" + }, + "label": "Others ಇತರೆ:", + "instance": { + "openmrs_entity_id": "2355435", + "openmrs_entity": "concept" + }, + "type": "text" + } + ], + "name": "woman_survived_group", + "bind": { + "relevant": "(${woman_survived} = 'yes' or ${mother_survived} = 'yes')" + }, + "type": "group" + }, + { + "name": "case_is_high_risk_till_pnc_close", + "instance": { + "openmrs_entity_id": "8768767", + "openmrs_entity": "concept" + }, + "type": "hidden" + }, + { + "name": "case_is_high_risk_till_pnc_close_reason", + "instance": { + "openmrs_entity_id": "676576", + "openmrs_entity": "concept" + }, + "type": "hidden" + }, + { + "name": "case_anaemic_status", + "instance": { + "openmrs_entity_id": "76767", + "openmrs_entity": "concept" + }, + "type": "hidden" + }, + { + "name": "case_pih", + "instance": { + "openmrs_entity_id": "36787", + "openmrs_entity": "concept" + }, + "type": "hidden" + }, + { + "name": "case_pre_eclampsia", + "instance": { + "openmrs_entity_id": "376784", + "openmrs_entity": "concept" + }, + "type": "hidden" + }, + { + "name": "case_jaundice", + "instance": { + "openmrs_entity_id": "343434", + "openmrs_entity": "concept" + }, + "type": "hidden" + }, + { + "name": "is_high_risk1", + "bind": { + "calculate": "if(${case_is_high_risk_till_pnc_close} = 'yes' or ${case_anaemic_status} != '' or ${case_pih} != '' or ${case_pre_eclampsia} != '' or ${case_jaundice} != '', 'yes', 'no')" + }, + "instance": { + "openmrs_entity_id": "4746767", + "openmrs_entity": "concept" + }, + "type": "calculate" + }, + { + "name": "high_risk_reason", + "bind": { + "calculate": "concat(${case_is_high_risk_till_pnc_close_reason}, ' ', ${case_anaemic_status}, ' ', ${case_pih}, ' ', ${case_pre_eclampsia}, ' ', ${case_jaundice})" + }, + "instance": { + "openmrs_entity_id": "5656", + "openmrs_entity": "concept" + }, + "type": "calculate" + }, + { + "name": "high_risk_note_mother", + "bind": { + "relevant": "${is_high_risk1} = 'yes'" + }, + "label": "Woman is still at risk because of, ಮಹಿಳೆಯು ಈಗಲೂ ಅಪಾಯದಲ್ಲಿದ್ದಾಳೆ ಏಕೆಂದರೆ: ${high_risk_reason}", + "type": "note" + }, + { + "children": [ + { + "name": "yes", + "label": "Yes ಹೌದು", + "instance": { + "openmrs_code": "1065" + } + }, + { + "name": "no", + "label": "No ಇಲ್ಲ", + "instance": { + "openmrs_code": "1066" + } + } + ], + "name": "is_high_risk", + "bind": { + "relevant": "(${woman_survived} = 'yes' or ${mother_survived} = 'yes')", + "required": "yes" + }, + "label": "Do you want to mark woman as HR (High Risk)?\nನೀವು ಮಹಿಳೆಯನ್ನು HR (ಹೆಚ್ಚು ಅಪಾಯವಿದೆ) ಎಂದು ಗುರುತಿಸಲು ಬಯಸುವಿರಾ?", + "instance": { + "openmrs_entity_id": "424253", + "openmrs_entity": "concept" + }, + "type": "select one" + }, + { + "control": { + "bodyless": true + }, + "children": [ + { + "name": "instanceID", + "bind": { + "readonly": "true()", + "calculate": "concat('uuid:', uuid())" + }, + "type": "calculate" + } + ], + "name": "meta", + "type": "group" + } + ], + "instance": { + "encounter_type": "PNC Registration" + }, + "version": "201504300627", + "type": "survey", + "name": "PNC_Registration_EngKan", + "sms_keyword": "Delivery_Outcome_EngKan", + "title": "PNC Registration" +} \ No newline at end of file diff --git a/opensrp-connector/bin/src/test/resources/form/repeatform/form_definition.json b/opensrp-connector/bin/src/test/resources/form/repeatform/form_definition.json new file mode 100644 index 0000000000..c64ffdc42f --- /dev/null +++ b/opensrp-connector/bin/src/test/resources/form/repeatform/form_definition.json @@ -0,0 +1,315 @@ +{ + "form_data_definition_version": "5", + "form": { + "bind_type": "mother", + "default_bind_path": "/model/instance/PNC_Registration_EngKan/", + "fields": [ + { + "name": "id", + "shouldLoadValue": true + }, + { + "name": "ecId", + "shouldLoadValue": true, + "source": "mother.eligible_couple.id" + }, + { + "name": "referenceDate", + "shouldLoadValue": true, + "bind": "/model/instance/PNC_Registration_EngKan/case_lmp" + }, + { + "name": "referenceDate", + "bind": "/model/instance/PNC_Registration_EngKan/delivery_date" + }, + { + "name": "deliveryRegistrationDate", + "bind": "/model/instance/PNC_Registration_EngKan/delivery_reg_date" + }, + { + "name": "deliveryPlace", + "bind": "/model/instance/PNC_Registration_EngKan/place_delivery" + }, + { + "name": "deliveryFacilityName", + "bind": "/model/instance/PNC_Registration_EngKan/name_delivery_facility" + }, + { + "name": "isThisOnlyDeliveryFacility", + "bind": "/model/instance/PNC_Registration_EngKan/only_delivery_facility" + }, + { + "name": "additionalDeliveryFacility", + "bind": "/model/instance/PNC_Registration_EngKan/addl_delivery_facility" + }, + { + "name": "reasonsForAdditionalDeliveryFacility", + "bind": "/model/instance/PNC_Registration_EngKan/reasons_addl_delivery_facility" + }, + { + "name": "otherReasonsForAdditionalDeliveryFacility", + "bind": "/model/instance/PNC_Registration_EngKan/other_reasons_addl_delivery_facility" + }, + { + "name": "isSkilledDelivery", + "bind": "/model/instance/PNC_Registration_EngKan/skilled_delivery" + }, + { + "name": "deliveryType", + "bind": "/model/instance/PNC_Registration_EngKan/type_delivery" + }, + { + "name": "deliveryOutcome", + "bind": "/model/instance/PNC_Registration_EngKan/delivery_outcome" + }, + { + "name": "parity", + "shouldLoadValue": true, + "bind": "/model/instance/PNC_Registration_EngKan/case_parity", + "source": "mother.eligible_couple.parity" + }, + { + "name": "parity", + "bind": "/model/instance/PNC_Registration_EngKan/parity", + "source": "mother.eligible_couple.parity" + }, + { + "name": "numberOfLiveBirths", + "shouldLoadValue": true, + "bind": "/model/instance/PNC_Registration_EngKan/case_num_livebirths", + "source": "mother.eligible_couple.numberOfLiveBirths" + }, + { + "name": "numberOfLiveBirths", + "bind": "/model/instance/PNC_Registration_EngKan/num_livebirths", + "source": "mother.eligible_couple.numberOfLiveBirths" + }, + { + "name": "numberOfStillBirths", + "shouldLoadValue": true, + "bind": "/model/instance/PNC_Registration_EngKan/case_num_stillbirths", + "source": "mother.eligible_couple.numberOfStillBirths" + }, + { + "name": "numberOfStillBirths", + "bind": "/model/instance/PNC_Registration_EngKan/num_stillbirths", + "source": "mother.eligible_couple.numberOfStillBirths" + }, + { + "name": "causeOfStillBirth", + "bind": "/model/instance/PNC_Registration_EngKan/still_birth_group/cause_of_still_birth" + }, + { + "name": "didWomanSurvive", + "bind": "/model/instance/PNC_Registration_EngKan/still_birth_group/woman_survived" + }, + { + "name": "didMotherSurvive", + "bind": "/model/instance/PNC_Registration_EngKan/live_birth_group/mother_survived" + }, + { + "name": "didBreastfeedingStart", + "bind": "/model/instance/PNC_Registration_EngKan/live_birth_group/breastfeeding_postbirth" + }, + { + "name": "maternalDeathCause", + "bind": "/model/instance/PNC_Registration_EngKan/maternal_death_group/maternal_death_cause" + }, + { + "name": "otherMaternalDeathCause", + "bind": "/model/instance/PNC_Registration_EngKan/maternal_death_group/other_maternal_death_cause" + }, + { + "name": "isRHNegative", + "shouldLoadValue": true, + "bind": "/model/instance/PNC_Registration_EngKan/woman_survived_group/case_w_rh_negative" + }, + { + "name": "isRHInjectionGiven", + "bind": "/model/instance/PNC_Registration_EngKan/woman_survived_group/rh_injection_given" + }, + { + "name": "hadDeliveryComplications", + "bind": "/model/instance/PNC_Registration_EngKan/woman_survived_group/had_delivery_complications" + }, + { + "name": "deliveryComplications", + "bind": "/model/instance/PNC_Registration_EngKan/woman_survived_group/complications" + }, + { + "name": "otherDeliveryComplications", + "bind": "/model/instance/PNC_Registration_EngKan/woman_survived_group/delivery_complications_other" + }, + { + "name": "isHighRiskTillPNCClose", + "shouldLoadValue": true, + "bind": "/model/instance/PNC_Registration_EngKan/case_is_high_risk_till_pnc_close" + }, + { + "name": "highRiskTillPNCCloseReason", + "shouldLoadValue": true, + "bind": "/model/instance/PNC_Registration_EngKan/case_is_high_risk_till_pnc_close_reason" + }, + { + "name": "anemicStatus", + "shouldLoadValue": true, + "bind": "/model/instance/PNC_Registration_EngKan/case_anaemic_status" + }, + { + "name": "pih", + "shouldLoadValue": true, + "bind": "/model/instance/PNC_Registration_EngKan/case_pih" + }, + { + "name": "preEclampsia", + "shouldLoadValue": true, + "bind": "/model/instance/PNC_Registration_EngKan/case_pre_eclampsia" + }, + { + "name": "jaundice", + "shouldLoadValue": true, + "bind": "/model/instance/PNC_Registration_EngKan/case_jaundice" + }, + { + "name": "isHighRisk", + "bind": "/model/instance/PNC_Registration_EngKan/is_high_risk" + }, + { + "name": "isBirthPlanningDone", + "shouldLoadValue": true, + "bind": "/model/instance/PNC_Registration_EngKan/case_birth_planning" + }, + { + "name": "highRiskReason", + "bind": "/model/instance/PNC_Registration_EngKan/high_risk_reason" + }, + { + "name": "submissionDate", + "bind": "/model/instance/PNC_Registration_EngKan/today" + }, + { + "name": "type", + "value": "PNC", + "source": "mother.type" + }, + { + "name": "numberOfLivingChildren", + "shouldLoadValue": true, + "bind": "/model/instance/PNC_Registration_EngKan/case_num_livingchildren", + "source": "mother.eligible_couple.numberOfLivingChildren" + }, + { + "name": "numberOfLivingChildren", + "shouldLoadValue": true, + "bind": "/model/instance/PNC_Registration_EngKan/num_livingchildren", + "source": "mother.eligible_couple.numberOfLivingChildren" + }, + { + "name": "numberOfChildrenBorn", + "bind": "/model/instance/PNC_Registration_EngKan/num_children_born" + }, + { + "name": "numberOfFemaleChildrenBorn", + "bind": "/model/instance/PNC_Registration_EngKan/num_female_children_born" + }, + { + "name": "numberOfMaleChildrenBorn", + "bind": "/model/instance/PNC_Registration_EngKan/num_male_children_born" + }, + { + "name": "numberOfLivingFemaleChild", + "shouldLoadValue": true, + "bind": "/model/instance/PNC_Registration_EngKan/case_numlivingchildren_female", + "source": "mother.eligible_couple.numberOfLivingChildrenFemale" + }, + { + "name": "numberOfLivingFemaleChild", + "bind": "/model/instance/PNC_Registration_EngKan/numlivingchildren_female", + "source": "mother.eligible_couple.numberOfLivingChildrenFemale" + }, + { + "name": "numberOfLivingMaleChild", + "shouldLoadValue": true, + "bind": "/model/instance/PNC_Registration_EngKan/case_numlivingchildren_male", + "source": "mother.eligible_couple.numberOfLivingMaleChild" + }, + { + "name": "numberOfLivingMaleChild", + "bind": "/model/instance/PNC_Registration_EngKan/numlivingchildren_male", + "source": "mother.eligible_couple.numberOfLivingMaleChild" + }, + { + "name": "youngestChildDOB", + "bind": "/model/instance/PNC_Registration_EngKan/youngestchild_date_of_birth", + "source": "mother.eligible_couple.youngestChildDOB" + }, + { + "name": "youngestChildAge", + "bind": "/model/instance/PNC_Registration_EngKan/youngestchild_age", + "source": "mother.eligible_couple.youngestChildAge" + } + ], + "sub_forms": [ + { + "name": "child_registration", + "bind_type": "child", + "default_bind_path": "/model/instance/PNC_Registration_EngKan/live_birth_group/child", + "fields": [ + { + "name": "id", + "shouldLoadValue": true + }, + { + "name": "gender", + "bind": "/model/instance/PNC_Registration_EngKan/live_birth_group/child/sex_child" + }, + { + "name": "weight", + "bind": "/model/instance/PNC_Registration_EngKan/live_birth_group/child/birthweight" + }, + { + "name": "bloodGroup", + "bind": "/model/instance/PNC_Registration_EngKan/live_birth_group/child/child_blood_group" + }, + { + "name": "immunizationsGiven", + "bind": "/model/instance/PNC_Registration_EngKan/live_birth_group/child/immunizations_atbirth" + }, + { + "name": "hepB", + "shouldLoadValue": true, + "bind": "/model/instance/PNC_Registration_EngKan/live_birth_group/child/case_hepb" + }, + { + "name": "isHepBProphylaxisProvided", + "bind": "/model/instance/PNC_Registration_EngKan/live_birth_group/child/hepb_prophylaxis_provided" + }, + { + "name": "isChildHighRisk1", + "bind": "/model/instance/PNC_Registration_EngKan/live_birth_group/child/is_child_high_risk1" + }, + { + "name": "childHighRiskReasons", + "bind": "/model/instance/PNC_Registration_EngKan/live_birth_group/child/child_high_risk_reasons" + }, + { + "name": "isChildHighRisk", + "bind": "/model/instance/PNC_Registration_EngKan/live_birth_group/child/is_child_high_risk" + }, + { + "name": "lbw", + "bind": "/model/instance/PNC_Registration_EngKan/live_birth_group/child/lbw" + }, + { + "name": "vlbw", + "bind": "/model/instance/PNC_Registration_EngKan/live_birth_group/child/vlbw" + }, + { + "name": "premature", + "bind": "/model/instance/PNC_Registration_EngKan/live_birth_group/child/premature" + } + ] + } + ] + } +} diff --git a/opensrp-connector/bin/src/test/resources/form/repeatform/form_submission.json b/opensrp-connector/bin/src/test/resources/form/repeatform/form_submission.json new file mode 100644 index 0000000000..446e64adda --- /dev/null +++ b/opensrp-connector/bin/src/test/resources/form/repeatform/form_submission.json @@ -0,0 +1,452 @@ +{ + "anmId": "admin", + "clientVersion": "1426830449320", + "entityId": "b716d938-1aea-40ae-a081-9ddddddcccc9", + "formDataDefinitionVersion": "5", + "formName": "repeatform", + "formInstance": { + "form_data_definition_version": "5", + "form": { + "bind_type": "mother", + "default_bind_path": "/model/instance/PNC_Registration_EngKan/", + "fields": [ + { + "name": "id", + "shouldLoadValue": true, + "source": "mother.id", + "value": "7efb9e31-0e26-496e-bd16-e09a3b0d1a31" + }, + { + "name": "ecId", + "shouldLoadValue": true, + "source": "mother.eligible_couple.id", + "value": "aa786612-e7a8-4fea-b733-3de4d898f4d6" + }, + { + "name": "referenceDate", + "shouldLoadValue": true, + "bind": "/model/instance/PNC_Registration_EngKan/case_lmp", + "source": "mother.referenceDate", + "value": "2014-02-20" + }, + { + "name": "referenceDate", + "bind": "/model/instance/PNC_Registration_EngKan/delivery_date", + "source": "mother.referenceDate", + "value": "2015-02-20" + }, + { + "name": "deliveryRegistrationDate", + "bind": "/model/instance/PNC_Registration_EngKan/delivery_reg_date", + "source": "mother.deliveryRegistrationDate", + "value": "2015-03-20" + }, + { + "name": "deliveryPlace", + "bind": "/model/instance/PNC_Registration_EngKan/place_delivery", + "source": "mother.deliveryPlace", + "value": "home" + }, + { + "name": "deliveryFacilityName", + "bind": "/model/instance/PNC_Registration_EngKan/name_delivery_facility", + "source": "mother.deliveryFacilityName" + }, + { + "name": "isThisOnlyDeliveryFacility", + "bind": "/model/instance/PNC_Registration_EngKan/only_delivery_facility", + "source": "mother.isThisOnlyDeliveryFacility", + "value": "yes" + }, + { + "name": "additionalDeliveryFacility", + "bind": "/model/instance/PNC_Registration_EngKan/addl_delivery_facility", + "source": "mother.additionalDeliveryFacility" + }, + { + "name": "reasonsForAdditionalDeliveryFacility", + "bind": "/model/instance/PNC_Registration_EngKan/reasons_addl_delivery_facility", + "source": "mother.reasonsForAdditionalDeliveryFacility" + }, + { + "name": "otherReasonsForAdditionalDeliveryFacility", + "bind": "/model/instance/PNC_Registration_EngKan/other_reasons_addl_delivery_facility", + "source": "mother.otherReasonsForAdditionalDeliveryFacility" + }, + { + "name": "isSkilledDelivery", + "bind": "/model/instance/PNC_Registration_EngKan/skilled_delivery", + "source": "mother.isSkilledDelivery", + "value": "yes" + }, + { + "name": "deliveryType", + "bind": "/model/instance/PNC_Registration_EngKan/type_delivery", + "source": "mother.deliveryType", + "value": "normal" + }, + { + "name": "deliveryOutcome", + "bind": "/model/instance/PNC_Registration_EngKan/delivery_outcome", + "source": "mother.deliveryOutcome", + "value": "live_birth" + }, + { + "name": "parity", + "shouldLoadValue": true, + "bind": "/model/instance/PNC_Registration_EngKan/case_parity", + "source": "mother.eligible_couple.parity", + "value": "0" + }, + { + "name": "parity", + "bind": "/model/instance/PNC_Registration_EngKan/parity", + "source": "mother.eligible_couple.parity", + "value": "1" + }, + { + "name": "numberOfLiveBirths", + "shouldLoadValue": true, + "bind": "/model/instance/PNC_Registration_EngKan/case_num_livebirths", + "source": "mother.eligible_couple.numberOfLiveBirths", + "value": "0" + }, + { + "name": "numberOfLiveBirths", + "bind": "/model/instance/PNC_Registration_EngKan/num_livebirths", + "source": "mother.eligible_couple.numberOfLiveBirths", + "value": "1" + }, + { + "name": "numberOfStillBirths", + "shouldLoadValue": true, + "bind": "/model/instance/PNC_Registration_EngKan/case_num_stillbirths", + "source": "mother.eligible_couple.numberOfStillBirths", + "value": "0" + }, + { + "name": "numberOfStillBirths", + "bind": "/model/instance/PNC_Registration_EngKan/num_stillbirths", + "source": "mother.eligible_couple.numberOfStillBirths" + }, + { + "name": "causeOfStillBirth", + "bind": "/model/instance/PNC_Registration_EngKan/still_birth_group/cause_of_still_birth", + "source": "mother.causeOfStillBirth", + "value": "death of mother" + }, + { + "name": "didWomanSurvive", + "bind": "/model/instance/PNC_Registration_EngKan/still_birth_group/woman_survived", + "source": "mother.didWomanSurvive", + "value": "no" + }, + { + "name": "didMotherSurvive", + "bind": "/model/instance/PNC_Registration_EngKan/live_birth_group/mother_survived", + "source": "mother.didMotherSurvive", + "value": "yes" + }, + { + "name": "didBreastfeedingStart", + "bind": "/model/instance/PNC_Registration_EngKan/live_birth_group/breastfeeding_postbirth", + "source": "mother.didBreastfeedingStart", + "value": "yes" + }, + { + "name": "maternalDeathCause", + "bind": "/model/instance/PNC_Registration_EngKan/maternal_death_group/maternal_death_cause", + "source": "mother.maternalDeathCause" + }, + { + "name": "otherMaternalDeathCause", + "bind": "/model/instance/PNC_Registration_EngKan/maternal_death_group/other_maternal_death_cause", + "source": "mother.otherMaternalDeathCause" + }, + { + "name": "isRHNegative", + "shouldLoadValue": true, + "bind": "/model/instance/PNC_Registration_EngKan/woman_survived_group/case_w_rh_negative", + "source": "mother.isRHNegative" + }, + { + "name": "isRHInjectionGiven", + "bind": "/model/instance/PNC_Registration_EngKan/woman_survived_group/rh_injection_given", + "source": "mother.isRHInjectionGiven" + }, + { + "name": "hadDeliveryComplications", + "bind": "/model/instance/PNC_Registration_EngKan/woman_survived_group/had_delivery_complications", + "source": "mother.hadDeliveryComplications", + "value": "yes" + }, + { + "name": "deliveryComplications", + "bind": "/model/instance/PNC_Registration_EngKan/woman_survived_group/complications", + "source": "mother.deliveryComplications", + "value": "hemorrhage placenta_previa" + }, + { + "name": "otherDeliveryComplications", + "bind": "/model/instance/PNC_Registration_EngKan/woman_survived_group/delivery_complications_other", + "source": "mother.otherDeliveryComplications" + }, + { + "name": "isHighRiskTillPNCClose", + "shouldLoadValue": true, + "bind": "/model/instance/PNC_Registration_EngKan/case_is_high_risk_till_pnc_close", + "source": "mother.isHighRiskTillPNCClose", + "value": "no" + }, + { + "name": "highRiskTillPNCCloseReason", + "shouldLoadValue": true, + "bind": "/model/instance/PNC_Registration_EngKan/case_is_high_risk_till_pnc_close_reason", + "source": "mother.highRiskTillPNCCloseReason" + }, + { + "name": "anemicStatus", + "shouldLoadValue": true, + "bind": "/model/instance/PNC_Registration_EngKan/case_anaemic_status", + "source": "mother.anemicStatus" + }, + { + "name": "pih", + "shouldLoadValue": true, + "bind": "/model/instance/PNC_Registration_EngKan/case_pih", + "source": "mother.pih" + }, + { + "name": "preEclampsia", + "shouldLoadValue": true, + "bind": "/model/instance/PNC_Registration_EngKan/case_pre_eclampsia", + "source": "mother.preEclampsia" + }, + { + "name": "jaundice", + "shouldLoadValue": true, + "bind": "/model/instance/PNC_Registration_EngKan/case_jaundice", + "source": "mother.jaundice" + }, + { + "name": "isHighRisk", + "bind": "/model/instance/PNC_Registration_EngKan/is_high_risk", + "source": "mother.isHighRisk", + "value": "yes" + }, + { + "name": "isBirthPlanningDone", + "shouldLoadValue": true, + "bind": "/model/instance/PNC_Registration_EngKan/case_birth_planning", + "source": "mother.isBirthPlanningDone" + }, + { + "name": "highRiskReason", + "bind": "/model/instance/PNC_Registration_EngKan/high_risk_reason", + "source": "mother.highRiskReason" + }, + { + "name": "submissionDate", + "bind": "/model/instance/PNC_Registration_EngKan/today", + "source": "mother.submissionDate", + "value": "2015-03-20" + }, + { + "name": "type", + "value": "PNC", + "source": "mother.type" + }, + { + "name": "numberOfLivingChildren", + "shouldLoadValue": true, + "bind": "/model/instance/PNC_Registration_EngKan/case_num_livingchildren", + "source": "mother.eligible_couple.numberOfLivingChildren", + "value": "0" + }, + { + "name": "numberOfLivingChildren", + "shouldLoadValue": true, + "bind": "/model/instance/PNC_Registration_EngKan/num_livingchildren", + "source": "mother.eligible_couple.numberOfLivingChildren", + "value": "3" + }, + { + "name": "numberOfChildrenBorn", + "bind": "/model/instance/PNC_Registration_EngKan/num_children_born", + "source": "mother.numberOfChildrenBorn", + "value": "3" + }, + { + "name": "numberOfFemaleChildrenBorn", + "bind": "/model/instance/PNC_Registration_EngKan/num_female_children_born", + "source": "mother.numberOfFemaleChildrenBorn", + "value": "1" + }, + { + "name": "numberOfMaleChildrenBorn", + "bind": "/model/instance/PNC_Registration_EngKan/num_male_children_born", + "source": "mother.numberOfMaleChildrenBorn", + "value": "2" + }, + { + "name": "numberOfLivingFemaleChild", + "shouldLoadValue": true, + "bind": "/model/instance/PNC_Registration_EngKan/case_numlivingchildren_female", + "source": "mother.eligible_couple.numberOfLivingChildrenFemale" + }, + { + "name": "numberOfLivingFemaleChild", + "bind": "/model/instance/PNC_Registration_EngKan/numlivingchildren_female", + "source": "mother.eligible_couple.numberOfLivingChildrenFemale", + "value": "NaN" + }, + { + "name": "numberOfLivingMaleChild", + "shouldLoadValue": true, + "bind": "/model/instance/PNC_Registration_EngKan/case_numlivingchildren_male", + "source": "mother.eligible_couple.numberOfLivingMaleChild" + }, + { + "name": "numberOfLivingMaleChild", + "bind": "/model/instance/PNC_Registration_EngKan/numlivingchildren_male", + "source": "mother.eligible_couple.numberOfLivingMaleChild", + "value": "NaN" + }, + { + "name": "youngestChildDOB", + "bind": "/model/instance/PNC_Registration_EngKan/youngestchild_date_of_birth", + "source": "mother.eligible_couple.youngestChildDOB", + "value": "2015-02-20" + }, + { + "name": "youngestChildAge", + "bind": "/model/instance/PNC_Registration_EngKan/youngestchild_age", + "source": "mother.eligible_couple.youngestChildAge", + "value": "0" + } + ], + "sub_forms": [ + { + "name": "child_registration", + "bind_type": "child", + "default_bind_path": "/model/instance/PNC_Registration_EngKan/live_birth_group/child", + "fields": [ + { + "name": "id", + "shouldLoadValue": true, + "source": "child.id" + }, + { + "name": "gender", + "bind": "/model/instance/PNC_Registration_EngKan/live_birth_group/child/sex_child", + "source": "child.gender" + }, + { + "name": "weight", + "bind": "/model/instance/PNC_Registration_EngKan/live_birth_group/child/birthweight", + "source": "child.weight" + }, + { + "name": "bloodGroup", + "bind": "/model/instance/PNC_Registration_EngKan/live_birth_group/child/child_blood_group", + "source": "child.bloodGroup" + }, + { + "name": "immunizationsGiven", + "bind": "/model/instance/PNC_Registration_EngKan/live_birth_group/child/immunizations_atbirth", + "source": "child.immunizationsGiven" + }, + { + "name": "hepB", + "shouldLoadValue": true, + "bind": "/model/instance/PNC_Registration_EngKan/live_birth_group/child/case_hepb", + "source": "child.hepB" + }, + { + "name": "isHepBProphylaxisProvided", + "bind": "/model/instance/PNC_Registration_EngKan/live_birth_group/child/hepb_prophylaxis_provided", + "source": "child.isHepBProphylaxisProvided" + }, + { + "name": "isChildHighRisk1", + "bind": "/model/instance/PNC_Registration_EngKan/live_birth_group/child/is_child_high_risk1", + "source": "child.isChildHighRisk1" + }, + { + "name": "childHighRiskReasons", + "bind": "/model/instance/PNC_Registration_EngKan/live_birth_group/child/child_high_risk_reasons", + "source": "child.childHighRiskReasons" + }, + { + "name": "isChildHighRisk", + "bind": "/model/instance/PNC_Registration_EngKan/live_birth_group/child/is_child_high_risk", + "source": "child.isChildHighRisk" + }, + { + "name": "lbw", + "bind": "/model/instance/PNC_Registration_EngKan/live_birth_group/child/lbw", + "source": "child.lbw" + }, + { + "name": "vlbw", + "bind": "/model/instance/PNC_Registration_EngKan/live_birth_group/child/vlbw", + "source": "child.vlbw" + }, + { + "name": "premature", + "bind": "/model/instance/PNC_Registration_EngKan/live_birth_group/child/premature", + "source": "child.premature" + } + ], + "instances": [ + { + "gender": "male", + "weight": "2", + "bloodGroup": "a_negative", + "immunizationsGiven": "bcg", + "hepB": "", + "isHepBProphylaxisProvided": "", + "lbw": "Low_Birth_Weight", + "vlbw": "", + "premature": "", + "isChildHighRisk1": "yes", + "childHighRiskReasons": " Low_Birth_Weight ", + "isChildHighRisk": "yes", + "id": "e9a91c61-0d33-42d3-bf9b-560b4d08c74f" + }, + { + "gender": "male", + "weight": "", + "bloodGroup": "a_negative", + "immunizationsGiven": "bcg", + "hepB": "", + "isHepBProphylaxisProvided": "", + "lbw": "", + "vlbw": "", + "premature": "", + "isChildHighRisk1": "no", + "childHighRiskReasons": "", + "isChildHighRisk": "yes", + "id": "c7305d21-0b90-4c15-a88f-b08338d3aed9" + }, + { + "gender": "female", + "weight": "", + "bloodGroup": "a_negative", + "immunizationsGiven": "bcg", + "hepB": "", + "isHepBProphylaxisProvided": "", + "lbw": "", + "vlbw": "", + "premature": "", + "isChildHighRisk1": "no", + "childHighRiskReasons": "", + "isChildHighRisk": "no", + "id": "6c2d772b-7d6a-4a05-a83d-5168c183ef42" + } + ] + } + ] + } + } +} \ No newline at end of file diff --git a/opensrp-connector/bin/src/test/resources/form/repeatform/model.xml b/opensrp-connector/bin/src/test/resources/form/repeatform/model.xml new file mode 100644 index 0000000000..21130a05e8 --- /dev/null +++ b/opensrp-connector/bin/src/test/resources/form/repeatform/model.xml @@ -0,0 +1,91 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/opensrp-connector/bin/src/test/resources/form/vaccine_stock_position/form.json b/opensrp-connector/bin/src/test/resources/form/vaccine_stock_position/form.json new file mode 100644 index 0000000000..3405ad7da9 --- /dev/null +++ b/opensrp-connector/bin/src/test/resources/form/vaccine_stock_position/form.json @@ -0,0 +1 @@ +{"name":"Vaccine_Stock_Position","title":"ویکسین اسٹاک پوزیشن - Vaccine Stock Position","sms_keyword":"vaccine_stock_position","default_language":"English","instance":{"encounter_type":"Vaccine stock position"},"version":"201604080502","id_string":"vaccine_stock_position","type":"survey","children":[{"type":"hidden","name":"provider_uc"},{"type":"hidden","name":"provider_town"},{"type":"hidden","name":"provider_city"},{"type":"hidden","name":"provider_province"},{"type":"hidden","name":"provider_id"},{"instance":{"openmrs_entity_id":"location_id","openmrs_entity":"encounter"},"type":"hidden","name":"provider_location_id"},{"type":"hidden","name":"provider_location_name"},{"type":"note","name":"provider_location_note","label":{"Urdu":"شہر: ${provider_city} ; Town: ${provider_town} ; UC: ${provider_uc} ; Center Name: ${provider_location_name}","English":"City: ${provider_city} ; Town: ${provider_town} ; UC: ${provider_uc} ; Center Name: ${provider_location_name}","Roman Urdu":"Shehr: ${provider_city} ; Town: ${provider_town} ; UC: ${provider_uc} ; Center Name: ${provider_location_name}"}},{"instance":{"openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"start","name":"start"},{"instance":{"openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"end","name":"end"},{"instance":{"openmrs_entity_id":"163286AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"today","name":"today"},{"instance":{"openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"deviceid","name":"deviceid"},{"instance":{"openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"subscriberid","name":"subscriberid"},{"instance":{"openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"simserial","name":"simserial"},{"instance":{"openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"phonenumber","name":"phonenumber"},{"bind":{"calculate":"format-date(${today}, '%e-%n-%Y')"},"type":"calculate","name":"date_formatted"},{"type":"note","name":"vaccinator_name","label":{"Urdu":"${provider_id}","English":"${provider_id}","Roman Urdu":"${provider_id}"}},{"type":"note","name":"center_name","label":{"Urdu":"سینٹر کا نام: {provider_location_name}$","English":"Center Name: ${provider_location_name}","Roman Urdu":"Center ka naam: ${provider_location_name}"}},{"instance":{"openmrs_entity_id":"encounter_date","openmrs_entity":"encounter"},"type":"date","name":"date","label":{"Urdu":"تاریخ","English":"Date","Roman Urdu":"Tareekh"}},{"name":"report","bind":{"required":"yes"},"label":{"Urdu":"رپورٹ کی قسم","English":"Report Type","Roman Urdu":"Report ki kism"},"instance":{"openmrs_entity_id":"163331AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"select one","children":[{"instance":{"openmrs_code":"160862AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"daily","label":{"Urdu":"روزانہ کی رپورٹ","Roman Urdu":"Rozaana ki report","English":"Daily"}},{"instance":{"openmrs_code":"1098AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"monthly","label":{"Urdu":"ماہانہ رپورٹ","Roman Urdu":"Mahaana report","English":"Monthly"}}]},{"bind":{"relevant":"selected(${report}, 'monthly')","required":"yes"},"type":"integer","instance":{"openmrs_entity_id":"163174AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"name":"Target_assigned_for_vaccination_at_each_month","label":{"Urdu":"ویکسین لگانے کا ماہانہ ہدف","English":"Monthly Target","Roman Urdu":"Vaccine laganay ka mahaana hadf"}},{"bind":{"relevant":"selected(${report}, 'monthly')","required":"yes"},"type":"integer","instance":{"openmrs_entity_id":"163175AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"name":"Target_assigned_for_vaccination_for_the_year","label":{"Urdu":"ویکسین لگانے کا سالانہ ہدف","English":"Yearly Target","Roman Urdu":"Vaccine laganay ka salaana hadf"}},{"name":"bcg_balance_in_hand","hint":{"Urdu":"شیشیوں کی تعداد","Roman Urdu":"Sheeshion ki taadaad","English":"Number of vials"},"bind":{"relevant":"selected(${report}, 'monthly')","required":"yes"},"label":{"Urdu":"موجودہ بی سی جی کی تعداد","Roman Urdu":"Maujooda BCG ki taadaad","English":"BCG balance in hand"},"instance":{"openmrs_entity":"concept","openmrs_entity_id":"163173AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"886AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"type":"integer"},{"name":"bcg_received","hint":{"Urdu":"شیشیوں کی تعداد","Roman Urdu":"Sheeshion ki taadaad","English":"Number of vials"},"bind":{"relevant":"selected(${report}, 'monthly')","required":"yes"},"label":{"Urdu":"موصول ہونے والی بی سی جی کی تعداد","Roman Urdu":"Mausool honay wali BCG ki taadaad","English":"BCG received"},"instance":{"openmrs_entity":"concept","openmrs_entity_id":"163170AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"886AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"type":"integer"},{"name":"bcg_wasted","hint":{"Urdu":"شیشیوں کی تعداد","Roman Urdu":"Sheeshion ki taadaad","English":"Number of vials"},"bind":{"relevant":"selected(${report}, 'daily')","required":"yes"},"label":{"Urdu":"ضائع ہونے والی بی سی جی کی تعداد","Roman Urdu":"Zaya honay wali BCG ki taadaad","English":"BCG wasted"},"instance":{"openmrs_entity":"concept","openmrs_entity_id":"163172AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"886AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"type":"integer"},{"name":"opv_balance_in_hand","hint":{"Urdu":"شیشیوں کی تعداد","Roman Urdu":"Sheeshion ki taadaad","English":"Number of vials"},"bind":{"relevant":"selected(${report}, 'monthly')","required":"yes"},"label":{"Urdu":"موجودہ او پی وی کی تعداد","Roman Urdu":"Maujooda OPV ki taadaad","English":"OPV balance in hand"},"instance":{"openmrs_entity":"concept","openmrs_entity_id":"163173AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"type":"integer"},{"name":"opv_received","hint":{"Urdu":"شیشیوں کی تعداد","Roman Urdu":"Sheeshion ki taadaad","English":"Number of vials"},"bind":{"relevant":"selected(${report}, 'monthly')","required":"yes"},"label":{"Urdu":"موصول ہونے والی او پی وی کی تعداد","Roman Urdu":"Mausool honay wali OPV ki taadaad","English":"OPV received"},"instance":{"openmrs_entity":"concept","openmrs_entity_id":"163170AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"type":"integer"},{"name":"opv_wasted","hint":{"Urdu":"شیشیوں کی تعداد","Roman Urdu":"Sheeshion ki taadaad","English":"Number of vials"},"bind":{"relevant":"selected(${report}, 'daily')","required":"yes"},"label":{"Urdu":"ضائع ہونے والی او پی وی کی تعداد","Roman Urdu":"Zaya honay wali OPV ki taadaad","English":"OPV wasted"},"instance":{"openmrs_entity":"concept","openmrs_entity_id":"163172AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"type":"integer"},{"name":"ipv_balance_in_hand","hint":{"Urdu":"شیشیوں کی تعداد","Roman Urdu":"Sheeshion ki taadaad","English":"Number of vials"},"bind":{"relevant":"selected(${report}, 'monthly')","required":"yes"},"label":{"Urdu":"موجودہ آئی پی وی کی تعداد","Roman Urdu":"Maujooda IPV ki taadaad","English":"IPV balance in hand"},"instance":{"openmrs_entity":"concept","openmrs_entity_id":"163173AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"1422AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"type":"integer"},{"name":"ipv_received","hint":{"Urdu":"شیشیوں کی تعداد","Roman Urdu":"Sheeshion ki taadaad","English":"Number of vials"},"bind":{"relevant":"selected(${report}, 'monthly')","required":"yes"},"label":{"Urdu":"موصول ہونے والی آئی پی وی کی تعداد","Roman Urdu":"Mausool honay wali IPV ki taadaad","English":"IPV received"},"instance":{"openmrs_entity":"concept","openmrs_entity_id":"163170AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"1422AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"type":"integer"},{"name":"ipv_wasted","hint":{"Urdu":"شیشیوں کی تعداد","Roman Urdu":"Sheeshion ki taadaad","English":"Number of vials"},"bind":{"relevant":"selected(${report}, 'daily')","required":"yes"},"label":{"Urdu":"ضائع ہونے والی آئی پی وی کی تعداد","Roman Urdu":"Zaya honay wali IPV ki taadaad","English":"IPV wasted"},"instance":{"openmrs_entity":"concept","openmrs_entity_id":"163172AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"1422AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"type":"integer"},{"name":"pcv_balance_in_hand","hint":{"Urdu":"شیشیوں کی تعداد","Roman Urdu":"Sheeshion ki taadaad","English":"Number of vials"},"bind":{"relevant":"selected(${report}, 'monthly')","required":"yes"},"label":{"Urdu":"موجودہ پی سی وی کی تعداد","Roman Urdu":"Maujooda PCV ki taadaad","English":"PCV balance in hand"},"instance":{"openmrs_entity":"concept","openmrs_entity_id":"163173AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"type":"integer"},{"name":"pcv_received","hint":{"Urdu":"شیشیوں کی تعداد","Roman Urdu":"Sheeshion ki taadaad","English":"Number of vials"},"bind":{"relevant":"selected(${report}, 'monthly')","required":"yes"},"label":{"Urdu":"موصول ہونے والی پی سی وی کی تعداد","Roman Urdu":"Mausool honay wali PCV ki taadaad","English":"PCV received"},"instance":{"openmrs_entity":"concept","openmrs_entity_id":"163170AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"type":"integer"},{"name":"pcv_wasted","hint":{"Urdu":"شیشیوں کی تعداد","Roman Urdu":"Sheeshion ki taadaad","English":"Number of vials"},"bind":{"relevant":"selected(${report}, 'daily')","required":"yes"},"label":{"Urdu":"ضائع ہونے والی پی سی وی کی تعداد","Roman Urdu":"Zaya honay wali PCV ki taadaad","English":"PCV wasted"},"instance":{"openmrs_entity":"concept","openmrs_entity_id":"163172AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"type":"integer"},{"name":"penta_balance_in_hand","hint":{"Urdu":"شیشیوں کی تعداد","Roman Urdu":"Sheeshion ki taadaad","English":"Number of vials"},"bind":{"relevant":"selected(${report}, 'monthly')","required":"yes"},"label":{"Urdu":"موجودہ پینٹاویلنٹ کی تعداد","Roman Urdu":"Maujooda Pentavalent ki taadaad","English":"Penta balance in hand"},"instance":{"openmrs_entity":"concept","openmrs_entity_id":"163173AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"type":"integer"},{"name":"penta_received","hint":{"Urdu":"شیشیوں کی تعداد","Roman Urdu":"Sheeshion ki taadaad","English":"Number of vials"},"bind":{"relevant":"selected(${report}, 'monthly')","required":"yes"},"label":{"Urdu":"موصول ہونے والی پینٹاویلنٹ کی تعداد","Roman Urdu":"Mausool honay wali Pentavalent ki taadaad","English":"Penta received"},"instance":{"openmrs_entity":"concept","openmrs_entity_id":"163170AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"type":"integer"},{"name":"penta_wasted","hint":{"Urdu":"شیشیوں کی تعداد","Roman Urdu":"Sheeshion ki taadaad","English":"Number of vials"},"bind":{"relevant":"selected(${report}, 'daily')","required":"yes"},"label":{"Urdu":"ضائع ہونے والی پینٹاویلنٹ کی تعداد","Roman Urdu":"Zaya honay wali Pentavalent ki taadaad","English":"Penta wasted"},"instance":{"openmrs_entity":"concept","openmrs_entity_id":"163172AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"type":"integer"},{"name":"measles_balance_in_hand","hint":{"Urdu":"شیشیوں کی تعداد","Roman Urdu":"Sheeshion ki taadaad","English":"Number of vials"},"bind":{"relevant":"selected(${report}, 'monthly')","required":"yes"},"label":{"Urdu":"موجودہ خسرے کے ٹیکوں کی تعداد","Roman Urdu":"Maujooda khasray ke teekon ki taadaad","English":"Measles balance in hand"},"instance":{"openmrs_entity":"concept","openmrs_entity_id":"163173AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"79409AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"type":"integer"},{"name":"measles_received","hint":{"Urdu":"شیشیوں کی تعداد","Roman Urdu":"Sheeshion ki taadaad","English":"Number of vials"},"bind":{"relevant":"selected(${report}, 'monthly')","required":"yes"},"label":{"Urdu":"موصول ہونے والے خسرے کے ٹیکوں کی تعداد","Roman Urdu":"Mausool honay walay khasray ke teekay ki taadaad","English":"Measles received"},"instance":{"openmrs_entity":"concept","openmrs_entity_id":"163170AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"79409AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"type":"integer"},{"name":"measles_wasted","hint":{"Urdu":"شیشیوں کی تعداد","Roman Urdu":"Sheeshion ki taadaad","English":"Number of vials"},"bind":{"relevant":"selected(${report}, 'daily')","required":"yes"},"label":{"Urdu":"ضائع ہونے والے خسرے کے ٹیکوں کی تعداد","Roman Urdu":"Zaya honay walay khasray ke teekay ki taadaad","English":"Measles wasted"},"instance":{"openmrs_entity":"concept","openmrs_entity_id":"163172AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"79409AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"type":"integer"},{"name":"tt_balance_in_hand","hint":{"Urdu":"شیشیوں کی تعداد","Roman Urdu":"Sheeshion ki taadaad","English":"Number of vials"},"bind":{"relevant":"selected(${report}, 'monthly')","required":"yes"},"label":{"Urdu":"موجودہ ٹی ٹی کی تعداد","Roman Urdu":"Maujooda TT ki taadaad","English":"TT balance in hand"},"instance":{"openmrs_entity":"concept","openmrs_entity_id":"163173AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"type":"integer"},{"name":"tt_received","hint":{"Urdu":"شیشیوں کی تعداد","Roman Urdu":"Sheeshion ki taadaad","English":"Number of vials"},"bind":{"relevant":"selected(${report}, 'monthly')","required":"yes"},"label":{"Urdu":"موصول ہونے والی ٹی ٹی کی تعداد","Roman Urdu":"Mausool honay wali TT ki taadaad","English":"TT received"},"instance":{"openmrs_entity":"concept","openmrs_entity_id":"163170AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"type":"integer"},{"name":"tt_wasted","hint":{"Urdu":"شیشیوں کی تعداد","Roman Urdu":"Sheeshion ki taadaad","English":"Number of vials"},"bind":{"relevant":"selected(${report}, 'daily')","required":"yes"},"label":{"Urdu":"ضائع ہونے والی ٹی ٹی کی تعداد","Roman Urdu":"Zaya honay wali TT ki taadaad","English":"TT wasted"},"instance":{"openmrs_entity":"concept","openmrs_entity_id":"163172AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"type":"integer"},{"name":"dilutants_balance_in_hand","hint":{"Urdu":"شیشیوں کی تعداد","Roman Urdu":"Sheeshion ki taadaad","English":"Number of vials"},"bind":{"relevant":"selected(${report}, 'monthly')","required":"yes"},"label":{"Urdu":"انجیکشن کے لئے موجودہ جراثیم سے پاک پانی کی شیشیوں کی تعداد","Roman Urdu":"Injection ke liye maujooda jaraseem se paak paani ki sheeshion ki taadaad","English":"Dilutants balance in hand"},"instance":{"openmrs_entity":"concept","openmrs_entity_id":"163173AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"163287AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"type":"integer"},{"name":"dilutants_received","hint":{"Urdu":"شیشیوں کی تعداد","Roman Urdu":"Sheeshion ki taadaad","English":"Number of vials"},"bind":{"relevant":"selected(${report}, 'monthly')","required":"yes"},"label":{"Urdu":"انجیکشن کے لئے موصول ہونے والا جراثیم سے پاک پانی کی شیشیوں کی تعداد","Roman Urdu":"Injection ke liye mausool honay wala jaraseem se paak paani ki sheeshion ki taadaad","English":"Dilutants received"},"instance":{"openmrs_entity":"concept","openmrs_entity_id":"163170AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"163287AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"type":"integer"},{"name":"dilutants_wasted","hint":{"Urdu":"شیشیوں کی تعداد","Roman Urdu":"Sheeshion ki taadaad","English":"Number of vials"},"bind":{"relevant":"selected(${report}, 'daily')","required":"yes"},"label":{"Urdu":"انجیکشن کے لئے ضائع ہونے والا جراثیم سے پاک پانی کی شیشیوں کی تعداد","Roman Urdu":"Injection ke liye zaya honay wala jaraseem se paak paani ki sheeshion ki taadaad","English":"Dilutants wasted"},"instance":{"openmrs_entity":"concept","openmrs_entity_id":"163172AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"163287AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"type":"integer"},{"name":"syringes_balance_in_hand","hint":{"Urdu":"سرنج کی تعداد","Roman Urdu":"Syringe ki taadaad","English":"Number of syringes"},"bind":{"relevant":"selected(${report}, 'monthly')","required":"yes"},"label":{"Urdu":"موجودہ سرنج کی تعداد","Roman Urdu":"Maujooda siranj ki taadaad","English":"Syringes balance in hand"},"instance":{"openmrs_entity":"concept","openmrs_entity_id":"163173AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162377AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"type":"integer"},{"name":"syringes_received","hint":{"Urdu":"سرنج کی تعداد","Roman Urdu":"Syringe ki taadaad","English":"Number of syringes"},"bind":{"relevant":"selected(${report}, 'monthly')","required":"yes"},"label":{"Urdu":"موصول ہونے والی سرنج کی تعداد","Roman Urdu":"Mausool honay wali siranj ki taadaad","English":"Syringes received"},"instance":{"openmrs_entity":"concept","openmrs_entity_id":"163170AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162377AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"type":"integer"},{"name":"syringes_wasted","hint":{"Urdu":"سرنج کی تعداد","Roman Urdu":"Syringe ki taadaad","English":"Number of syringes"},"bind":{"relevant":"selected(${report}, 'daily')","required":"yes"},"label":{"Urdu":"ضائع ہونے والی سرنج کی تعداد","Roman Urdu":"Zaya honay wali siranj taadaad","English":"Syringes wasted"},"instance":{"openmrs_entity":"concept","openmrs_entity_id":"163172AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162377AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"type":"integer"},{"name":"safety_boxes_balance_in_hand","hint":{"Urdu":"کنٹینر کی تعداد","Roman Urdu":"Container ki taadaad","English":"Number of containers"},"bind":{"relevant":"selected(${report}, 'monthly')","required":"yes"},"label":{"Urdu":"موجودہ کنٹینر کی تعداد [جو تیز اوزار کو ضائع کرنے کے لیے استعمال ہوتے ہیں]","Roman Urdu":"Maujooda container ki taadaad [jo taiz auzaar ko zaya karne ke liye istamaal hotay hain]","English":"Sharp disposal container balance in hand"},"instance":{"openmrs_entity":"concept","openmrs_entity_id":"163173AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"163285AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"type":"integer"},{"name":"safety_boxes_received","hint":{"Urdu":"کنٹینر کی تعداد","Roman Urdu":"Container ki taadaad","English":"Number of containers"},"bind":{"relevant":"selected(${report}, 'monthly')","required":"yes"},"label":{"Urdu":"موصول ہونے والے کنٹینر کی تعداد [جو تیز اوزار کو ضائع کرنے کے لیے استعمال ہوتے ہیں]","Roman Urdu":"Mausool honay walay container ki taadaad [jo taiz auzaar ko zaya karne ke liye istamaal hotay hain]","English":"Sharp disposal container received"},"instance":{"openmrs_entity":"concept","openmrs_entity_id":"163170AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"163285AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"type":"integer"},{"name":"safety_boxes_wasted","hint":{"Urdu":"کنٹینر کی تعداد","Roman Urdu":"Container ki taadaad","English":"Number of containers"},"bind":{"relevant":"selected(${report}, 'daily')","required":"yes"},"label":{"Urdu":"ضائع ہونے والے کنٹینر کی تعداد [جو تیز اوزار کو ضائع کرنے کے لیے استعمال ہوتے ہیں]","Roman Urdu":"Zaya honay walay container ki taadaad [jo taiz auzaar ko zaya karne ke liye istamaal hotay hain]","English":"Sharp disposal container wasted"},"instance":{"openmrs_entity":"concept","openmrs_entity_id":"163172AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"163285AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"type":"integer"},{"bind":{"jr:constraintMsg":{"Urdu":"یہ تعداد موصول ہونے والی کل تعداد سے کم یا برابر ہونی چاہئیے","Roman Urdu":"Ye taadaad mausool honay wali kul taadaad se kam ya baraber honi chahiye","English":"This quantity should be less than or equal to the total quantity received"},"calculate":"${bcg_wasted}+${opv_wasted}+${ipv_wasted}+${pcv_wasted}+${penta_wasted}+${measles_wasted}+${tt_wasted}+${dilutants_wasted}+${syringes_wasted}+${safety_boxes_wasted}","constraint":".<=${total_received}"},"type":"calculate","name":"total_wasted","label":{"Urdu":"ضائع ہونے والی اشیاء کی مکمل تعداد","Roman Urdu":"Zaya honay wali ashia ki mukammal taadaad","English":"Total wasted"}},{"bind":{"calculate":"${bcg_received}+${opv_received}+${ipv_received}+${pcv_received}+${penta_received}+${measles_received}+${tt_received}+${dilutants_received}+${syringes_received}+${safety_boxes_received}"},"type":"calculate","name":"total_received","label":{"Urdu":"موصول ہونے والی اشیاء کی مکمل تعداد","Roman Urdu":"Mausool honay wali ashia ki mukammal taadaad","English":"Total received"}},{"bind":{"calculate":"${bcg_balance_in_hand}+${opv_balance_in_hand}+${ipv_balance_in_hand}+${pcv_balance_in_hand}+${penta_balance_in_hand}+${measles_balance_in_hand}+${tt_balance_in_hand}+${dilutants_balance_in_hand}+${syringes_balance_in_hand}+${safety_boxes_balance_in_hand}"},"type":"calculate","name":"total_balanceInHand","label":{"Urdu":"موجودہ اشیاء کی مکمل تعداد","Roman Urdu":"Maujooda ashia ki mukammal taadaad","English":"Total balance in hand"}},{"control":{"bodyless":true},"type":"group","children":[{"bind":{"readonly":"true()","calculate":"concat('uuid:', uuid())"},"type":"calculate","name":"instanceID"}],"name":"meta"}]} \ No newline at end of file diff --git a/opensrp-connector/bin/src/test/resources/form/vaccine_stock_position/form.xml b/opensrp-connector/bin/src/test/resources/form/vaccine_stock_position/form.xml new file mode 100644 index 0000000000..713d5efd97 --- /dev/null +++ b/opensrp-connector/bin/src/test/resources/form/vaccine_stock_position/form.xml @@ -0,0 +1,381 @@ +
+ + +

ویکسین اسٹاک پوزیشن - Vaccine Stock Position

+
+
+ + رپورٹ کی قسم + Report Type + Report ki kism + * +
+ + +
+
+
+ + diff --git a/opensrp-connector/bin/src/test/resources/form/vaccine_stock_position/form_definition.json b/opensrp-connector/bin/src/test/resources/form/vaccine_stock_position/form_definition.json new file mode 100644 index 0000000000..f6b50a149e --- /dev/null +++ b/opensrp-connector/bin/src/test/resources/form/vaccine_stock_position/form_definition.json @@ -0,0 +1,186 @@ +{ + "form_data_definition_version" : "1", + "form" : { + "bind_type" : "stock", + "default_bind_path" : "/model/instance/Vaccine_Stock_Position/", + "fields" : [ { + "name" : "id", + "shouldLoadValue" : true + }, { + "name" : "provider_uc", + "bind" : "/model/instance/Vaccine_Stock_Position/provider_uc", + "shouldLoadValue" : true + }, { + "name" : "provider_town", + "bind" : "/model/instance/Vaccine_Stock_Position/provider_town", + "shouldLoadValue" : true + }, { + "name" : "provider_city", + "bind" : "/model/instance/Vaccine_Stock_Position/provider_city", + "shouldLoadValue" : true + }, { + "name" : "provider_province", + "bind" : "/model/instance/Vaccine_Stock_Position/provider_province", + "shouldLoadValue" : true + }, { + "name" : "provider_id", + "bind" : "/model/instance/Vaccine_Stock_Position/provider_id", + "shouldLoadValue" : true + }, { + "name" : "provider_location_id", + "bind" : "/model/instance/Vaccine_Stock_Position/provider_location_id", + "shouldLoadValue" : true + }, { + "name" : "provider_location_name", + "bind" : "/model/instance/Vaccine_Stock_Position/provider_location_name", + "shouldLoadValue" : true + }, { + "name" : "provider_location_note", + "bind" : "/model/instance/Vaccine_Stock_Position/provider_location_note" + }, { + "name" : "start", + "bind" : "/model/instance/Vaccine_Stock_Position/start" + }, { + "name" : "end", + "bind" : "/model/instance/Vaccine_Stock_Position/end" + }, { + "name" : "today", + "bind" : "/model/instance/Vaccine_Stock_Position/today" + }, { + "name" : "deviceid", + "bind" : "/model/instance/Vaccine_Stock_Position/deviceid" + }, { + "name" : "subscriberid", + "bind" : "/model/instance/Vaccine_Stock_Position/subscriberid" + }, { + "name" : "simserial", + "bind" : "/model/instance/Vaccine_Stock_Position/simserial" + }, { + "name" : "phonenumber", + "bind" : "/model/instance/Vaccine_Stock_Position/phonenumber" + }, { + "name" : "date_formatted", + "bind" : "/model/instance/Vaccine_Stock_Position/date_formatted" + }, { + "name" : "vaccinator_name", + "bind" : "/model/instance/Vaccine_Stock_Position/vaccinator_name" + }, { + "name" : "center_name", + "bind" : "/model/instance/Vaccine_Stock_Position/center_name" + }, { + "name" : "date", + "bind" : "/model/instance/Vaccine_Stock_Position/date" + }, { + "name" : "report", + "bind" : "/model/instance/Vaccine_Stock_Position/report" + }, { + "name" : "Target_assigned_for_vaccination_at_each_month", + "bind" : "/model/instance/Vaccine_Stock_Position/Target_assigned_for_vaccination_at_each_month" + }, { + "name" : "Target_assigned_for_vaccination_for_the_year", + "bind" : "/model/instance/Vaccine_Stock_Position/Target_assigned_for_vaccination_for_the_year" + }, { + "name" : "bcg_balance_in_hand", + "bind" : "/model/instance/Vaccine_Stock_Position/bcg_balance_in_hand" + }, { + "name" : "bcg_received", + "bind" : "/model/instance/Vaccine_Stock_Position/bcg_received" + }, { + "name" : "bcg_wasted", + "bind" : "/model/instance/Vaccine_Stock_Position/bcg_wasted" + }, { + "name" : "opv_balance_in_hand", + "bind" : "/model/instance/Vaccine_Stock_Position/opv_balance_in_hand" + }, { + "name" : "opv_received", + "bind" : "/model/instance/Vaccine_Stock_Position/opv_received" + }, { + "name" : "opv_wasted", + "bind" : "/model/instance/Vaccine_Stock_Position/opv_wasted" + }, { + "name" : "ipv_balance_in_hand", + "bind" : "/model/instance/Vaccine_Stock_Position/ipv_balance_in_hand" + }, { + "name" : "ipv_received", + "bind" : "/model/instance/Vaccine_Stock_Position/ipv_received" + }, { + "name" : "ipv_wasted", + "bind" : "/model/instance/Vaccine_Stock_Position/ipv_wasted" + }, { + "name" : "pcv_balance_in_hand", + "bind" : "/model/instance/Vaccine_Stock_Position/pcv_balance_in_hand" + }, { + "name" : "pcv_received", + "bind" : "/model/instance/Vaccine_Stock_Position/pcv_received" + }, { + "name" : "pcv_wasted", + "bind" : "/model/instance/Vaccine_Stock_Position/pcv_wasted" + }, { + "name" : "penta_balance_in_hand", + "bind" : "/model/instance/Vaccine_Stock_Position/penta_balance_in_hand" + }, { + "name" : "penta_received", + "bind" : "/model/instance/Vaccine_Stock_Position/penta_received" + }, { + "name" : "penta_wasted", + "bind" : "/model/instance/Vaccine_Stock_Position/penta_wasted" + }, { + "name" : "measles_balance_in_hand", + "bind" : "/model/instance/Vaccine_Stock_Position/measles_balance_in_hand" + }, { + "name" : "measles_received", + "bind" : "/model/instance/Vaccine_Stock_Position/measles_received" + }, { + "name" : "measles_wasted", + "bind" : "/model/instance/Vaccine_Stock_Position/measles_wasted" + }, { + "name" : "tt_balance_in_hand", + "bind" : "/model/instance/Vaccine_Stock_Position/tt_balance_in_hand" + }, { + "name" : "tt_received", + "bind" : "/model/instance/Vaccine_Stock_Position/tt_received" + }, { + "name" : "tt_wasted", + "bind" : "/model/instance/Vaccine_Stock_Position/tt_wasted" + }, { + "name" : "dilutants_balance_in_hand", + "bind" : "/model/instance/Vaccine_Stock_Position/dilutants_balance_in_hand" + }, { + "name" : "dilutants_received", + "bind" : "/model/instance/Vaccine_Stock_Position/dilutants_received" + }, { + "name" : "dilutants_wasted", + "bind" : "/model/instance/Vaccine_Stock_Position/dilutants_wasted" + }, { + "name" : "syringes_balance_in_hand", + "bind" : "/model/instance/Vaccine_Stock_Position/syringes_balance_in_hand" + }, { + "name" : "syringes_received", + "bind" : "/model/instance/Vaccine_Stock_Position/syringes_received" + }, { + "name" : "syringes_wasted", + "bind" : "/model/instance/Vaccine_Stock_Position/syringes_wasted" + }, { + "name" : "safety_boxes_balance_in_hand", + "bind" : "/model/instance/Vaccine_Stock_Position/safety_boxes_balance_in_hand" + }, { + "name" : "safety_boxes_received", + "bind" : "/model/instance/Vaccine_Stock_Position/safety_boxes_received" + }, { + "name" : "safety_boxes_wasted", + "bind" : "/model/instance/Vaccine_Stock_Position/safety_boxes_wasted" + }, { + "name" : "total_wasted", + "bind" : "/model/instance/Vaccine_Stock_Position/total_wasted" + }, { + "name" : "total_received", + "bind" : "/model/instance/Vaccine_Stock_Position/total_received" + }, { + "name" : "total_balanceInHand", + "bind" : "/model/instance/Vaccine_Stock_Position/total_balanceInHand" + }, { + "name" : "instanceID", + "bind" : "/model/instance/Vaccine_Stock_Position/meta/instanceID" + } ] + } +} \ No newline at end of file diff --git a/opensrp-connector/bin/src/test/resources/form/vaccine_stock_position/model.xml b/opensrp-connector/bin/src/test/resources/form/vaccine_stock_position/model.xml new file mode 100644 index 0000000000..faec7c2e5c --- /dev/null +++ b/opensrp-connector/bin/src/test/resources/form/vaccine_stock_position/model.xml @@ -0,0 +1,68 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/opensrp-connector/bin/src/test/resources/form/woman_enrollment/form.json b/opensrp-connector/bin/src/test/resources/form/woman_enrollment/form.json new file mode 100644 index 0000000000..fe3f23a6a2 --- /dev/null +++ b/opensrp-connector/bin/src/test/resources/form/woman_enrollment/form.json @@ -0,0 +1 @@ +{"name":"Woman_TT_Enrollment_Form","title":"خواتین انرولمنٹ فارم برائے ٹی ٹی ٹیکاجات - Woman TT Enrollment Form","sms_keyword":"woman_tt_enrollement_form","default_language":"English","choices":{"provinces":[{"name":"kpk","label":{"Urdu":"خیبر پختون خواہ","English":"Khyber Pakhtunkhwa","Roman Urdu":"Khyber Pakhtunkhwa"}},{"name":"sindh","label":{"Urdu":"سندھ","English":"Sindh","Roman Urdu":"Sindh"}},{"name":"balochistan","label":{"Urdu":"بلوچستان","English":"Balochistan","Roman Urdu":"Balochistan"}},{"name":"punjab","label":{"Urdu":"پنجاب","English":"Punjab","Roman Urdu":"Punjab"}},{"name":"gilgit_baltistan","label":{"Urdu":"گلگت بلتستان","English":"Gilgit Baltistan","Roman Urdu":"Gilgit Baltistan"}},{"name":"kashmir","label":{"Urdu":"کشمیر","English":"Kashmir","Roman Urdu":"Kashmir"}},{"name":"fata","label":{"Urdu":"فاٹا","English":"FATA","Roman Urdu":"FATA"}},{"name":"out_of_country","label":{"Urdu":"ملک سے باہر","English":"Out of Country","Roman Urdu":"Mulk se baahir"}}],"ucs":[{"province":"sindh","city":"karachi","town":"korangi","name":"bilal_colony","label":{"Urdu":"بلال کالونی","Roman Urdu":"Bilal Colony","English":"Bilal Colony"}},{"province":"sindh","city":"karachi","town":"korangi","name":"nasir_colony","label":{"Urdu":"ناصر کالونی","Roman Urdu":"Nasir Colony","English":"Nasir Colony"}},{"province":"sindh","city":"karachi","town":"korangi","name":"chakra_goth","label":{"Urdu":"چکرا گوٹھ","Roman Urdu":"Chakra Goth","English":"Chakra Goth"}},{"province":"sindh","city":"karachi","town":"korangi","name":"mustafa_taj_colony","label":{"Urdu":"مصطفی تاج کالونی","Roman Urdu":"Mustafa Taj Colony","English":"Mustafa Taj Colony"}},{"province":"sindh","city":"karachi","town":"korangi","name":"hundred_quarters","label":{"Urdu":"ہنڈریڈ کوارٹر","Roman Urdu":"Hundred Quarters","English":"Hundred Quarters"}},{"province":"sindh","city":"karachi","town":"korangi","name":"gulzar_colony","label":{"Urdu":"گلزار کالونی","Roman Urdu":"Gulzar Colony","English":"Gulzar Colony"}},{"province":"sindh","city":"karachi","town":"korangi","name":"korangi_sector_33","label":{"Urdu":"کورنگی سیکٹر 33","Roman Urdu":"Korangi Sector 33","English":"Korangi Sector 33"}},{"province":"sindh","city":"karachi","town":"korangi","name":"zaman_town","label":{"Urdu":"زمان ٹاوَن","Roman Urdu":"Zaman Town","English":"Zaman Town"}},{"province":"sindh","city":"karachi","town":"korangi","name":"hasrat_mohani_colony","label":{"Urdu":"حسرت موہانی کالونی","Roman Urdu":"Hasrat Mohani Colony","English":"Hasrat Mohani Colony"}},{"province":"sindh","city":"karachi","town":"baldia","name":"gulshan_e_ghazi","label":{"Urdu":"گلشن غازی","Roman Urdu":"Gulshan-e-Ghazi","English":"Gulshan-e-Ghazi"}},{"province":"sindh","city":"karachi","town":"baldia","name":"ittehad_town","label":{"Urdu":"اتحاد ٹاوَن","Roman Urdu":"Ittehad Town","English":"Ittehad Town"}},{"province":"sindh","city":"karachi","town":"baldia","name":"islam_nagar","label":{"Urdu":"اسلام نگر","Roman Urdu":"Islam Nagar","English":"Islam Nagar"}},{"province":"sindh","city":"karachi","town":"baldia","name":"nai_abadi","label":{"Urdu":"نئی آبادی","Roman Urdu":"Nai Abadi","English":"Nai Abadi"}},{"province":"sindh","city":"karachi","town":"baldia","name":"saeedabad","label":{"Urdu":"سعید آباد","Roman Urdu":"Saeedabad","English":"Saeedabad"}},{"province":"sindh","city":"karachi","town":"baldia","name":"muslim_mujahid_colony","label":{"Urdu":"مسلم مجاہد کالونی","Roman Urdu":"Muslim Mujahid Colony","English":"Muslim Mujahid Colony"}},{"province":"sindh","city":"karachi","town":"baldia","name":"muhajir_camp","label":{"Urdu":"مہاجر کیمپ","Roman Urdu":"Muhajir Camp","English":"Muhajir Camp"}},{"province":"sindh","city":"karachi","town":"baldia","name":"rasheedabad","label":{"Urdu":"رشید آباد","Roman Urdu":"Rasheedabad","English":"Rasheedabad"}},{"province":"sindh","city":"karachi","town":"bin_qasim","name":"ibrahim_hyderi","label":{"Urdu":"ابراہیم حیدری","Roman Urdu":"Ibrahim Hyderi","English":"Ibrahim Hyderi"}},{"province":"sindh","city":"karachi","town":"bin_qasim","name":"rehri","label":{"Urdu":"رہڑی","Roman Urdu":"Rehri","English":"Rehri"}},{"province":"sindh","city":"karachi","town":"bin_qasim","name":"cattle_colony","label":{"Urdu":"کیٹل کالونی","Roman Urdu":"Cattle Colony","English":"Cattle Colony"}},{"province":"sindh","city":"karachi","town":"bin_qasim","name":"qaidabad","label":{"Urdu":"قائدآباد","Roman Urdu":"Qaidabad","English":"Qaidabad"}},{"province":"sindh","city":"karachi","town":"bin_qasim","name":"landhi_colony","label":{"Urdu":"لانڈھی کالونی","Roman Urdu":"Landhi Colony","English":"Landhi Colony"}},{"province":"sindh","city":"karachi","town":"bin_qasim","name":"gulshan_e_hadeed","label":{"Urdu":"گلشن حدید","Roman Urdu":"Gulshan-e-Hadeed","English":"Gulshan-e-Hadeed"}},{"province":"sindh","city":"karachi","town":"bin_qasim","name":"gaghar","label":{"Urdu":"گگر","Roman Urdu":"Gaghar","English":"Gaghar"}},{"province":"sindh","city":"karachi","town":"gadap","name":"murad_memon_goth","label":{"Urdu":"مراد میمن گوٹھ","Roman Urdu":"Murad Memon Goth","English":"Murad Memon Goth"}},{"province":"sindh","city":"karachi","town":"gadap","name":"darsano_chana","label":{"Urdu":"درشانو شنو","Roman Urdu":"Darsano Chana","English":"Darsano Chana"}},{"province":"sindh","city":"karachi","town":"gadap","name":"gujro","label":{"Urdu":"گجرو","Roman Urdu":"Gujro","English":"Gujro"}},{"province":"sindh","city":"karachi","town":"gadap","name":"songal","label":{"Urdu":"سنگل","Roman Urdu":"Songal","English":"Songal"}},{"province":"sindh","city":"karachi","town":"gadap","name":"maymarabad","label":{"Urdu":"معمار آباد","Roman Urdu":"Maymarabad","English":"Maymarabad"}},{"province":"sindh","city":"karachi","town":"gadap","name":"yousuf_goth","label":{"Urdu":"یوسف گوٹھ","Roman Urdu":"Yousuf Goth","English":"Yousuf Goth"}},{"province":"sindh","city":"karachi","town":"gadap","name":"manghopir","label":{"Urdu":"منگھوپیر","Roman Urdu":"Manghopir","English":"Manghopir"}},{"province":"sindh","city":"karachi","town":"gulberg","name":"azizabad","label":{"Urdu":"عزیز آباد","Roman Urdu":"Azizabad","English":"Azizabad"}},{"province":"sindh","city":"karachi","town":"gulberg","name":"karimabad","label":{"Urdu":"کریم آباد","Roman Urdu":"Karimabad","English":"Karimabad"}},{"province":"sindh","city":"karachi","town":"gulberg","name":"aisha_manzil","label":{"Urdu":"عائشہ منزل","Roman Urdu":"Aisha Manzil","English":"Aisha Manzil"}},{"province":"sindh","city":"karachi","town":"gulberg","name":"ancholi","label":{"Urdu":"انچولی","Roman Urdu":"Ancholi","English":"Ancholi"}},{"province":"sindh","city":"karachi","town":"gulberg","name":"naseerabad","label":{"Urdu":"نصیرآباد","Roman Urdu":"Naseerabad","English":"Naseerabad"}},{"province":"sindh","city":"karachi","town":"gulberg","name":"yaseenabad","label":{"Urdu":"یاسین آباد","Roman Urdu":"Yaseenabad","English":"Yaseenabad"}},{"province":"sindh","city":"karachi","town":"gulberg","name":"water_pump","label":{"Urdu":"واٹرپمپ","Roman Urdu":"Water Pump","English":"Water Pump"}},{"province":"sindh","city":"karachi","town":"gulberg","name":"shafiq_mill_colony","label":{"Urdu":"شفیق مل کالونی","Roman Urdu":"Shafiq Mill Colony","English":"Shafiq Mill Colony"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"delhi_mercantile_society","label":{"Urdu":"دہلی مرچنٹائل سوسائٹی","Roman Urdu":"Delhi Mercantile Society","English":"Delhi Mercantile Society"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"civic_centre","label":{"Urdu":"سوک سینٹر","Roman Urdu":"Civic Centre","English":"Civic Centre"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"pir_ilahi_buksh_colony","label":{"Urdu":"پیر الہی بخش کالونی","Roman Urdu":"Pir Ilahi Buksh Colony","English":"Pir Ilahi Buksh Colony"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"essa_nagri","label":{"Urdu":"عیسی نگری","Roman Urdu":"Essa Nagri","English":"Essa Nagri"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"gulshan_e_iqbal","label":{"Urdu":"گلشن اقبال","Roman Urdu":"Gulshan-e-Iqbal","English":"Gulshan-e-Iqbal"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"gillani_railway_station","label":{"Urdu":"گیلانی ریلوے اسٹیشن","Roman Urdu":"Gillani Railway Station","English":"Gillani Railway Station"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"shanti_nagar","label":{"Urdu":"شانتی نگر","Roman Urdu":"Shanti Nagar","English":"Shanti Nagar"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"jamali_colony","label":{"Urdu":"جمالی کالونی","Roman Urdu":"Jamali Colony","English":"Jamali Colony"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"gulshan_e_iqbal_ii","label":{"Urdu":"گلشن اقبال 2","Roman Urdu":"Gulshan-e-Iqbal II","English":"Gulshan-e-Iqbal II"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"pehlwan_goth","label":{"Urdu":"پہلوان گوٹھ","Roman Urdu":"Pehlwan Goth","English":"Pehlwan Goth"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"matrovil_colony","label":{"Urdu":"میٹروویل کالونی","Roman Urdu":"Matrovil Colony","English":"Matrovil Colony"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"gulzar_e_hijri","label":{"Urdu":"گلزار ہجری","Roman Urdu":"Gulzar-e-Hijri","English":"Gulzar-e-Hijri"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"safooran_goth","label":{"Urdu":"صفورا گوٹھ","Roman Urdu":"Safooran Goth","English":"Safooran Goth"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"akhtar_colony","label":{"Urdu":"اختر کالونی","Roman Urdu":"Akhtar Colony","English":"Akhtar Colony"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"manzoor_colony","label":{"Urdu":"منظور کالونی","Roman Urdu":"Manzoor Colony","English":"Manzoor Colony"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"azam_basti","label":{"Urdu":"اعظم بستی","Roman Urdu":"Azam Basti","English":"Azam Basti"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"chanesar_goth","label":{"Urdu":"چنیسر گوٹھ","Roman Urdu":"Chanesar Goth","English":"Chanesar Goth"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"mahmudabad","label":{"Urdu":"محمودآباد","Roman Urdu":"Mahmudabad","English":"Mahmudabad"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"pechs","label":{"Urdu":"پی۔ای۔سی۔ایچ۔ایس","Roman Urdu":"P.E.C.H.S.","English":"P.E.C.H.S."}},{"province":"sindh","city":"karachi","town":"jamshed","name":"pechs_ii","label":{"Urdu":"پی۔ای۔سی۔ایچ۔ایس 2","Roman Urdu":"P.E.C.H.S. II","English":"P.E.C.H.S. II"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"jut_line","label":{"Urdu":"جٹ لائن","Roman Urdu":"Jut Line","English":"Jut Line"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"central_jacob_lines","label":{"Urdu":"سینٹرل جیکب لائن","Roman Urdu":"Central Jacob Lines","English":"Central Jacob Lines"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"jamshed_quarters","label":{"Urdu":"جمشید کوارٹر","Roman Urdu":"Jamshed Quarters","English":"Jamshed Quarters"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"garden_east","label":{"Urdu":"گارڈن ایسٹ","Roman Urdu":"Garden East","English":"Garden East"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"soldier_bazar","label":{"Urdu":"سولجر بازار","Roman Urdu":"Soldier Bazar","English":"Soldier Bazar"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"pakistan_quarters","label":{"Urdu":"پاکستان کوارٹر","Roman Urdu":"Pakistan Quarters","English":"Pakistan Quarters"}},{"province":"sindh","city":"karachi","town":"kiamari","name":"bhutta_village","label":{"Urdu":"بھٹا ولیج","Roman Urdu":"Bhutta Village","English":"Bhutta Village"}},{"province":"sindh","city":"karachi","town":"kiamari","name":"sultanabad","label":{"Urdu":"سلطان آباد","Roman Urdu":"Sultanabad","English":"Sultanabad"}},{"province":"sindh","city":"karachi","town":"kiamari","name":"kiamari_uc","label":{"Urdu":"کیماری یوسی","Roman Urdu":"Kiamari UC","English":"Kiamari UC"}},{"province":"sindh","city":"karachi","town":"kiamari","name":"baba_bhit","label":{"Urdu":"بابا بھٹ","Roman Urdu":"Baba Bhit","English":"Baba Bhit"}},{"province":"sindh","city":"karachi","town":"kiamari","name":"machar_colony","label":{"Urdu":"مچھر کالونی","Roman Urdu":"Machar Colony","English":"Machar Colony"}},{"province":"sindh","city":"karachi","town":"kiamari","name":"maripur","label":{"Urdu":"ماڑی پور","Roman Urdu":"Maripur","English":"Maripur"}},{"province":"sindh","city":"karachi","town":"kiamari","name":"shershah","label":{"Urdu":"شیرشاہ","Roman Urdu":"SherShah","English":"SherShah"}},{"province":"sindh","city":"karachi","town":"kiamari","name":"gabo_pat","label":{"Urdu":"گابو پٹ","Roman Urdu":"Gabo Pat","English":"Gabo Pat"}},{"province":"sindh","city":"karachi","town":"landhi","name":"muzafarabad","label":{"Urdu":"مظفرآباد","Roman Urdu":"Muzafarabad","English":"Muzafarabad"}},{"province":"sindh","city":"karachi","town":"landhi","name":"muslimabad","label":{"Urdu":"مسلم آباد","Roman Urdu":"Muslimabad","English":"Muslimabad"}},{"province":"sindh","city":"karachi","town":"landhi","name":"dawood_chowrangi","label":{"Urdu":"داوَد چورنگی","Roman Urdu":"Dawood Chowrangi","English":"Dawood Chowrangi"}},{"province":"sindh","city":"karachi","town":"landhi","name":"moinabad","label":{"Urdu":"معین آباد","Roman Urdu":"Moinabad","English":"Moinabad"}},{"province":"sindh","city":"karachi","town":"landhi","name":"sharafi_goth","label":{"Urdu":"شرافی گوٹھ","Roman Urdu":"Sharafi Goth","English":"Sharafi Goth"}},{"province":"sindh","city":"karachi","town":"landhi","name":"bhutto_nagar","label":{"Urdu":"بھٹو نگر","Roman Urdu":"Bhutto Nagar","English":"Bhutto Nagar"}},{"province":"sindh","city":"karachi","town":"landhi","name":"khawaja_ajmeer_colony","label":{"Urdu":"خواجہ اجمیر کالونی","Roman Urdu":"Khawaja Ajmeer Colony","English":"Khawaja Ajmeer Colony"}},{"province":"sindh","city":"karachi","town":"landhi","name":"landhi_uc","label":{"Urdu":"لانڈھی یوسی","Roman Urdu":"Landhi UC","English":"Landhi UC"}},{"province":"sindh","city":"karachi","town":"landhi","name":"awami_colony","label":{"Urdu":"عوامی کالونی","Roman Urdu":"Awami Colony","English":"Awami Colony"}},{"province":"sindh","city":"karachi","town":"landhi","name":"burmee_colony","label":{"Urdu":"برمی کالونی","Roman Urdu":"Burmee Colony","English":"Burmee Colony"}},{"province":"sindh","city":"karachi","town":"landhi","name":"korangi_uc","label":{"Urdu":"کورنگی یوسی","Roman Urdu":"Korangi UC","English":"Korangi UC"}},{"province":"sindh","city":"karachi","town":"landhi","name":"sherabad","label":{"Urdu":"شیرآباد","Roman Urdu":"Sherabad","English":"Sherabad"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"rizvia_society","label":{"Urdu":"رضویہ سوسائٹی","Roman Urdu":"Rizvia Society","English":"Rizvia Society"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"firdous_colony","label":{"Urdu":"فردوس کالونی","Roman Urdu":"Firdous Colony","English":"Firdous Colony"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"super_market","label":{"Urdu":"سپر مارکیٹ","Roman Urdu":"Super Market","English":"Super Market"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"dak_khana","label":{"Urdu":"دک کھانہ","Roman Urdu":"Dak Khana","English":"Dak Khana"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"qasimabad","label":{"Urdu":"قاسم آباد","Roman Urdu":"Qasimabad","English":"Qasimabad"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"bandhani_colony","label":{"Urdu":"بندھانی کالونی","Roman Urdu":"Bandhani Colony","English":"Bandhani Colony"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"sharifabad","label":{"Urdu":"شریف آباد","Roman Urdu":"Sharifabad","English":"Sharifabad"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"commercial_area","label":{"Urdu":"کمرشل ایریا","Roman Urdu":"Commercial Area","English":"Commercial Area"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"mujahid_colony","label":{"Urdu":"مجاہد کالونی","Roman Urdu":"Mujahid Colony","English":"Mujahid Colony"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"nazimabad","label":{"Urdu":"ناظم آباد","Roman Urdu":"Nazimabad","English":"Nazimabad"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"abbasi_shaheed","label":{"Urdu":"عباسی شہید","Roman Urdu":"Abbasi Shaheed","English":"Abbasi Shaheed"}},{"province":"sindh","city":"karachi","town":"lyari","name":"agra_taj_colony","label":{"Urdu":"آگرہ تاج کالونی","Roman Urdu":"Agra Taj Colony","English":"Agra Taj Colony"}},{"province":"sindh","city":"karachi","town":"lyari","name":"daryaabad","label":{"Urdu":"دریاآباد","Roman Urdu":"Daryaabad","English":"Daryaabad"}},{"province":"sindh","city":"karachi","town":"lyari","name":"nawabad","label":{"Urdu":"نواآباد","Roman Urdu":"Nawabad","English":"Nawabad"}},{"province":"sindh","city":"karachi","town":"lyari","name":"khada_memon_society","label":{"Urdu":"خدا- میمن- سوساَٹی","Roman Urdu":"Khada Memon Society","English":"Khada Memon Society"}},{"province":"sindh","city":"karachi","town":"lyari","name":"baghdadi","label":{"Urdu":"بغدادی","Roman Urdu":"Baghdadi","English":"Baghdadi"}},{"province":"sindh","city":"karachi","town":"lyari","name":"shah_baig_line","label":{"Urdu":"شاھ باغ لائن","Roman Urdu":"Shah Baig Line","English":"Shah Baig Line"}},{"province":"sindh","city":"karachi","town":"lyari","name":"bihar_colony","label":{"Urdu":"بہار کالونی","Roman Urdu":"Bihar Colony","English":"Bihar Colony"}},{"province":"sindh","city":"karachi","town":"lyari","name":"ragiwara","label":{"Urdu":"راگی واڑا","Roman Urdu":"Ragiwara","English":"Ragiwara"}},{"province":"sindh","city":"karachi","town":"lyari","name":"singo_line","label":{"Urdu":"سنگولائن","Roman Urdu":"Singo Line","English":"Singo Line"}},{"province":"sindh","city":"karachi","town":"lyari","name":"chakiwara","label":{"Urdu":"چاکی واڑا","Roman Urdu":"Chakiwara","English":"Chakiwara"}},{"province":"sindh","city":"karachi","town":"lyari","name":"allama_iqbal_colony","label":{"Urdu":"علامہ اقبال کالونی","Roman Urdu":"Allama Iqbal Colony","English":"Allama Iqbal Colony"}},{"province":"sindh","city":"karachi","town":"malir","name":"model_colony","label":{"Urdu":"موڈل کالونی","Roman Urdu":"Model Colony","English":"Model Colony"}},{"province":"sindh","city":"karachi","town":"malir","name":"kala_board","label":{"Urdu":"کالا بورڈ","Roman Urdu":"Kala Board","English":"Kala Board"}},{"province":"sindh","city":"karachi","town":"malir","name":"saudabad","label":{"Urdu":"سعودآباد","Roman Urdu":"Saudabad","English":"Saudabad"}},{"province":"sindh","city":"karachi","town":"malir","name":"khokhra_par","label":{"Urdu":"کھوکھرا پار","Roman Urdu":"Khokhra Par","English":"Khokhra Par"}},{"province":"sindh","city":"karachi","town":"malir","name":"jafar_e_tayyar","label":{"Urdu":"جعفر تیار","Roman Urdu":"Jafar-e-Tayyar","English":"Jafar-e-Tayyar"}},{"province":"sindh","city":"karachi","town":"malir","name":"gharibabad","label":{"Urdu":"غریب آباد","Roman Urdu":"Gharibabad","English":"Gharibabad"}},{"province":"sindh","city":"karachi","town":"malir","name":"ghazi_brohi_goth","label":{"Urdu":"غازی بروہی گوٹھ","Roman Urdu":"Ghazi Brohi Goth","English":"Ghazi Brohi Goth"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"kalyana","label":{"Urdu":"کالیانہ","Roman Urdu":"Kalyana","English":"Kalyana"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"sir_syed_colony","label":{"Urdu":"سر سید کالونی","Roman Urdu":"Sir Syed Colony","English":"Sir Syed Colony"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"fatima_jinnah_colony","label":{"Urdu":"فاطمہ جناح کالونی","Roman Urdu":"Fatima Jinnah Colony","English":"Fatima Jinnah Colony"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"godhra","label":{"Urdu":"گودھرا","Roman Urdu":"Godhra","English":"Godhra"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"abu_zar_ghaffari","label":{"Urdu":"ابو زر غفاری","Roman Urdu":"Abu Zar Ghaffari","English":"Abu Zar Ghaffari"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"hakim_ahsan","label":{"Urdu":"حاکم احسان","Roman Urdu":"Hakim Ahsan","English":"Hakim Ahsan"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"madina_colony","label":{"Urdu":"مدینہ کالونی","Roman Urdu":"Madina Colony","English":"Madina Colony"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"faisal_colony","label":{"Urdu":"فیصل کالونی","Roman Urdu":"Faisal Colony","English":"Faisal Colony"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"khamiso_goth","label":{"Urdu":"خمیسو گوٹھ","Roman Urdu":"Khamiso Goth","English":"Khamiso Goth"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"mustufa_colony","label":{"Urdu":"مصطفی کالونی","Roman Urdu":"Mustufa Colony","English":"Mustufa Colony"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"khawaja_ajmeer_nagri","label":{"Urdu":"خواجہ اجمیر نگری","Roman Urdu":"Khawaja Ajmeer Nagri","English":"Khawaja Ajmeer Nagri"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"gulshan_e_saeed","label":{"Urdu":"گلشن سعید","Roman Urdu":"Gulshan-e-Saeed","English":"Gulshan-e-Saeed"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"shah_nawaz_bhutto_colony","label":{"Urdu":"شاہ نواز بھٹو کالونی","Roman Urdu":"Shah Nawaz Bhutto Colony","English":"Shah Nawaz Bhutto Colony"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"paposh_nagar","label":{"Urdu":"پاپوش نگر","Roman Urdu":"Paposh Nagar","English":"Paposh Nagar"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"pahar_ganj","label":{"Urdu":"پہاڑ گنج","Roman Urdu":"Pahar Ganj","English":"Pahar Ganj"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"khandu_goth","label":{"Urdu":"کھنڑو گوٹھ","Roman Urdu":"Khandu Goth","English":"Khandu Goth"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"hyderi","label":{"Urdu":"حیدری","Roman Urdu":"Hyderi","English":"Hyderi"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"sakhi_hassan","label":{"Urdu":"سخی حسن","Roman Urdu":"Sakhi Hassan","English":"Sakhi Hassan"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"farooq_e_azam","label":{"Urdu":"فاروق اعظم","Roman Urdu":"Farooq-e-Azam","English":"Farooq-e-Azam"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"nusrat_bhutto_colony","label":{"Urdu":"نصرت بھٹو کالونی","Roman Urdu":"Nusrat Bhutto Colony","English":"Nusrat Bhutto Colony"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"shadman_town","label":{"Urdu":"شادمان ٹاوَن","Roman Urdu":"Shadman Town","English":"Shadman Town"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"buffer_zone","label":{"Urdu":"بفرزون","Roman Urdu":"Buffer Zone","English":"Buffer Zone"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"buffer_zone_ii","label":{"Urdu":"بفرزون 2","Roman Urdu":"Buffer Zone II","English":"Buffer Zone II"}},{"province":"sindh","city":"karachi","town":"orangi","name":"mominabad","label":{"Urdu":"مومن آباد","Roman Urdu":"Mominabad","English":"Mominabad"}},{"province":"sindh","city":"karachi","town":"orangi","name":"haryana_colony","label":{"Urdu":"حریانہ کالونی","Roman Urdu":"Haryana Colony","English":"Haryana Colony"}},{"province":"sindh","city":"karachi","town":"orangi","name":"hanifabad","label":{"Urdu":"حنیف آباد","Roman Urdu":"Hanifabad","English":"Hanifabad"}},{"province":"sindh","city":"karachi","town":"orangi","name":"mohammad_nagar","label":{"Urdu":"محمد نگر","Roman Urdu":"Mohammad Nagar","English":"Mohammad Nagar"}},{"province":"sindh","city":"karachi","town":"orangi","name":"madina_colony_orangi","label":{"Urdu":"مدینہ کالونی اورنگی","Roman Urdu":"Madina Colony Orangi","English":"Madina Colony Orangi"}},{"province":"sindh","city":"karachi","town":"orangi","name":"ghaziabad","label":{"Urdu":"غازی آباد","Roman Urdu":"Ghaziabad","English":"Ghaziabad"}},{"province":"sindh","city":"karachi","town":"orangi","name":"chisti_nagar","label":{"Urdu":"چشتی نگر","Roman Urdu":"Chisti Nagar","English":"Chisti Nagar"}},{"province":"sindh","city":"karachi","town":"orangi","name":"bilal_colony_orangi","label":{"Urdu":"بلال کالونی اورنگی","Roman Urdu":"Bilal Colony Orangi","English":"Bilal Colony Orangi"}},{"province":"sindh","city":"karachi","town":"orangi","name":"iqbal_baloch_colony","label":{"Urdu":"اقبال بلوچ کالونی","Roman Urdu":"Iqbal Baloch Colony","English":"Iqbal Baloch Colony"}},{"province":"sindh","city":"karachi","town":"orangi","name":"ghabool_town","label":{"Urdu":"گبول ٹاوَن","Roman Urdu":"Ghabool Town","English":"Ghabool Town"}},{"province":"sindh","city":"karachi","town":"orangi","name":"data_nagar","label":{"Urdu":"داتا نگر","Roman Urdu":"Data Nagar","English":"Data Nagar"}},{"province":"sindh","city":"karachi","town":"orangi","name":"mujahidabad","label":{"Urdu":"مجاہد آباد","Roman Urdu":"Mujahidabad","English":"Mujahidabad"}},{"province":"sindh","city":"karachi","town":"orangi","name":"baloch_goth","label":{"Urdu":"بلوچ گوٹھ","Roman Urdu":"Baloch Goth","English":"Baloch Goth"}},{"province":"sindh","city":"karachi","town":"saddar","name":"old_haji_camp","label":{"Urdu":"پرانہ حاجی کیمپ","Roman Urdu":"Old Haji Camp","English":"Old Haji Camp"}},{"province":"sindh","city":"karachi","town":"saddar","name":"garden","label":{"Urdu":"گارڈن","Roman Urdu":"Garden","English":"Garden"}},{"province":"sindh","city":"karachi","town":"saddar","name":"kharadar","label":{"Urdu":"کھارادر","Roman Urdu":"Kharadar","English":"Kharadar"}},{"province":"sindh","city":"karachi","town":"saddar","name":"city_railway_colony","label":{"Urdu":"سٹی ریلوے کالونی","Roman Urdu":"City Railway Colony","English":"City Railway Colony"}},{"province":"sindh","city":"karachi","town":"saddar","name":"nanak_wara","label":{"Urdu":"ناناک واڑا","Roman Urdu":"Nanak Wara","English":"Nanak Wara"}},{"province":"sindh","city":"karachi","town":"saddar","name":"gazdarabad","label":{"Urdu":"گزدرآباد","Roman Urdu":"Gazdarabad","English":"Gazdarabad"}},{"province":"sindh","city":"karachi","town":"saddar","name":"millat_nagar_islam_pura","label":{"Urdu":"ملت نگر اسلام پورا","Roman Urdu":"Millat Nagar/Islam Pura","English":"Millat Nagar/Islam Pura"}},{"province":"sindh","city":"karachi","town":"saddar","name":"saddar_uc","label":{"Urdu":"صدر یو سی","Roman Urdu":"Saddar UC","English":"Saddar UC"}},{"province":"sindh","city":"karachi","town":"saddar","name":"civil_line","label":{"Urdu":"سول لائن","Roman Urdu":"Civil Line","English":"Civil Line"}},{"province":"sindh","city":"karachi","town":"saddar","name":"clifton","label":{"Urdu":"کلفٹن","Roman Urdu":"Clifton","English":"Clifton"}},{"province":"sindh","city":"karachi","town":"saddar","name":"kehkashan","label":{"Urdu":"کہکشان","Roman Urdu":"Kehkashan","English":"Kehkashan"}},{"province":"sindh","city":"karachi","town":"shah_faisal","name":"natha_khan_goth","label":{"Urdu":"ناتھا خان گوٹھ","Roman Urdu":"Natha Khan Goth","English":"Natha Khan Goth"}},{"province":"sindh","city":"karachi","town":"shah_faisal","name":"pak_sadat_colony","label":{"Urdu":"پاک صدر کالونی","Roman Urdu":"Pak Sadat Colony","English":"Pak Sadat Colony"}},{"province":"sindh","city":"karachi","town":"shah_faisal","name":"drigh_colony","label":{"Urdu":"ڈرگ کالونی","Roman Urdu":"Drigh Colony","English":"Drigh Colony"}},{"province":"sindh","city":"karachi","town":"shah_faisal","name":"raita_plot","label":{"Urdu":"رائتا پلاٹ","Roman Urdu":"Raita Plot","English":"Raita Plot"}},{"province":"sindh","city":"karachi","town":"shah_faisal","name":"moria_khan_goth","label":{"Urdu":"موریا خان گوٹھ","Roman Urdu":"Moria Khan Goth","English":"Moria Khan Goth"}},{"province":"sindh","city":"karachi","town":"shah_faisal","name":"rafa_e_aam_society","label":{"Urdu":"رفا عام سوسا ئٹی","Roman Urdu":"Rafa-e-Aam Society","English":"Rafa-e-Aam Society"}},{"province":"sindh","city":"karachi","town":"shah_faisal","name":"al_falah_society","label":{"Urdu":"الفلاح سوسا ئٹی","Roman Urdu":"Al-Falah Society","English":"Al-Falah Society"}},{"province":"sindh","city":"karachi","town":"site","name":"pak_colony","label":{"Urdu":"پاک کالونی","Roman Urdu":"Pak Colony","English":"Pak Colony"}},{"province":"sindh","city":"karachi","town":"site","name":"old_golimar","label":{"Urdu":"پرانہ گولی مار","Roman Urdu":"Old Golimar","English":"Old Golimar"}},{"province":"sindh","city":"karachi","town":"site","name":"jahanabad","label":{"Urdu":"جہان آباد","Roman Urdu":"Jahanabad","English":"Jahanabad"}},{"province":"sindh","city":"karachi","town":"site","name":"metrovil","label":{"Urdu":"میٹروویل","Roman Urdu":"Metrovil","English":"Metrovil"}},{"province":"sindh","city":"karachi","town":"site","name":"bhawani_chali","label":{"Urdu":"بہوانی چالی","Roman Urdu":"Bhawani Chali","English":"Bhawani Chali"}},{"province":"sindh","city":"karachi","town":"site","name":"frontier_colony","label":{"Urdu":"فرونٹر کالونی","Roman Urdu":"Frontier Colony","English":"Frontier Colony"}},{"province":"sindh","city":"karachi","town":"site","name":"banaras_colony","label":{"Urdu":"بنارس کالونی","Roman Urdu":"Banaras Colony","English":"Banaras Colony"}},{"province":"sindh","city":"karachi","town":"site","name":"qasba_colony","label":{"Urdu":"قصبہ کالونی","Roman Urdu":"Qasba Colony","English":"Qasba Colony"}},{"province":"sindh","city":"karachi","town":"site","name":"islamia_colony","label":{"Urdu":"اسلامیہ کالونی","Roman Urdu":"Islamia Colony","English":"Islamia Colony"}},{"province":"na","city":"na","town":"na","name":"other","label":{"Urdu":"دیگر","Roman Urdu":"Deegar","English":"Other"}},{"province":"na","city":"na","town":"na","name":"not_applicable","label":{"Urdu":"قابل اطلاق نہیں","Roman Urdu":"Qaabil-e-atlaaq nahi","English":"Not Applicable"}}],"gender":[{"instance":{"openmrs_code":"1534AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"male","label":{"Urdu":"مرد/ لڑکا","Roman Urdu":"Mard/larka","English":"Male"}},{"instance":{"openmrs_code":"1535AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"female","label":{"Urdu":"عورت/لڑکی","Roman Urdu":"Aurat/larki","English":"Female"}},{"instance":{"openmrs_code":"163163AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"transgender","label":{"Urdu":"خواجہ سرہ","Roman Urdu":"Khwaja sira","English":"Transgender"}}],"vaccines":[{"instance":{"openmrs_code":"84880AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"TT1","label":{"Urdu":"ٹی ٹی 1","Roman Urdu":"TT1","English":"TT1"}},{"instance":{"openmrs_code":"84880AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"TT2","label":{"Urdu":"ٹی ٹی 2","Roman Urdu":"TT2","English":"TT2"}},{"instance":{"openmrs_code":"84880AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"TT3","label":{"Urdu":"ٹی ٹی 3","Roman Urdu":"TT3","English":"TT3"}},{"instance":{"openmrs_code":"84880AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"TT4","label":{"Urdu":"ٹی ٹی 4","Roman Urdu":"TT4","English":"TT4"}},{"instance":{"openmrs_code":"84880AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"TT5","label":{"Urdu":"ٹی ٹی 5","Roman Urdu":"TT5","English":"TT5"}}],"towns":[{"province":"sindh","city":"karachi","name":"korangi","label":{"Urdu":"کورنگی","Roman Urdu":"Korangi","English":"Korangi"}},{"province":"sindh","city":"karachi","name":"landhi","label":{"Urdu":"لانڈھی","Roman Urdu":"Landhi","English":"Landhi"}},{"province":"sindh","city":"karachi","name":"baldia","label":{"Urdu":"بلدیہ","Roman Urdu":"Baldia","English":"Baldia"}},{"province":"sindh","city":"karachi","name":"bin_qasim","label":{"Urdu":"بن قاسم","Roman Urdu":"Bin Qasim","English":"Bin Qasim"}},{"province":"sindh","city":"karachi","name":"gadap","label":{"Urdu":"گڈاپ","Roman Urdu":"Gadap","English":"Gadap"}},{"province":"sindh","city":"karachi","name":"gulberg","label":{"Urdu":"گلبرگ","Roman Urdu":"Gulberg","English":"Gulberg"}},{"province":"sindh","city":"karachi","name":"gulshan","label":{"Urdu":"گلشن","Roman Urdu":"Gulshan","English":"Gulshan"}},{"province":"sindh","city":"karachi","name":"jamshed","label":{"Urdu":"جمشید","Roman Urdu":"Jamshed","English":"Jamshed"}},{"province":"sindh","city":"karachi","name":"kiamari","label":{"Urdu":"کیماری","Roman Urdu":"Kiamari","English":"Kiamari"}},{"province":"sindh","city":"karachi","name":"liaquatabad","label":{"Urdu":"لیاقت آباد","Roman Urdu":"Liaquatabad","English":"Liaquatabad"}},{"province":"sindh","city":"karachi","name":"lyari","label":{"Urdu":"لیاری","Roman Urdu":"Lyari","English":"Lyari"}},{"province":"sindh","city":"karachi","name":"malir","label":{"Urdu":"ملیر","Roman Urdu":"Malir","English":"Malir"}},{"province":"sindh","city":"karachi","name":"new_karachi","label":{"Urdu":"نیو کراچی","Roman Urdu":"New Karachi","English":"New Karachi"}},{"province":"sindh","city":"karachi","name":"north_nazimabad","label":{"Urdu":"نارتھ ناظم آباد","Roman Urdu":"North Nazimabad","English":"North Nazimabad"}},{"province":"sindh","city":"karachi","name":"orangi","label":{"Urdu":"اورنگی","Roman Urdu":"Orangi","English":"Orangi"}},{"province":"sindh","city":"karachi","name":"saddar","label":{"Urdu":"صدر","Roman Urdu":"Saddar","English":"Saddar"}},{"province":"sindh","city":"karachi","name":"shah_faisal","label":{"Urdu":"شاہ فیصل","Roman Urdu":"Shah Faisal","English":"Shah Faisal"}},{"province":"sindh","city":"karachi","name":"site","label":{"Urdu":"سائٹ","Roman Urdu":"S.I.T.E.","English":"S.I.T.E."}},{"province":"na","city":"na","name":"other","label":{"Urdu":"دیگر","Roman Urdu":"Deegar","English":"Other"}},{"province":"na","city":"na","name":"not_applicable","label":{"Urdu":"قابل اطلاق نہیں","Roman Urdu":"Qaabil-e-atlaaq nahi","English":"Not Applicable"}}],"cities":[{"province":"sindh","name":"karachi","label":{"Urdu":"کراچی","Roman Urdu":"Karachi","English":"Karachi"}},{"province":"punjab","name":"hafizabad","label":{"Urdu":"حافظ آباد","Roman Urdu":"Hafizabad","English":"Hafizabad"}},{"province":"punjab","name":"muzaffargarh","label":{"Urdu":"مظفر گڑھ","Roman Urdu":"Muzaffargarh","English":"Muzaffargarh"}},{"province":"na","name":"other","label":{"Urdu":"دیگر","Roman Urdu":"Deegar","English":"Other"}},{"province":"na","name":"not_applicable","label":{"Urdu":"قابل اطلاق نہیں","Roman Urdu":"Not Applicable","English":"Not Applicable"}}],"edd_lmp":[{"instance":{"openmrs_code":"5596AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"edd","label":{"Urdu":"زچگی کی متوقع تاریخ","Roman Urdu":"EDD","English":"EDD"}},{"instance":{"openmrs_code":"1427AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"lmp","label":{"Urdu":"پچھلی مہواری کی تاریخ","Roman Urdu":"LMP","English":"LMP"}},{"instance":{"openmrs_code":"159617AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"ultrasound","label":{"Urdu":"الٹرا سائونڈ","Roman Urdu":"Ultrasound","English":"Ultrasound"}},{"instance":{"openmrs_code":"1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"none","label":{"Urdu":"کوئی بھی نہیں","Roman Urdu":"Koi bhi nahi","English":"None of the above"}}],"ethnicity":[{"instance":{"openmrs_code":"163215AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"punjabi","label":{"Urdu":"پنجابی","Roman Urdu":"Punjabi","English":"Punjabi"}},{"instance":{"openmrs_code":"163216AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"pushtuns","label":{"Urdu":"پشتون","Roman Urdu":"Pushtun","English":"Pushtun"}},{"instance":{"openmrs_code":"163217AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"sindhi","label":{"Urdu":"سندھی","Roman Urdu":"Sindhi","English":"Sindhi"}},{"instance":{"openmrs_code":"163218AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"saraiki","label":{"Urdu":"سرائیکی","Roman Urdu":"Saraiki","English":"Saraiki"}},{"instance":{"openmrs_code":"163219AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"muhajir","label":{"Urdu":"مہاجر","Roman Urdu":"Muhajir","English":"Muhajir"}},{"instance":{"openmrs_code":"163220AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"balochi","label":{"Urdu":"بلوچی","Roman Urdu":"Balochi","English":"Balochi"}},{"instance":{"openmrs_code":"5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"other","label":{"Urdu":"دیگر","Roman Urdu":"Deegar","English":"Other"}}],"yes_no":[{"instance":{"openmrs_code":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"yes","label":{"Urdu":"ہاں","Roman Urdu":"Yes","English":"Yes"}},{"instance":{"openmrs_code":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"no","label":{"Urdu":"نہیں","Roman Urdu":"No","English":"No"}}]},"instance":{"encounter_type":"Woman TT enrollment"},"version":"201604080500","id_string":"woman_tt_enrollement_form","type":"survey","children":[{"type":"hidden","name":"provider_uc"},{"type":"hidden","name":"provider_town"},{"type":"hidden","name":"provider_city"},{"type":"hidden","name":"provider_province"},{"type":"hidden","name":"provider_id"},{"instance":{"openmrs_entity_id":"location_id","openmrs_entity":"encounter"},"type":"hidden","name":"provider_location_id"},{"instance":{"openmrs_entity_id":"Program Client ID","openmrs_entity":"person_identifier"},"type":"hidden","name":"existing_program_client_id"},{"type":"hidden","name":"provider_location_name"},{"instance":{"openmrs_entity_id":"gender","openmrs_entity":"person"},"type":"hidden","name":"gender"},{"type":"note","name":"provider_location_note","label":{"Urdu":"شہر: ${provider_city} ; ٹائون: ${provider_town} ; یوسی: ${provider_uc} ; سینٹرکا نام: ${provider_location_name}","English":"City: ${provider_city} ; Town: ${provider_town} ; UC: ${provider_uc} ; Center Name: ${provider_location_name}","Roman Urdu":"Shehr: ${provider_city} ; Town: ${provider_town} ; UC: ${provider_uc} ; Center ka naam: ${provider_location_name}"}},{"instance":{"openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"start","name":"start"},{"instance":{"openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"end","name":"end"},{"instance":{"openmrs_entity_id":"163286AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"today","name":"today"},{"instance":{"openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"deviceid","name":"deviceid"},{"instance":{"openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"subscriberid","name":"subscriberid"},{"instance":{"openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"simserial","name":"simserial"},{"instance":{"openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"phonenumber","name":"phonenumber"},{"name":"client_reg_date","hint":{"Urdu":"خاتون کو ویکسین لگنے کی تاریخ","English":"Date on which woman was vaccinated","Roman Urdu":"Khatoon ko vaccine lagnay ki tareekh"},"bind":{"jr:constraintMsg":{"Urdu":"پروگرام مین اندراج کی تاریخ مستقبل کی نہیں ہوسکتی","English":"Client registration date cannot be in the future","Roman Urdu":"Program mai andraaj ki tareekh mustaqbil ki nahi hosakti"},"required":"yes","constraint":".<=${today}"},"label":{"Urdu":"پروگرام میں اندراج کی تاریخ","English":"Client Registration date","Roman Urdu":"Program mai andraj ki tareekh"},"instance":{"openmrs_entity_id":"encounter_date","openmrs_entity":"encounter"},"type":"date"},{"bind":{"required":"yes"},"type":"note","name":"program_client_id","label":{"Urdu":"کلائنٹ کی پروگرام آئی ڈی {existing_program_client_id}$","Roman Urdu":"Client ki program ID ${existing_program_client_id}","English":"Program Client ID ${existing_program_client_id}"}},{"bind":{"jr:constraintMsg":{"Urdu":"نمبر آٹھ ہندسوں پر مشتمل ہونا چاہئے","English":"Number should be 8 digits","Roman Urdu":"Number 8 hindason par mushtamil hona chahiye"},"required":"yes","constraint":"string-length(.) = 8"},"type":"integer","instance":{"openmrs_entity_id":"EPI Card Number","openmrs_entity":"person_attribute"},"name":"epi_card_number","label":{"Urdu":"کارڈ نمبر","English":"EPI Card Number","Roman Urdu":"EPI Card Number"}},{"bind":{"jr:constraintMsg":{"Urdu":"نام تین سے پچیس حروف پر مشتمل ہونا چاہئے","English":"Name should be 3 to 25 characters long","Roman Urdu":"Naam 3 say 25 huroof par mushtamil hona chahiye"},"required":"yes","constraint":"regex(., '^[a-zA-Z\\s\\.\\-]{3,25}$')"},"type":"text","instance":{"openmrs_entity_id":"first_name","openmrs_entity":"person"},"name":"first_name","label":{"Urdu":"نام","English":"First Name","Roman Urdu":"Naam"}},{"default":"yes","label":{"Urdu":"کیا تاریخ پیدائش معلوم ہے؟","Roman Urdu":"Kya tareekh-e-pedaaish maloom hai?","English":"Is birthdate known?"},"type":"select one","children":[{"instance":{"openmrs_code":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"yes","label":{"Urdu":"ہاں","Roman Urdu":"Yes","English":"Yes"}},{"instance":{"openmrs_code":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"no","label":{"Urdu":"نہیں","Roman Urdu":"No","English":"No"}}],"name":"member_birth_date_known"},{"bind":{"jr:constraintMsg":{"Urdu":"یہ تاریخ مستقبل کی نہیں ہوسکتی","Roman Urdu":"Ye tareekh mustaqbil ki nahi hosakti","English":"This date cannot be in the future"},"relevant":"selected(${member_birth_date_known}, 'yes')","constraint":".<=${today}"},"type":"date","name":"member_birth_date","label":{"Urdu":"تاریخ پیدائش","Roman Urdu":"Tareekh-e-pedaaish","English":"Birth date"}},{"bind":{"relevant":"selected(${member_birth_date_known}, 'no')"},"type":"integer","name":"age","label":{"Urdu":"عمر (سالوں میں)","Roman Urdu":"Umar (saalon me)","English":"Age (years)"}},{"bind":{"calculate":"int((${today} - ${member_birth_date}) div 365.25)"},"type":"calculate","name":"calc_age"},{"bind":{"calculate":"date(${today} - int(${age} * 365.25))"},"type":"calculate","name":"calc_dob"},{"bind":{"calculate":"if(${member_birth_date_known}='yes', ${member_birth_date}, ${calc_dob})"},"type":"calculate","name":"calc_dob_confirm","instance":{"openmrs_entity_id":"birthdate","openmrs_entity":"person"}},{"bind":{"calculate":"if(${member_birth_date_known} = 'yes', '0', '1')"},"type":"calculate","name":"calc_dob_estimated","instance":{"openmrs_entity_id":"birthdate_estimated","openmrs_entity":"person"}},{"bind":{"calculate":"if(${member_birth_date_known}='yes', ${calc_age}, ${age})"},"type":"calculate","name":"calc_age_confirm","instance":{"openmrs_entity_id":"154384AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"}},{"type":"note","name":"birth_date_note","label":{"Urdu":"کلائنٹ کی تاریخ پیدائش:${calc_dob_confirm}","English":"Date of Birth: ${calc_dob_confirm}","Roman Urdu":"Member ki Tareekh-e-pedaaish: ${calc_dob_confirm}"}},{"type":"note","name":"note_age","label":{"Urdu":"عمر :{calc_age_confirm}$ سال","English":"Age: ${calc_age_confirm} years","Roman Urdu":"Umar: ${calc_age_confirm} saal"}},{"default":"female","bind":{"required":"yes","calculate":"concat(\"female\",\"\")"},"type":"calculate","name":"gender1","label":{"Urdu":"جنس","Roman Urdu":"Jins","English":"Gender"}},{"bind":{"jr:constraintMsg":{"Urdu":"نام تین سے پچیس حروف پر مشتمل ہونا چاہئے","English":"Name should be 3 to 25 characters long","Roman Urdu":"Naam 3 say 25 huroof par mushtamil hona chahiye"},"constraint":"regex(., '^[a-zA-Z\\s\\.\\-]{3,25}$')"},"type":"text","instance":{"openmrs_entity_id":"1594AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"name":"father_name","label":{"Urdu":"والد کا نام","English":"Father's Name","Roman Urdu":"Waalid ka naam"}},{"label":{"Urdu":"کیا آپ شادی شدہ ہیں؟","English":"Are you married?","Roman Urdu":"Kya aap shaadi shuda hain?"},"type":"select one","children":[{"instance":{"openmrs_code":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"yes","label":{"Urdu":"ہاں","Roman Urdu":"Yes","English":"Yes"}},{"instance":{"openmrs_code":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"no","label":{"Urdu":"نہیں","Roman Urdu":"No","English":"No"}}],"name":"marriage"},{"bind":{"jr:constraintMsg":{"Urdu":"نام تین سے پچیس حروف پر مشتمل ہونا چاہئے","English":"Name should be 3 to 25 characters long","Roman Urdu":"Naam 3 say 25 huroof par mushtamil hona chahiye"},"relevant":"selected(${marriage}, 'yes')","constraint":"regex(., '^[a-zA-Z\\s\\.\\-]{3,25}$')"},"type":"text","instance":{"openmrs_entity_id":"161135AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"name":"husband_name","label":{"Urdu":"شوہر کا نام","English":"Husband's Name","Roman Urdu":"Shohar ka naam"}},{"bind":{"calculate":"if(${marriage} = 'no', ${father_name}, ${husband_name})"},"type":"calculate","name":"last_name","instance":{"openmrs_entity_id":"last_name","openmrs_entity":"person"}},{"control":{"appearance":"minimal"},"name":"ethnicity","bind":{"required":"yes"},"label":{"Urdu":"قومیت","English":"Ethnicity","Roman Urdu":"Qomiat"},"instance":{"openmrs_entity_id":"163153AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"select one","children":[{"instance":{"openmrs_code":"163215AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"punjabi","label":{"Urdu":"پنجابی","Roman Urdu":"Punjabi","English":"Punjabi"}},{"instance":{"openmrs_code":"163216AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"pushtuns","label":{"Urdu":"پشتون","Roman Urdu":"Pushtun","English":"Pushtun"}},{"instance":{"openmrs_code":"163217AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"sindhi","label":{"Urdu":"سندھی","Roman Urdu":"Sindhi","English":"Sindhi"}},{"instance":{"openmrs_code":"163218AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"saraiki","label":{"Urdu":"سرائیکی","Roman Urdu":"Saraiki","English":"Saraiki"}},{"instance":{"openmrs_code":"163219AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"muhajir","label":{"Urdu":"مہاجر","Roman Urdu":"Muhajir","English":"Muhajir"}},{"instance":{"openmrs_code":"163220AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"balochi","label":{"Urdu":"بلوچی","Roman Urdu":"Balochi","English":"Balochi"}},{"instance":{"openmrs_code":"5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"other","label":{"Urdu":"دیگر","Roman Urdu":"Deegar","English":"Other"}}]},{"bind":{"relevant":"selected(${ethnicity}, 'other')"},"type":"text","instance":{"openmrs_entity":"concept","openmrs_entity_id":"160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"163330AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"ethnicity_other","label":{"Urdu":"وضاحت کریں","Roman Urdu":"Wazaahat karain","English":"Please specify:"}},{"control":{"appearance":"minimal"},"name":"province","default":"${provider_province}","bind":{"required":"yes"},"label":{"Urdu":"صوبہ","Roman Urdu":"Suba","English":"Province"},"instance":{"openmrs_entity":"person_address","openmrs_entity_id":"stateProvince","openmrs_entity_parent":"usual_residence"},"type":"select one","children":[{"name":"kpk","label":{"Urdu":"خیبر پختون خواہ","English":"Khyber Pakhtunkhwa","Roman Urdu":"Khyber Pakhtunkhwa"}},{"name":"sindh","label":{"Urdu":"سندھ","English":"Sindh","Roman Urdu":"Sindh"}},{"name":"balochistan","label":{"Urdu":"بلوچستان","English":"Balochistan","Roman Urdu":"Balochistan"}},{"name":"punjab","label":{"Urdu":"پنجاب","English":"Punjab","Roman Urdu":"Punjab"}},{"name":"gilgit_baltistan","label":{"Urdu":"گلگت بلتستان","English":"Gilgit Baltistan","Roman Urdu":"Gilgit Baltistan"}},{"name":"kashmir","label":{"Urdu":"کشمیر","English":"Kashmir","Roman Urdu":"Kashmir"}},{"name":"fata","label":{"Urdu":"فاٹا","English":"FATA","Roman Urdu":"FATA"}},{"name":"out_of_country","label":{"Urdu":"ملک سے باہر","English":"Out of Country","Roman Urdu":"Mulk se baahir"}}]},{"control":{"appearance":"minimal"},"name":"city_village","choice_filter":"province=${province} or province='na'","default":"${provider_city}","bind":{"required":"yes"},"label":{"Urdu":"شہر","Roman Urdu":"Shehr","English":"City"},"itemset":"cities","instance":{"openmrs_entity":"person_address","openmrs_entity_id":"cityVillage","openmrs_entity_parent":"usual_residence"},"type":"select one"},{"control":{"appearance":"minimal"},"name":"town","choice_filter":"(province=${province} and city=${city_village} ) or city='na'","bind":{"required":"yes"},"label":{"Urdu":"ٹاٰئون/ قصبہ/ بستی","Roman Urdu":"Town / Qasbah / Basti","English":"Town"},"itemset":"towns","instance":{"openmrs_entity":"person_address","openmrs_entity_id":"town","openmrs_entity_parent":"usual_residence"},"type":"select one"},{"control":{"appearance":"minimal"},"name":"union_council","choice_filter":"(province=${province} and city=${city_village} and town=${town}) or town='na'","bind":{"required":"yes"},"label":{"Urdu":"یونین کونسل","Roman Urdu":"Union Council","English":"Union Council"},"itemset":"ucs","instance":{"openmrs_entity":"person_address","openmrs_entity_id":"subTown","openmrs_entity_parent":"usual_residence"},"type":"select one"},{"bind":{"required":"yes"},"type":"text","instance":{"openmrs_entity":"person_address","openmrs_entity_id":"house","openmrs_entity_parent":"usual_residence"},"name":"house_number","label":{"Urdu":"گھر کا نمبر","Roman Urdu":"Ghar ka number","English":"House Number"}},{"bind":{"required":"yes"},"type":"text","instance":{"openmrs_entity":"person_address","openmrs_entity_id":"street","openmrs_entity_parent":"usual_residence"},"name":"street","label":{"Urdu":"گلی/کالونی/محلہ","Roman Urdu":"Gali/Colony/Mohalla","English":"Street"}},{"bind":{"required":"yes"},"type":"text","instance":{"openmrs_entity":"person_address","openmrs_entity_id":"landmark","openmrs_entity_parent":"usual_residence"},"name":"landmark","label":{"Urdu":"گھر کے قریب کوئی مشہور جگہ","Roman Urdu":"Ghar ke qareeb koi mashoor jagah","English":"Land Mark"}},{"bind":{"calculate":"jr:choice-name(${province}, '${province}')"},"type":"calculate","name":"provincename"},{"bind":{"calculate":"jr:choice-name(${city_village}, '${city_village}')"},"type":"calculate","name":"city_villagename"},{"bind":{"calculate":"jr:choice-name(${town}, '${town}')"},"type":"calculate","name":"townname"},{"bind":{"calculate":"jr:choice-name(${union_council}, '${union_council}')"},"type":"calculate","name":"union_councilname"},{"type":"note","name":"address","label":{"Urdu":"پتہ: ${house_number}, ${street}, ${landmark}, ${union_councilname}, ${townname}, ${city_villagename}, ${provincename}","English":"Address: ${house_number}, ${street}, ${landmark}, ${union_councilname}, ${townname}, ${city_villagename}, ${provincename}","Roman Urdu":"Pata: ${house_number}, ${street}, ${landmark}, ${union_councilname}, ${townname}, ${city_villagename}, ${provincename}"}},{"instance":{"openmrs_entity_id":"163277AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"geopoint","name":"centre_gps","label":{"Urdu":"حاصل کردہ معلومات کی جگہ کے GPS کارڈینیٹس درج کریں","English":"Collect GPS coordinates of data entry location","Roman Urdu":"Hasil karda malomaat ki jaga ke GPS coordinates darj karain"}},{"name":"reminders_approval","bind":{"required":"yes"},"label":{"Urdu":"کیا آپ اپنے بچے کی اگلی ویکسین کی تاریخ کے لیے SMS موصول کرنا چاہتے ہیں؟","English":"Are you willing to receive SMS reminders for your next visit?","Roman Urdu":"Kya aap apnay bachay ki agli vaccine ki tareekh ke liye SMS mausool karna chahtay hain?"},"instance":{"openmrs_entity_id":"163089AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"select one","children":[{"instance":{"openmrs_code":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"yes","label":{"Urdu":"ہاں","Roman Urdu":"Yes","English":"Yes"}},{"instance":{"openmrs_code":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"no","label":{"Urdu":"نہیں","Roman Urdu":"No","English":"No"}}]},{"bind":{"jr:constraintMsg":{"Urdu":"فون نمبر گیارہ ہندسوں پر مشتمل اور مندرجہ ذیل شکل میں ہونا چاہئے: *********03","English":"Phone number should be 11 digits in the following format: 03*********","Roman Urdu":"Phone number 11 hindason par mushtamil aur mundarja zail shakal main hona chahiey: 03*********"},"relevant":"${reminders_approval}='yes'","constraint":"regex(., '^03[0-9]{9}$')"},"type":"text","instance":{"openmrs_entity_id":"159635AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"name":"contact_phone_number","label":{"Urdu":"موبائل نمبر:","English":"Mobile Number:","Roman Urdu":"Mobile number:"}},{"instance":{"openmrs_entity_id":"5272AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"label":{"Urdu":"کیا خا تون حاملہ ہیں؟","English":"Is female pregnant?","Roman Urdu":"Kia khatoon haamla hain?"},"type":"select one","children":[{"instance":{"openmrs_code":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"yes","label":{"Urdu":"ہاں","Roman Urdu":"Yes","English":"Yes"}},{"instance":{"openmrs_code":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"no","label":{"Urdu":"نہیں","Roman Urdu":"No","English":"No"}}],"name":"pregnant"},{"name":"edd_lmp","bind":{"relevant":"selected (${pregnant}, 'yes')"},"label":{"Urdu":"کیا آپ کو اپنی پچھلی ماہواری کی تاریخ، زچگی کی متوقع تاریخ، یا الٹرا سائونڈ کا علم ہے؟","English":"Do you know your LMP, EDD or last Ultrasound information?","Roman Urdu":"Kya aap ko apni pichli mahwaari ki tareekh, zachgi ki mutawaqqa tareekh ya ultrasound ka ilm hai?"},"instance":{"openmrs_entity_id":"160697AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"select one","children":[{"instance":{"openmrs_code":"5596AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"edd","label":{"Urdu":"زچگی کی متوقع تاریخ","Roman Urdu":"EDD","English":"EDD"}},{"instance":{"openmrs_code":"1427AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"lmp","label":{"Urdu":"پچھلی مہواری کی تاریخ","Roman Urdu":"LMP","English":"LMP"}},{"instance":{"openmrs_code":"159617AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"ultrasound","label":{"Urdu":"الٹرا سائونڈ","Roman Urdu":"Ultrasound","English":"Ultrasound"}},{"instance":{"openmrs_code":"1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"none","label":{"Urdu":"کوئی بھی نہیں","Roman Urdu":"Koi bhi nahi","English":"None of the above"}}]},{"bind":{"jr:constraintMsg":{"Urdu":"زچگی کی متوقع تاریخ ماضی کی نہیں ہو سکتی","Roman Urdu":"Zachgi ki mutawaqqa tareekh maazi ki nahi hosakti","English":"EDD cannot be in the past"},"relevant":"selected (${edd_lmp}, 'edd')","constraint":".>=${today}"},"type":"date","name":"edd","label":{"Urdu":"زچگی کی متوقع تاریخ","Roman Urdu":"Zachgi ki mutawaqqa tareekh","English":"EDD"}},{"bind":{"jr:constraintMsg":{"Urdu":"پچھلی ماہواری کی تاریخ مستقبل کی نہیں ہوسکتی","Roman Urdu":"Pichli mahwaari ki tareekh mustaqbil ki nahi hosakti","English":"LMP cannot be in the future"},"relevant":"selected (${edd_lmp}, 'lmp')","constraint":".<=${today}"},"type":"date","name":"lmp","label":{"Urdu":"پچھلی ماہواری کی تاریخ","Roman Urdu":"Pichli mahwaari ki tareekh","English":"LMP"}},{"bind":{"relevant":"selected (${edd_lmp}, 'ultrasound')"},"type":"date","instance":{"openmrs_entity_id":"163165AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"name":"ultrasound_date","label":{"Urdu":"الٹرا سائونڈ کی تاریخ","English":"Ultrasound Date","Roman Urdu":"Ultrasound ki tareekh"}},{"bind":{"relevant":"selected (${edd_lmp}, 'ultrasound')"},"type":"integer","name":"ultrasound_weeks","label":{"Urdu":"الٹرا سائونڈ کی مدد سے حمل کی مدت [ہفتوں میں]","Roman Urdu":"Ultrasound ki madad se hamal ki muddat (hafton me)","English":"Gestational age determined by ultrasound"}},{"bind":{"calculate":"date(${lmp}+280)"},"type":"calculate","name":"edd_calc_lmp"},{"bind":{"calculate":"date((280-(${ultrasound_weeks}*7)+${ultrasound_date} ))"},"type":"calculate","name":"edd_calc_ultrasound"},{"bind":{"calculate":"format-date(${edd_calc_lmp}, '%Y-%n-%e')"},"type":"calculate","name":"edd_calc_lmp_formatted"},{"bind":{"calculate":"format-date(${edd_calc_ultrasound}, '%Y-%n-%e')"},"type":"calculate","name":"edd_calc_ultrasound_formatted"},{"bind":{"calculate":"date(${edd}-280)"},"type":"calculate","name":"lmp_calc_edd"},{"bind":{"calculate":"date(${ultrasound_date}-(${ultrasound_weeks}*7))"},"type":"calculate","name":"lmp_calc_ultrasound"},{"bind":{"calculate":"format-date(${lmp_calc_edd}, '%Y-%n-%e')"},"type":"calculate","name":"lmp_calc_edd_formatted"},{"bind":{"calculate":"format-date(${lmp_calc_ultrasound}, '%Y-%n-%e')"},"type":"calculate","name":"lmp_calc_ultrasound_formatted"},{"bind":{"calculate":"if(${edd_lmp}='lmp',${edd_calc_lmp_formatted},if(${edd_lmp}='edd',${edd} ,if(${edd_lmp}='ultrasound',${edd_calc_ultrasound_formatted},'')))"},"type":"calculate","name":"final_edd","instance":{"openmrs_entity_id":"5596AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"}},{"bind":{"calculate":"if(${edd_lmp}='lmp',${lmp},if(${edd_lmp}='edd',${lmp_calc_edd_formatted} ,if(${edd_lmp}='ultrasound',${lmp_calc_ultrasound_formatted},'')))"},"type":"calculate","name":"final_lmp","instance":{"openmrs_entity_id":"1427AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"}},{"bind":{"calculate":"int((${today} - (${edd}-280))div7)"},"type":"calculate","name":"ga_edd"},{"bind":{"calculate":"int((${today} - ${lmp})div7)"},"type":"calculate","name":"ga_lmp"},{"bind":{"calculate":"int((${today} -(${ultrasound_date}-(${ultrasound_weeks}*7)))div7)"},"type":"calculate","name":"ga_ult"},{"bind":{"relevant":"selected (${pregnant}, 'yes')"},"type":"note","name":"final_edd_note","label":{"Urdu":"${final_edd}: زچگی کی متوقع تاریخ","Roman Urdu":"Zachgi ki mutawaqqa tareekh: ${final_edd}","English":"EDD: ${final_edd}"}},{"bind":{"relevant":"selected (${pregnant}, 'yes')"},"type":"note","name":"final_lmp_note","label":{"Urdu":"پچھلی ماہواری کی تاریخ :{final_lmp}$","Roman Urdu":"Pichli mahwaari ki tareekh: ${final_lmp}","English":"LMP: ${final_lmp}"}},{"bind":{"calculate":"if(${edd_lmp}='lmp',${ga_lmp},if(${edd_lmp}='edd',${ga_edd} ,if(${edd_lmp}='ultrasound',${ga_ult},'')))"},"type":"calculate","name":"final_ga","instance":{"openmrs_entity_id":"163166AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"}},{"bind":{"relevant":"selected (${pregnant}, 'yes')"},"type":"note","name":"final_ga_note","label":{"Urdu":"حمل کی مُدّت: {final_ga}$ ہفتے","Roman Urdu":"Hamal ki muddat: ${final_ga} weeks","English":"GA: ${final_ga} weeks"}},{"name":"vaccines","bind":{"calculate":"minimal"},"label":{"Urdu":"پچھلی تاریخ جب کسی اور سینٹر پر ٹیکہ لگوایا گیا یا قطرے پلائے گئے","Roman Urdu":"Pichli tareekh jab kissi aur center par teeka lagwaya gaya ya katray pilaey gaye","English":"Retro vaccines"},"instance":{"openmrs_entity":"concept","openmrs_entity_id":"984AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"1421AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"type":"select all that apply","children":[{"instance":{"openmrs_code":"84880AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"TT1","label":{"Urdu":"ٹی ٹی 1","Roman Urdu":"TT1","English":"TT1"}},{"instance":{"openmrs_code":"84880AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"TT2","label":{"Urdu":"ٹی ٹی 2","Roman Urdu":"TT2","English":"TT2"}},{"instance":{"openmrs_code":"84880AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"TT3","label":{"Urdu":"ٹی ٹی 3","Roman Urdu":"TT3","English":"TT3"}},{"instance":{"openmrs_code":"84880AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"TT4","label":{"Urdu":"ٹی ٹی 4","Roman Urdu":"TT4","English":"TT4"}},{"instance":{"openmrs_code":"84880AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"TT5","label":{"Urdu":"ٹی ٹی 5","Roman Urdu":"TT5","English":"TT5"}}]},{"bind":{"relevant":"selected(${vaccines},'TT1')","constraint":"(.<=${today} and .<=${client_reg_date})"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"tt1_retro","label":{"Urdu":"ٹی ٹی 1","Roman Urdu":"TT1","English":"TT1"}},{"bind":{"relevant":"selected(${vaccines},'TT1')","calculate":"1"},"type":"calculate","name":"tt_1_dose","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines},'TT2')","constraint":"(.<=${today} and .>=${tt1_retro} and ((selected(${vaccines}, 'TT1'))))"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"tt2_retro","label":{"Urdu":"ٹی ٹی 2","Roman Urdu":"TT2","English":"TT2"}},{"bind":{"relevant":"selected(${vaccines},'TT2')","calculate":"2"},"type":"calculate","name":"tt_2_dose","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines},'TT3')","constraint":"(.<=${today} and .>=${tt2_retro} and ((selected(${vaccines}, 'TT2'))))"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"tt3_retro","label":{"Urdu":"ٹی ٹی 3","Roman Urdu":"TT3","English":"TT3"}},{"bind":{"relevant":"selected(${vaccines},'TT3')","calculate":"3"},"type":"calculate","name":"tt_3_dose","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines},'TT4')","constraint":"(.<=${today} and .>=${tt3_retro} and ((selected(${vaccines}, 'TT3'))))"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"tt4_retro","label":{"Urdu":"ٹی ٹی 4","Roman Urdu":"TT4","English":"TT4"}},{"bind":{"relevant":"selected(${vaccines},'TT4')","calculate":"4"},"type":"calculate","name":"tt_4_dose","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"name":"vaccines_2","choice_filter":"name = if(selected(${vaccines}, 'TT1'), '', 'TT1') or \nname = if(selected(${vaccines}, 'TT2'), '', 'TT2') or \nname = if(selected(${vaccines}, 'TT3'), '', 'TT3') or \nname = if(selected(${vaccines}, 'TT4'), '', 'TT4') or \nname = if(selected(${vaccines}, 'TT5'), '', 'TT5')","bind":{"required":"yes"},"label":{"Urdu":"آج کون کون سی ویکسین دی گئی ہیں؟","Roman Urdu":"Aaj kon kon si vaccine di gai hain?","English":"Vaccine administered today"},"itemset":"vaccines","instance":{"openmrs_entity":"concept","openmrs_entity_id":"984AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"1441AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"type":"select all that apply"},{"bind":{"calculate":"if(selected(${vaccines_2}, 'TT1'),${client_reg_date},'')"},"type":"calculate","name":"tt1","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines_2},'TT1')","calculate":"1"},"type":"calculate","name":"tt_1_dose_today","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"calculate":"if(selected(${vaccines_2}, 'TT2'),${client_reg_date},'')"},"type":"calculate","name":"tt2","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines_2},'TT2')","calculate":"2"},"type":"calculate","name":"tt_2_dose_today","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"calculate":"if(selected(${vaccines_2}, 'TT3'),${client_reg_date},'')"},"type":"calculate","name":"tt3","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines_2},'TT3')","calculate":"3"},"type":"calculate","name":"tt_3_dose_today","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"calculate":"if(selected(${vaccines_2}, 'TT4'),${client_reg_date},'')"},"type":"calculate","name":"tt4","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines_2},'TT4')","calculate":"4"},"type":"calculate","name":"tt_4_dose_today","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"calculate":"if(selected(${vaccines_2}, 'TT5'),${client_reg_date},'')"},"type":"calculate","name":"tt5","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines_2},'TT5')","calculate":"5"},"type":"calculate","name":"tt_5_dose_today","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"control":{"bodyless":true},"type":"group","children":[{"bind":{"readonly":"true()","calculate":"concat('uuid:', uuid())"},"type":"calculate","name":"instanceID"}],"name":"meta"}]} \ No newline at end of file diff --git a/opensrp-connector/bin/src/test/resources/form/woman_enrollment/form.xml b/opensrp-connector/bin/src/test/resources/form/woman_enrollment/form.xml new file mode 100644 index 0000000000..ebbd597bbb --- /dev/null +++ b/opensrp-connector/bin/src/test/resources/form/woman_enrollment/form.xml @@ -0,0 +1,1550 @@ +
+ + +

خواتین انرولمنٹ فارم برائے ٹی ٹی ٹیکاجات - Woman TT Enrollment Form

+
+
+ + کیا تاریخ پیدائش معلوم ہے؟ + Is birthdate known? + + Kya tareekh-e-pedaaish maloom hai? +
+ + +
+
+
+
+ + کیا آپ شادی شدہ ہیں؟ + Are you married? + + Kya aap shaadi shuda hain? +
+ + +
+
+
+
+ + کیا آپ اپنے بچے کی اگلی ویکسین کی تاریخ کے لیے SMS موصول کرنا چاہتے ہیں؟ + Are you willing to receive SMS reminders for your next visit? + + Kya aap apnay bachay ki agli vaccine ki tareekh ke liye SMS mausool karna chahtay hain? + * +
+ + +
+
+
+
+ + کیا خا تون حاملہ ہیں؟ + Is female pregnant? + + Kia khatoon haamla hain? +
+ + +
+
+
+
+ + کیا آپ کو اپنی پچھلی ماہواری کی تاریخ، زچگی کی متوقع تاریخ، یا الٹرا سائونڈ کا علم ہے؟ + Do you know your LMP, EDD or last Ultrasound information? + + Kya aap ko apni pichli mahwaari ki tareekh, zachgi ki mutawaqqa tareekh ya ultrasound ka ilm hai? +
+ + + + +
+
+
+
+ + پچھلی تاریخ جب کسی اور سینٹر پر ٹیکہ لگوایا گیا یا قطرے پلائے گئے + Retro vaccines + + Pichli tareekh jab kissi aur center par teeka lagwaya gaya ya katray pilaey gaye +
+ + + + + +
+
+
+
+ + آج کون کون سی ویکسین دی گئی ہیں؟ + Vaccine administered today + + Aaj kon kon si vaccine di gai hain? + * +
+ + + ٹی ٹی 1 + TT1 + + TT1 + ٹی ٹی 2 + TT2 + + TT2 + ٹی ٹی 3 + TT3 + + TT3 + ٹی ٹی 4 + TT4 + + TT4 + ٹی ٹی 5 + TT5 + + TT5 +
+
+
+ + diff --git a/opensrp-connector/bin/src/test/resources/form/woman_enrollment/form_definition.json b/opensrp-connector/bin/src/test/resources/form/woman_enrollment/form_definition.json new file mode 100644 index 0000000000..5d6cbabe33 --- /dev/null +++ b/opensrp-connector/bin/src/test/resources/form/woman_enrollment/form_definition.json @@ -0,0 +1,311 @@ +{ + "form_data_definition_version" : "1", + "form" : { + "bind_type" : "pkwoman", + "default_bind_path" : "/model/instance/Woman_TT_Enrollment_Form/", + "fields" : [ { + "name" : "id", + "shouldLoadValue" : true + }, { + "name" : "provider_uc", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/provider_uc", + "shouldLoadValue" : true + }, { + "name" : "provider_town", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/provider_town", + "shouldLoadValue" : true + }, { + "name" : "provider_city", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/provider_city", + "shouldLoadValue" : true + }, { + "name" : "provider_province", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/provider_province", + "shouldLoadValue" : true + }, { + "name" : "provider_id", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/provider_id", + "shouldLoadValue" : true + }, { + "name" : "provider_location_id", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/provider_location_id", + "shouldLoadValue" : true + }, { + "name" : "existing_program_client_id", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/existing_program_client_id", + "shouldLoadValue" : true + }, { + "name" : "provider_location_name", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/provider_location_name", + "shouldLoadValue" : true + }, { + "name" : "gender", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/gender", + "shouldLoadValue" : true + }, { + "name" : "provider_location_note", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/provider_location_note" + }, { + "name" : "start", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/start" + }, { + "name" : "end", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/end" + }, { + "name" : "today", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/today" + }, { + "name" : "deviceid", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/deviceid" + }, { + "name" : "subscriberid", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/subscriberid" + }, { + "name" : "simserial", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/simserial" + }, { + "name" : "phonenumber", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/phonenumber" + }, { + "name" : "client_reg_date", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/client_reg_date" + }, { + "name" : "program_client_id", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/program_client_id" + }, { + "name" : "epi_card_number", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/epi_card_number" + }, { + "name" : "first_name", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/first_name" + }, { + "name" : "birth_date_known", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/member_birth_date_known" + }, { + "name" : "birth_date", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/member_birth_date" + }, { + "name" : "age", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/age" + }, { + "name" : "calc_age", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/calc_age" + }, { + "name" : "calc_dob", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/calc_dob" + }, { + "name" : "dob", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/calc_dob_confirm" + }, { + "name" : "calc_dob_estimated", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/calc_dob_estimated" + }, { + "name" : "calc_age_confirm", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/calc_age_confirm" + }, { + "name" : "birth_date_note", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/birth_date_note" + }, { + "name" : "note_age", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/note_age" + }, { + "name" : "gender1", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/gender1" + }, { + "name" : "father_name", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/father_name" + }, { + "name" : "marriage", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/marriage" + }, { + "name" : "husband_name", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/husband_name" + }, { + "name" : "last_name", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/last_name" + }, { + "name" : "ethnicity", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/ethnicity" + }, { + "name" : "ethnicity_other", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/ethnicity_other" + }, { + "name" : "province", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/province" + }, { + "name" : "city_village", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/city_village" + }, { + "name" : "town", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/town" + }, { + "name" : "union_council", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/union_council" + }, { + "name" : "house_number", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/house_number" + }, { + "name" : "street", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/street" + }, { + "name" : "landmark", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/landmark" + }, { + "name" : "provincename", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/provincename" + }, { + "name" : "city_villagename", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/city_villagename" + }, { + "name" : "townname", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/townname" + }, { + "name" : "union_councilname", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/union_councilname" + }, { + "name" : "address", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/address" + }, { + "name" : "centre_gps", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/centre_gps" + }, { + "name" : "reminders_approval", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/reminders_approval" + }, { + "name" : "contact_phone_number", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/contact_phone_number" + }, { + "name" : "pregnant", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/pregnant" + }, { + "name" : "edd_lmp", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/edd_lmp" + }, { + "name" : "edd", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/edd" + }, { + "name" : "lmp", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/lmp" + }, { + "name" : "ultrasound_date", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/ultrasound_date" + }, { + "name" : "ultrasound_weeks", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/ultrasound_weeks" + }, { + "name" : "edd_calc_lmp", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/edd_calc_lmp" + }, { + "name" : "edd_calc_ultrasound", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/edd_calc_ultrasound" + }, { + "name" : "edd_calc_lmp_formatted", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/edd_calc_lmp_formatted" + }, { + "name" : "edd_calc_ultrasound_formatted", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/edd_calc_ultrasound_formatted" + }, { + "name" : "lmp_calc_edd", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/lmp_calc_edd" + }, { + "name" : "lmp_calc_ultrasound", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/lmp_calc_ultrasound" + }, { + "name" : "lmp_calc_edd_formatted", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/lmp_calc_edd_formatted" + }, { + "name" : "lmp_calc_ultrasound_formatted", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/lmp_calc_ultrasound_formatted" + }, { + "name" : "final_edd", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/final_edd" + }, { + "name" : "final_lmp", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/final_lmp" + }, { + "name" : "ga_edd", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/ga_edd" + }, { + "name" : "ga_lmp", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/ga_lmp" + }, { + "name" : "ga_ult", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/ga_ult" + }, { + "name" : "final_edd_note", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/final_edd_note" + }, { + "name" : "final_lmp_note", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/final_lmp_note" + }, { + "name" : "final_ga", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/final_ga" + }, { + "name" : "final_ga_note", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/final_ga_note" + }, { + "name" : "vaccines", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/vaccines" + }, { + "name" : "tt1_retro", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/tt1_retro" + }, { + "name" : "tt_1_dose", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/tt_1_dose" + }, { + "name" : "tt2_retro", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/tt2_retro" + }, { + "name" : "tt_2_dose", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/tt_2_dose" + }, { + "name" : "tt3_retro", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/tt3_retro" + }, { + "name" : "tt_3_dose", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/tt_3_dose" + }, { + "name" : "tt4_retro", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/tt4_retro" + }, { + "name" : "tt_4_dose", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/tt_4_dose" + }, { + "name" : "vaccines_2", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/vaccines_2" + }, { + "name" : "tt1", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/tt1" + }, { + "name" : "tt_1_dose_today", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/tt_1_dose_today" + }, { + "name" : "tt2", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/tt2" + }, { + "name" : "tt_2_dose_today", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/tt_2_dose_today" + }, { + "name" : "tt3", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/tt3" + }, { + "name" : "tt_3_dose_today", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/tt_3_dose_today" + }, { + "name" : "tt4", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/tt4" + }, { + "name" : "tt_4_dose_today", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/tt_4_dose_today" + }, { + "name" : "tt5", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/tt5" + }, { + "name" : "tt_5_dose_today", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/tt_5_dose_today" + }, { + "name" : "instanceID", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/meta/instanceID" + } ] + } +} \ No newline at end of file diff --git a/opensrp-connector/bin/src/test/resources/form/woman_enrollment/form_submission.json b/opensrp-connector/bin/src/test/resources/form/woman_enrollment/form_submission.json new file mode 100644 index 0000000000..836ef1f491 --- /dev/null +++ b/opensrp-connector/bin/src/test/resources/form/woman_enrollment/form_submission.json @@ -0,0 +1,580 @@ +{ + "_id": "70c2c9b6fd400241fe78a328a302f798", + "_rev": "1-7039267b1d815eaa821e5345444aff6c", + "type": "FormSubmission", + "anmId": "demotest", + "instanceId": "de408c93-2ec5-40bc-a957-eaf375583e27", + "formName": "woman_enrollment", + "entityId": "69995674-bb29-4985-967a-fec8d372a475", + "clientVersion": 1459855439521, + "formDataDefinitionVersion": "1", + "formInstance": { + "form_data_definition_version": "1", + "form": { + "bind_type": "pkwoman", + "default_bind_path": "/model/instance/Woman_TT_Enrollment_Form/", + "fields": [ + { + "name": "id", + "value": "69995674-bb29-4985-967a-fec8d372a475", + "source": "pkwoman.id" + }, + { + "name": "provider_uc", + "value": "Zaman Town", + "source": "pkwoman.provider_uc" + }, + { + "name": "provider_town", + "value": "Korangi", + "source": "pkwoman.provider_town" + }, + { + "name": "provider_city", + "value": "Karachi", + "source": "pkwoman.provider_city" + }, + { + "name": "provider_province", + "value": "Sindh", + "source": "pkwoman.provider_province" + }, + { + "name": "provider_id", + "value": "demotest", + "source": "pkwoman.provider_id" + }, + { + "name": "provider_location_id", + "value": "Homeopathic Center", + "source": "pkwoman.provider_location_id" + }, + { + "name": "existing_program_client_id", + "value": "14608844", + "source": "pkwoman.existing_program_client_id" + }, + { + "name": "provider_location_name", + "value": "Homeopathic Center", + "source": "pkwoman.provider_location_name" + }, + { + "name": "gender", + "value": "female", + "source": "pkwoman.gender" + }, + { + "name": "provider_location_note", + "value": "", + "source": "pkwoman.provider_location_note" + }, + { + "name": "start", + "value": "2016-04-05 16:21:32", + "source": "pkwoman.start" + }, + { + "name": "end", + "value": "2016-04-05 16:23:59", + "source": "pkwoman.end" + }, + { + "name": "today", + "value": "2016-04-05", + "source": "pkwoman.today" + }, + { + "name": "deviceid", + "value": "Error: could not determine deviceID", + "source": "pkwoman.deviceid" + }, + { + "name": "subscriberid", + "value": "no subscriberid property in enketo", + "source": "pkwoman.subscriberid" + }, + { + "name": "simserial", + "value": "no simserial property in enketo", + "source": "pkwoman.simserial" + }, + { + "name": "phonenumber", + "value": "no phonenumber property in enketo", + "source": "pkwoman.phonenumber" + }, + { + "name": "client_reg_date", + "value": "2016-04-05", + "source": "pkwoman.client_reg_date" + }, + { + "name": "program_client_id", + "value": "14608844", + "source": "pkwoman.program_client_id" + }, + { + "name": "epi_card_number", + "value": "20160003", + "source": "pkwoman.epi_card_number" + }, + { + "name": "first_name", + "value": "barsaat", + "source": "pkwoman.first_name" + }, + { + "name": "birth_date_known", + "value": "yes", + "source": "pkwoman.birth_date_known" + }, + { + "name": "birth_date", + "value": "1979-04-05", + "source": "pkwoman.birth_date" + }, + { + "name": "age", + "value": "", + "source": "pkwoman.age" + }, + { + "name": "calc_age", + "value": "37", + "source": "pkwoman.calc_age" + }, + { + "name": "calc_dob", + "value": "Invalid Date", + "source": "pkwoman.calc_dob" + }, + { + "name": "dob", + "value": "1979-04-05", + "source": "pkwoman.dob" + }, + { + "name": "calc_dob_estimated", + "value": "0", + "source": "pkwoman.calc_dob_estimated" + }, + { + "name": "calc_age_confirm", + "value": "37", + "source": "pkwoman.calc_age_confirm" + }, + { + "name": "birth_date_note", + "value": "", + "source": "pkwoman.birth_date_note" + }, + { + "name": "note_age", + "source": "pkwoman.note_age" + }, + { + "name": "gender1", + "value": "female", + "source": "pkwoman.gender1" + }, + { + "name": "father_name", + "value": "samandar", + "source": "pkwoman.father_name" + }, + { + "name": "marriage", + "value": "yes", + "source": "pkwoman.marriage" + }, + { + "name": "husband_name", + "value": "badal", + "source": "pkwoman.husband_name" + }, + { + "name": "last_name", + "value": "badal", + "source": "pkwoman.last_name" + }, + { + "name": "ethnicity", + "value": "sindhi", + "source": "pkwoman.ethnicity" + }, + { + "name": "ethnicity_other", + "source": "pkwoman.ethnicity_other" + }, + { + "name": "province", + "value": "sindh", + "source": "pkwoman.province" + }, + { + "name": "city_village", + "value": "karachi", + "source": "pkwoman.city_village" + }, + { + "name": "town", + "value": "liaquatabad", + "source": "pkwoman.town" + }, + { + "name": "union_council", + "value": "sharifabad", + "source": "pkwoman.union_council" + }, + { + "name": "house_number", + "value": "6h", + "source": "pkwoman.house_number" + }, + { + "name": "street", + "value": "mohalla", + "source": "pkwoman.street" + }, + { + "name": "landmark", + "value": "nishaani", + "source": "pkwoman.landmark" + }, + { + "name": "provincename", + "value": "Sindh", + "source": "pkwoman.provincename" + }, + { + "name": "city_villagename", + "value": "Karachi", + "source": "pkwoman.city_villagename" + }, + { + "name": "townname", + "value": "Liaquatabad", + "source": "pkwoman.townname" + }, + { + "name": "union_councilname", + "value": "Sharifabad", + "source": "pkwoman.union_councilname" + }, + { + "name": "address", + "value": "", + "source": "pkwoman.address" + }, + { + "name": "centre_gps", + "value": "24.86391 67.07603 0 40.5", + "source": "pkwoman.centre_gps" + }, + { + "name": "pregnant", + "value": "no", + "source": "pkwoman.pregnant" + }, + { + "name": "edd_lmp", + "source": "pkwoman.edd_lmp" + }, + { + "name": "edd", + "value": "", + "source": "pkwoman.edd" + }, + { + "name": "lmp", + "value": "", + "source": "pkwoman.lmp" + }, + { + "name": "ultrasound_date", + "source": "pkwoman.ultrasound_date" + }, + { + "name": "ultrasound_weeks", + "value": "", + "source": "pkwoman.ultrasound_weeks" + }, + { + "name": "edd_calc_lmp", + "value": "Invalid Date", + "source": "pkwoman.edd_calc_lmp" + }, + { + "name": "edd_calc_ultrasound", + "value": "Invalid Date", + "source": "pkwoman.edd_calc_ultrasound" + }, + { + "name": "edd_calc_lmp_formatted", + "value": "Invalid Date", + "source": "pkwoman.edd_calc_lmp_formatted" + }, + { + "name": "edd_calc_ultrasound_formatted", + "value": "Invalid Date", + "source": "pkwoman.edd_calc_ultrasound_formatted" + }, + { + "name": "lmp_calc_edd", + "value": "Invalid Date", + "source": "pkwoman.lmp_calc_edd" + }, + { + "name": "lmp_calc_ultrasound", + "value": "Invalid Date", + "source": "pkwoman.lmp_calc_ultrasound" + }, + { + "name": "lmp_calc_edd_formatted", + "value": "Invalid Date", + "source": "pkwoman.lmp_calc_edd_formatted" + }, + { + "name": "lmp_calc_ultrasound_formatted", + "value": "Invalid Date", + "source": "pkwoman.lmp_calc_ultrasound_formatted" + }, + { + "name": "final_edd", + "source": "pkwoman.final_edd" + }, + { + "name": "final_lmp", + "source": "pkwoman.final_lmp" + }, + { + "name": "ga_edd", + "value": "NaN", + "source": "pkwoman.ga_edd" + }, + { + "name": "ga_lmp", + "value": "NaN", + "source": "pkwoman.ga_lmp" + }, + { + "name": "ga_ult", + "value": "NaN", + "source": "pkwoman.ga_ult" + }, + { + "name": "final_edd_note", + "value": "", + "source": "pkwoman.final_edd_note" + }, + { + "name": "final_lmp_note", + "value": "", + "source": "pkwoman.final_lmp_note" + }, + { + "name": "final_ga", + "source": "pkwoman.final_ga" + }, + { + "name": "final_ga_note", + "value": "", + "source": "pkwoman.final_ga_note" + }, + { + "name": "vaccines", + "value": "TT1 TT2", + "source": "pkwoman.vaccines" + }, + { + "name": "tt1_retro", + "value": "2015-09-05", + "source": "pkwoman.tt1_retro" + }, + { + "name": "tt_1_dose", + "value": "1", + "source": "pkwoman.tt_1_dose" + }, + { + "name": "tt2_retro", + "value": "2015-10-05", + "source": "pkwoman.tt2_retro" + }, + { + "name": "tt_2_dose", + "value": "2", + "source": "pkwoman.tt_2_dose" + }, + { + "name": "tt3_retro", + "source": "pkwoman.tt3_retro" + }, + { + "name": "tt_3_dose", + "source": "pkwoman.tt_3_dose" + }, + { + "name": "tt4_retro", + "source": "pkwoman.tt4_retro" + }, + { + "name": "tt_4_dose", + "source": "pkwoman.tt_4_dose" + }, + { + "name": "vaccines_2", + "value": "TT3", + "source": "pkwoman.vaccines_2" + }, + { + "name": "tt1", + "source": "pkwoman.tt1" + }, + { + "name": "tt_1_dose_today", + "source": "pkwoman.tt_1_dose_today" + }, + { + "name": "tt2", + "source": "pkwoman.tt2" + }, + { + "name": "tt_2_dose_today", + "source": "pkwoman.tt_2_dose_today" + }, + { + "name": "tt3", + "value": "2016-04-05", + "source": "pkwoman.tt3" + }, + { + "name": "tt_3_dose_today", + "value": "3", + "source": "pkwoman.tt_3_dose_today" + }, + { + "name": "tt4", + "source": "pkwoman.tt4" + }, + { + "name": "tt_4_dose_today", + "source": "pkwoman.tt_4_dose_today" + }, + { + "name": "tt5", + "source": "pkwoman.tt5" + }, + { + "name": "tt_5_dose_today", + "source": "pkwoman.tt_5_dose_today" + }, + { + "name": "instanceID", + "value": "uuid:700c6ebf-0e02-4ac7-995d-0086c8f782e5", + "source": "pkwoman.instanceID" + } + ], + "fieldsAsMap": { + "lmp_calc_ultrasound_formatted": "Invalid Date", + "tt_2_dose": "2", + "lmp_calc_ultrasound": "Invalid Date", + "provider_id": "demotest", + "instanceID": "uuid:700c6ebf-0e02-4ac7-995d-0086c8f782e5", + "street": "mohalla", + "ga_ult": "NaN", + "gender1": "female", + "father_name": "samandar", + "deviceid": "Error: could not determine deviceID", + "client_reg_date": "2016-04-05", + "townname": "Liaquatabad", + "lmp_calc_edd": "Invalid Date", + "first_name": "barsaat", + "final_ga": null, + "age": "", + "province": "sindh", + "gender": "female", + "provider_province": "Sindh", + "provider_location_id": "Homeopathic Center", + "calc_age_confirm": "37", + "simserial": "no simserial property in enketo", + "phonenumber": "no phonenumber property in enketo", + "tt_1_dose": "1", + "birth_date": "1979-04-05", + "provider_uc": "Zaman Town", + "tt_3_dose_today": "3", + "tt_5_dose_today": null, + "edd_lmp": null, + "provider_city": "Karachi", + "provider_location_note": "", + "tt5": null, + "tt4": null, + "landmark": "nishaani", + "city_village": "karachi", + "house_number": "6h", + "subscriberid": "no subscriberid property in enketo", + "tt1": null, + "start": "2016-04-05 16:21:32", + "tt3": "2016-04-05", + "tt2": null, + "pregnant": "no", + "last_name": "badal", + "ga_lmp": "NaN", + "town": "liaquatabad", + "epi_card_number": "20160003", + "vaccines": "TT1 TT2", + "program_client_id": "14608844", + "edd": "", + "today": "2016-04-05", + "birth_date_note": "", + "city_villagename": "Karachi", + "final_ga_note": "", + "union_council": "sharifabad", + "id": "69995674-bb29-4985-967a-fec8d372a475", + "ethnicity_other": null, + "husband_name": "badal", + "provincename": "Sindh", + "ga_edd": "NaN", + "note_age": null, + "final_lmp": null, + "tt3_retro": null, + "birth_date_known": "yes", + "tt_1_dose_today": null, + "final_edd": null, + "edd_calc_ultrasound": "Invalid Date", + "ultrasound_weeks": "", + "end": "2016-04-05 16:23:59", + "tt_4_dose": null, + "tt_3_dose": null, + "tt2_retro": "2015-10-05", + "edd_calc_ultrasound_formatted": "Invalid Date", + "lmp": "", + "provider_location_name": "Homeopathic Center", + "tt_4_dose_today": null, + "union_councilname": "Sharifabad", + "final_lmp_note": "", + "ultrasound_date": null, + "tt1_retro": "2015-09-05", + "calc_dob": "Invalid Date", + "existing_program_client_id": "14608844", + "marriage": "yes", + "vaccines_2": "TT3", + "calc_age": "37", + "tt_2_dose_today": null, + "edd_calc_lmp": "Invalid Date", + "edd_calc_lmp_formatted": "Invalid Date", + "centre_gps": "24.86391 67.07603 0 40.5", + "tt4_retro": null, + "address": "", + "dob": "1979-04-05", + "calc_dob_estimated": "0", + "provider_town": "Korangi", + "lmp_calc_edd_formatted": "Invalid Date", + "final_edd_note": "", + "ethnicity": "sindhi" + } + } + }, + "serverVersion": 1459855677842 +} \ No newline at end of file diff --git a/opensrp-connector/bin/src/test/resources/form/woman_enrollment/model.xml b/opensrp-connector/bin/src/test/resources/form/woman_enrollment/model.xml new file mode 100644 index 0000000000..7da9aa806c --- /dev/null +++ b/opensrp-connector/bin/src/test/resources/form/woman_enrollment/model.xml @@ -0,0 +1,1659 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + yes + + + + + + + + + + female + + + + + + + ${provider_province} + ${provider_city} + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + static_instance-provinces-0 + kpk + + + static_instance-provinces-1 + sindh + + + static_instance-provinces-2 + balochistan + + + static_instance-provinces-3 + punjab + + + static_instance-provinces-4 + gilgit_baltistan + + + static_instance-provinces-5 + kashmir + + + static_instance-provinces-6 + fata + + + static_instance-provinces-7 + out_of_country + + + + + + + static_instance-ucs-0 + sindh + karachi + korangi + bilal_colony + + + static_instance-ucs-1 + sindh + karachi + korangi + nasir_colony + + + static_instance-ucs-2 + sindh + karachi + korangi + chakra_goth + + + static_instance-ucs-3 + sindh + karachi + korangi + mustafa_taj_colony + + + static_instance-ucs-4 + sindh + karachi + korangi + hundred_quarters + + + static_instance-ucs-5 + sindh + karachi + korangi + gulzar_colony + + + static_instance-ucs-6 + sindh + karachi + korangi + korangi_sector_33 + + + static_instance-ucs-7 + sindh + karachi + korangi + zaman_town + + + static_instance-ucs-8 + sindh + karachi + korangi + hasrat_mohani_colony + + + static_instance-ucs-9 + sindh + karachi + baldia + gulshan_e_ghazi + + + static_instance-ucs-10 + sindh + karachi + baldia + ittehad_town + + + static_instance-ucs-11 + sindh + karachi + baldia + islam_nagar + + + static_instance-ucs-12 + sindh + karachi + baldia + nai_abadi + + + static_instance-ucs-13 + sindh + karachi + baldia + saeedabad + + + static_instance-ucs-14 + sindh + karachi + baldia + muslim_mujahid_colony + + + static_instance-ucs-15 + sindh + karachi + baldia + muhajir_camp + + + static_instance-ucs-16 + sindh + karachi + baldia + rasheedabad + + + static_instance-ucs-17 + sindh + karachi + bin_qasim + ibrahim_hyderi + + + static_instance-ucs-18 + sindh + karachi + bin_qasim + rehri + + + static_instance-ucs-19 + sindh + karachi + bin_qasim + cattle_colony + + + static_instance-ucs-20 + sindh + karachi + bin_qasim + qaidabad + + + static_instance-ucs-21 + sindh + karachi + bin_qasim + landhi_colony + + + static_instance-ucs-22 + sindh + karachi + bin_qasim + gulshan_e_hadeed + + + static_instance-ucs-23 + sindh + karachi + bin_qasim + gaghar + + + static_instance-ucs-24 + sindh + karachi + gadap + murad_memon_goth + + + static_instance-ucs-25 + sindh + karachi + gadap + darsano_chana + + + static_instance-ucs-26 + sindh + karachi + gadap + gujro + + + static_instance-ucs-27 + sindh + karachi + gadap + songal + + + static_instance-ucs-28 + sindh + karachi + gadap + maymarabad + + + static_instance-ucs-29 + sindh + karachi + gadap + yousuf_goth + + + static_instance-ucs-30 + sindh + karachi + gadap + manghopir + + + static_instance-ucs-31 + sindh + karachi + gulberg + azizabad + + + static_instance-ucs-32 + sindh + karachi + gulberg + karimabad + + + static_instance-ucs-33 + sindh + karachi + gulberg + aisha_manzil + + + static_instance-ucs-34 + sindh + karachi + gulberg + ancholi + + + static_instance-ucs-35 + sindh + karachi + gulberg + naseerabad + + + static_instance-ucs-36 + sindh + karachi + gulberg + yaseenabad + + + static_instance-ucs-37 + sindh + karachi + gulberg + water_pump + + + static_instance-ucs-38 + sindh + karachi + gulberg + shafiq_mill_colony + + + static_instance-ucs-39 + sindh + karachi + gulshan + delhi_mercantile_society + + + static_instance-ucs-40 + sindh + karachi + gulshan + civic_centre + + + static_instance-ucs-41 + sindh + karachi + gulshan + pir_ilahi_buksh_colony + + + static_instance-ucs-42 + sindh + karachi + gulshan + essa_nagri + + + static_instance-ucs-43 + sindh + karachi + gulshan + gulshan_e_iqbal + + + static_instance-ucs-44 + sindh + karachi + gulshan + gillani_railway_station + + + static_instance-ucs-45 + sindh + karachi + gulshan + shanti_nagar + + + static_instance-ucs-46 + sindh + karachi + gulshan + jamali_colony + + + static_instance-ucs-47 + sindh + karachi + gulshan + gulshan_e_iqbal_ii + + + static_instance-ucs-48 + sindh + karachi + gulshan + pehlwan_goth + + + static_instance-ucs-49 + sindh + karachi + gulshan + matrovil_colony + + + static_instance-ucs-50 + sindh + karachi + gulshan + gulzar_e_hijri + + + static_instance-ucs-51 + sindh + karachi + gulshan + safooran_goth + + + static_instance-ucs-52 + sindh + karachi + jamshed + akhtar_colony + + + static_instance-ucs-53 + sindh + karachi + jamshed + manzoor_colony + + + static_instance-ucs-54 + sindh + karachi + jamshed + azam_basti + + + static_instance-ucs-55 + sindh + karachi + jamshed + chanesar_goth + + + static_instance-ucs-56 + sindh + karachi + jamshed + mahmudabad + + + static_instance-ucs-57 + sindh + karachi + jamshed + pechs + + + static_instance-ucs-58 + sindh + karachi + jamshed + pechs_ii + + + static_instance-ucs-59 + sindh + karachi + jamshed + jut_line + + + static_instance-ucs-60 + sindh + karachi + jamshed + central_jacob_lines + + + static_instance-ucs-61 + sindh + karachi + jamshed + jamshed_quarters + + + static_instance-ucs-62 + sindh + karachi + jamshed + garden_east + + + static_instance-ucs-63 + sindh + karachi + jamshed + soldier_bazar + + + static_instance-ucs-64 + sindh + karachi + jamshed + pakistan_quarters + + + static_instance-ucs-65 + sindh + karachi + kiamari + bhutta_village + + + static_instance-ucs-66 + sindh + karachi + kiamari + sultanabad + + + static_instance-ucs-67 + sindh + karachi + kiamari + kiamari_uc + + + static_instance-ucs-68 + sindh + karachi + kiamari + baba_bhit + + + static_instance-ucs-69 + sindh + karachi + kiamari + machar_colony + + + static_instance-ucs-70 + sindh + karachi + kiamari + maripur + + + static_instance-ucs-71 + sindh + karachi + kiamari + shershah + + + static_instance-ucs-72 + sindh + karachi + kiamari + gabo_pat + + + static_instance-ucs-73 + sindh + karachi + landhi + muzafarabad + + + static_instance-ucs-74 + sindh + karachi + landhi + muslimabad + + + static_instance-ucs-75 + sindh + karachi + landhi + dawood_chowrangi + + + static_instance-ucs-76 + sindh + karachi + landhi + moinabad + + + static_instance-ucs-77 + sindh + karachi + landhi + sharafi_goth + + + static_instance-ucs-78 + sindh + karachi + landhi + bhutto_nagar + + + static_instance-ucs-79 + sindh + karachi + landhi + khawaja_ajmeer_colony + + + static_instance-ucs-80 + sindh + karachi + landhi + landhi_uc + + + static_instance-ucs-81 + sindh + karachi + landhi + awami_colony + + + static_instance-ucs-82 + sindh + karachi + landhi + burmee_colony + + + static_instance-ucs-83 + sindh + karachi + landhi + korangi_uc + + + static_instance-ucs-84 + sindh + karachi + landhi + sherabad + + + static_instance-ucs-85 + sindh + karachi + liaquatabad + rizvia_society + + + static_instance-ucs-86 + sindh + karachi + liaquatabad + firdous_colony + + + static_instance-ucs-87 + sindh + karachi + liaquatabad + super_market + + + static_instance-ucs-88 + sindh + karachi + liaquatabad + dak_khana + + + static_instance-ucs-89 + sindh + karachi + liaquatabad + qasimabad + + + static_instance-ucs-90 + sindh + karachi + liaquatabad + bandhani_colony + + + static_instance-ucs-91 + sindh + karachi + liaquatabad + sharifabad + + + static_instance-ucs-92 + sindh + karachi + liaquatabad + commercial_area + + + static_instance-ucs-93 + sindh + karachi + liaquatabad + mujahid_colony + + + static_instance-ucs-94 + sindh + karachi + liaquatabad + nazimabad + + + static_instance-ucs-95 + sindh + karachi + liaquatabad + abbasi_shaheed + + + static_instance-ucs-96 + sindh + karachi + lyari + agra_taj_colony + + + static_instance-ucs-97 + sindh + karachi + lyari + daryaabad + + + static_instance-ucs-98 + sindh + karachi + lyari + nawabad + + + static_instance-ucs-99 + sindh + karachi + lyari + khada_memon_society + + + static_instance-ucs-100 + sindh + karachi + lyari + baghdadi + + + static_instance-ucs-101 + sindh + karachi + lyari + shah_baig_line + + + static_instance-ucs-102 + sindh + karachi + lyari + bihar_colony + + + static_instance-ucs-103 + sindh + karachi + lyari + ragiwara + + + static_instance-ucs-104 + sindh + karachi + lyari + singo_line + + + static_instance-ucs-105 + sindh + karachi + lyari + chakiwara + + + static_instance-ucs-106 + sindh + karachi + lyari + allama_iqbal_colony + + + static_instance-ucs-107 + sindh + karachi + malir + model_colony + + + static_instance-ucs-108 + sindh + karachi + malir + kala_board + + + static_instance-ucs-109 + sindh + karachi + malir + saudabad + + + static_instance-ucs-110 + sindh + karachi + malir + khokhra_par + + + static_instance-ucs-111 + sindh + karachi + malir + jafar_e_tayyar + + + static_instance-ucs-112 + sindh + karachi + malir + gharibabad + + + static_instance-ucs-113 + sindh + karachi + malir + ghazi_brohi_goth + + + static_instance-ucs-114 + sindh + karachi + new_karachi + kalyana + + + static_instance-ucs-115 + sindh + karachi + new_karachi + sir_syed_colony + + + static_instance-ucs-116 + sindh + karachi + new_karachi + fatima_jinnah_colony + + + static_instance-ucs-117 + sindh + karachi + new_karachi + godhra + + + static_instance-ucs-118 + sindh + karachi + new_karachi + abu_zar_ghaffari + + + static_instance-ucs-119 + sindh + karachi + new_karachi + hakim_ahsan + + + static_instance-ucs-120 + sindh + karachi + new_karachi + madina_colony + + + static_instance-ucs-121 + sindh + karachi + new_karachi + faisal_colony + + + static_instance-ucs-122 + sindh + karachi + new_karachi + khamiso_goth + + + static_instance-ucs-123 + sindh + karachi + new_karachi + mustufa_colony + + + static_instance-ucs-124 + sindh + karachi + new_karachi + khawaja_ajmeer_nagri + + + static_instance-ucs-125 + sindh + karachi + new_karachi + gulshan_e_saeed + + + static_instance-ucs-126 + sindh + karachi + new_karachi + shah_nawaz_bhutto_colony + + + static_instance-ucs-127 + sindh + karachi + north_nazimabad + paposh_nagar + + + static_instance-ucs-128 + sindh + karachi + north_nazimabad + pahar_ganj + + + static_instance-ucs-129 + sindh + karachi + north_nazimabad + khandu_goth + + + static_instance-ucs-130 + sindh + karachi + north_nazimabad + hyderi + + + static_instance-ucs-131 + sindh + karachi + north_nazimabad + sakhi_hassan + + + static_instance-ucs-132 + sindh + karachi + north_nazimabad + farooq_e_azam + + + static_instance-ucs-133 + sindh + karachi + north_nazimabad + nusrat_bhutto_colony + + + static_instance-ucs-134 + sindh + karachi + north_nazimabad + shadman_town + + + static_instance-ucs-135 + sindh + karachi + north_nazimabad + buffer_zone + + + static_instance-ucs-136 + sindh + karachi + north_nazimabad + buffer_zone_ii + + + static_instance-ucs-137 + sindh + karachi + orangi + mominabad + + + static_instance-ucs-138 + sindh + karachi + orangi + haryana_colony + + + static_instance-ucs-139 + sindh + karachi + orangi + hanifabad + + + static_instance-ucs-140 + sindh + karachi + orangi + mohammad_nagar + + + static_instance-ucs-141 + sindh + karachi + orangi + madina_colony_orangi + + + static_instance-ucs-142 + sindh + karachi + orangi + ghaziabad + + + static_instance-ucs-143 + sindh + karachi + orangi + chisti_nagar + + + static_instance-ucs-144 + sindh + karachi + orangi + bilal_colony_orangi + + + static_instance-ucs-145 + sindh + karachi + orangi + iqbal_baloch_colony + + + static_instance-ucs-146 + sindh + karachi + orangi + ghabool_town + + + static_instance-ucs-147 + sindh + karachi + orangi + data_nagar + + + static_instance-ucs-148 + sindh + karachi + orangi + mujahidabad + + + static_instance-ucs-149 + sindh + karachi + orangi + baloch_goth + + + static_instance-ucs-150 + sindh + karachi + saddar + old_haji_camp + + + static_instance-ucs-151 + sindh + karachi + saddar + garden + + + static_instance-ucs-152 + sindh + karachi + saddar + kharadar + + + static_instance-ucs-153 + sindh + karachi + saddar + city_railway_colony + + + static_instance-ucs-154 + sindh + karachi + saddar + nanak_wara + + + static_instance-ucs-155 + sindh + karachi + saddar + gazdarabad + + + static_instance-ucs-156 + sindh + karachi + saddar + millat_nagar_islam_pura + + + static_instance-ucs-157 + sindh + karachi + saddar + saddar_uc + + + static_instance-ucs-158 + sindh + karachi + saddar + civil_line + + + static_instance-ucs-159 + sindh + karachi + saddar + clifton + + + static_instance-ucs-160 + sindh + karachi + saddar + kehkashan + + + static_instance-ucs-161 + sindh + karachi + shah_faisal + natha_khan_goth + + + static_instance-ucs-162 + sindh + karachi + shah_faisal + pak_sadat_colony + + + static_instance-ucs-163 + sindh + karachi + shah_faisal + drigh_colony + + + static_instance-ucs-164 + sindh + karachi + shah_faisal + raita_plot + + + static_instance-ucs-165 + sindh + karachi + shah_faisal + moria_khan_goth + + + static_instance-ucs-166 + sindh + karachi + shah_faisal + rafa_e_aam_society + + + static_instance-ucs-167 + sindh + karachi + shah_faisal + al_falah_society + + + static_instance-ucs-168 + sindh + karachi + site + pak_colony + + + static_instance-ucs-169 + sindh + karachi + site + old_golimar + + + static_instance-ucs-170 + sindh + karachi + site + jahanabad + + + static_instance-ucs-171 + sindh + karachi + site + metrovil + + + static_instance-ucs-172 + sindh + karachi + site + bhawani_chali + + + static_instance-ucs-173 + sindh + karachi + site + frontier_colony + + + static_instance-ucs-174 + sindh + karachi + site + banaras_colony + + + static_instance-ucs-175 + sindh + karachi + site + qasba_colony + + + static_instance-ucs-176 + sindh + karachi + site + islamia_colony + + + static_instance-ucs-177 + na + na + na + other + + + static_instance-ucs-178 + na + na + na + not_applicable + + + + + + + static_instance-gender-0 + male + + + static_instance-gender-1 + female + + + static_instance-gender-2 + transgender + + + + + + + static_instance-vaccines-0 + TT1 + + + static_instance-vaccines-1 + TT2 + + + static_instance-vaccines-2 + TT3 + + + static_instance-vaccines-3 + TT4 + + + static_instance-vaccines-4 + TT5 + + + + + + + static_instance-towns-0 + sindh + karachi + korangi + + + static_instance-towns-1 + sindh + karachi + landhi + + + static_instance-towns-2 + sindh + karachi + baldia + + + static_instance-towns-3 + sindh + karachi + bin_qasim + + + static_instance-towns-4 + sindh + karachi + gadap + + + static_instance-towns-5 + sindh + karachi + gulberg + + + static_instance-towns-6 + sindh + karachi + gulshan + + + static_instance-towns-7 + sindh + karachi + jamshed + + + static_instance-towns-8 + sindh + karachi + kiamari + + + static_instance-towns-9 + sindh + karachi + liaquatabad + + + static_instance-towns-10 + sindh + karachi + lyari + + + static_instance-towns-11 + sindh + karachi + malir + + + static_instance-towns-12 + sindh + karachi + new_karachi + + + static_instance-towns-13 + sindh + karachi + north_nazimabad + + + static_instance-towns-14 + sindh + karachi + orangi + + + static_instance-towns-15 + sindh + karachi + saddar + + + static_instance-towns-16 + sindh + karachi + shah_faisal + + + static_instance-towns-17 + sindh + karachi + site + + + static_instance-towns-18 + na + na + other + + + static_instance-towns-19 + na + na + not_applicable + + + + + + + static_instance-cities-0 + sindh + karachi + + + static_instance-cities-1 + punjab + hafizabad + + + static_instance-cities-2 + punjab + muzaffargarh + + + static_instance-cities-3 + na + other + + + static_instance-cities-4 + na + not_applicable + + + + + + + static_instance-edd_lmp-0 + edd + + + static_instance-edd_lmp-1 + lmp + + + static_instance-edd_lmp-2 + ultrasound + + + static_instance-edd_lmp-3 + none + + + + + + + static_instance-ethnicity-0 + punjabi + + + static_instance-ethnicity-1 + pushtuns + + + static_instance-ethnicity-2 + sindhi + + + static_instance-ethnicity-3 + saraiki + + + static_instance-ethnicity-4 + muhajir + + + static_instance-ethnicity-5 + balochi + + + static_instance-ethnicity-6 + other + + + + + + + static_instance-yes_no-0 + yes + + + static_instance-yes_no-1 + no + + + + diff --git a/opensrp-connector/bin/src/test/resources/form/woman_followup/form.json b/opensrp-connector/bin/src/test/resources/form/woman_followup/form.json new file mode 100644 index 0000000000..73ab628765 --- /dev/null +++ b/opensrp-connector/bin/src/test/resources/form/woman_followup/form.json @@ -0,0 +1 @@ +{"name":"Woman_TT_Followup_Form","title":"خواتین فالواپ رجسٹر برائے ٹیکاجات - Woman TT Follow Up Form","sms_keyword":"woman_tt_followup_form","default_language":"English","choices":{"provinces":[{"name":"kpk","label":{"Urdu":"خیبر پختون خواہ","English":"Khyber Pakhtunkhwa","Roman Urdu":"Khyber Pakhtunkhwa"}},{"name":"sindh","label":{"Urdu":"سندھ","English":"Sindh","Roman Urdu":"Sindh"}},{"name":"balochistan","label":{"Urdu":"بلوچستان","English":"Balochistan","Roman Urdu":"Balochistan"}},{"name":"punjab","label":{"Urdu":"پنجاب","English":"Punjab","Roman Urdu":"Punjab"}},{"name":"gilgit_baltistan","label":{"Urdu":"گلگت بلتستان","English":"Gilgit Baltistan","Roman Urdu":"Gilgit Baltistan"}},{"name":"kashmir","label":{"Urdu":"کشمیر","English":"Kashmir","Roman Urdu":"Kashmir"}},{"name":"fata","label":{"Urdu":"فاٹا","English":"FATA","Roman Urdu":"FATA"}},{"name":"out_of_country","label":{"Urdu":"ملک سے باہر","English":"Out of Country","Roman Urdu":"Mulk se baahir"}}],"ucs":[{"province":"sindh","city":"karachi","town":"korangi","name":"bilal_colony","label":{"Urdu":"بلال کالونی","Roman Urdu":"Bilal Colony","English":"Bilal Colony"}},{"province":"sindh","city":"karachi","town":"korangi","name":"nasir_colony","label":{"Urdu":"ناصر کالونی","Roman Urdu":"Nasir Colony","English":"Nasir Colony"}},{"province":"sindh","city":"karachi","town":"korangi","name":"chakra_goth","label":{"Urdu":"چکرا گوٹھ","Roman Urdu":"Chakra Goth","English":"Chakra Goth"}},{"province":"sindh","city":"karachi","town":"korangi","name":"mustafa_taj_colony","label":{"Urdu":"مصطفی تاج کالونی","Roman Urdu":"Mustafa Taj Colony","English":"Mustafa Taj Colony"}},{"province":"sindh","city":"karachi","town":"korangi","name":"hundred_quarters","label":{"Urdu":"ہنڈریڈ کوارٹر","Roman Urdu":"Hundred Quarters","English":"Hundred Quarters"}},{"province":"sindh","city":"karachi","town":"korangi","name":"gulzar_colony","label":{"Urdu":"گلزار کالونی","Roman Urdu":"Gulzar Colony","English":"Gulzar Colony"}},{"province":"sindh","city":"karachi","town":"korangi","name":"korangi_sector_33","label":{"Urdu":"کورنگی سیکٹر 33","Roman Urdu":"Korangi Sector 33","English":"Korangi Sector 33"}},{"province":"sindh","city":"karachi","town":"korangi","name":"zaman_town","label":{"Urdu":"زمان ٹاوَن","Roman Urdu":"Zaman Town","English":"Zaman Town"}},{"province":"sindh","city":"karachi","town":"korangi","name":"hasrat_mohani_colony","label":{"Urdu":"حسرت موہانی کالونی","Roman Urdu":"Hasrat Mohani Colony","English":"Hasrat Mohani Colony"}},{"province":"sindh","city":"karachi","town":"baldia","name":"gulshan_e_ghazi","label":{"Urdu":"گلشن غازی","Roman Urdu":"Gulshan-e-Ghazi","English":"Gulshan-e-Ghazi"}},{"province":"sindh","city":"karachi","town":"baldia","name":"ittehad_town","label":{"Urdu":"اتحاد ٹاوَن","Roman Urdu":"Ittehad Town","English":"Ittehad Town"}},{"province":"sindh","city":"karachi","town":"baldia","name":"islam_nagar","label":{"Urdu":"اسلام نگر","Roman Urdu":"Islam Nagar","English":"Islam Nagar"}},{"province":"sindh","city":"karachi","town":"baldia","name":"nai_abadi","label":{"Urdu":"نئی آبادی","Roman Urdu":"Nai Abadi","English":"Nai Abadi"}},{"province":"sindh","city":"karachi","town":"baldia","name":"saeedabad","label":{"Urdu":"سعید آباد","Roman Urdu":"Saeedabad","English":"Saeedabad"}},{"province":"sindh","city":"karachi","town":"baldia","name":"muslim_mujahid_colony","label":{"Urdu":"مسلم مجاہد کالونی","Roman Urdu":"Muslim Mujahid Colony","English":"Muslim Mujahid Colony"}},{"province":"sindh","city":"karachi","town":"baldia","name":"muhajir_camp","label":{"Urdu":"مہاجر کیمپ","Roman Urdu":"Muhajir Camp","English":"Muhajir Camp"}},{"province":"sindh","city":"karachi","town":"baldia","name":"rasheedabad","label":{"Urdu":"رشید آباد","Roman Urdu":"Rasheedabad","English":"Rasheedabad"}},{"province":"sindh","city":"karachi","town":"bin_qasim","name":"ibrahim_hyderi","label":{"Urdu":"ابراہیم حیدری","Roman Urdu":"Ibrahim Hyderi","English":"Ibrahim Hyderi"}},{"province":"sindh","city":"karachi","town":"bin_qasim","name":"rehri","label":{"Urdu":"رہڑی","Roman Urdu":"Rehri","English":"Rehri"}},{"province":"sindh","city":"karachi","town":"bin_qasim","name":"cattle_colony","label":{"Urdu":"کیٹل کالونی","Roman Urdu":"Cattle Colony","English":"Cattle Colony"}},{"province":"sindh","city":"karachi","town":"bin_qasim","name":"qaidabad","label":{"Urdu":"قائدآباد","Roman Urdu":"Qaidabad","English":"Qaidabad"}},{"province":"sindh","city":"karachi","town":"bin_qasim","name":"landhi_colony","label":{"Urdu":"لانڈھی کالونی","Roman Urdu":"Landhi Colony","English":"Landhi Colony"}},{"province":"sindh","city":"karachi","town":"bin_qasim","name":"gulshan_e_hadeed","label":{"Urdu":"گلشن حدید","Roman Urdu":"Gulshan-e-Hadeed","English":"Gulshan-e-Hadeed"}},{"province":"sindh","city":"karachi","town":"bin_qasim","name":"gaghar","label":{"Urdu":"گگر","Roman Urdu":"Gaghar","English":"Gaghar"}},{"province":"sindh","city":"karachi","town":"gadap","name":"murad_memon_goth","label":{"Urdu":"مراد میمن گوٹھ","Roman Urdu":"Murad Memon Goth","English":"Murad Memon Goth"}},{"province":"sindh","city":"karachi","town":"gadap","name":"darsano_chana","label":{"Urdu":"درشانو شنو","Roman Urdu":"Darsano Chana","English":"Darsano Chana"}},{"province":"sindh","city":"karachi","town":"gadap","name":"gujro","label":{"Urdu":"گجرو","Roman Urdu":"Gujro","English":"Gujro"}},{"province":"sindh","city":"karachi","town":"gadap","name":"songal","label":{"Urdu":"سنگل","Roman Urdu":"Songal","English":"Songal"}},{"province":"sindh","city":"karachi","town":"gadap","name":"maymarabad","label":{"Urdu":"معمار آباد","Roman Urdu":"Maymarabad","English":"Maymarabad"}},{"province":"sindh","city":"karachi","town":"gadap","name":"yousuf_goth","label":{"Urdu":"یوسف گوٹھ","Roman Urdu":"Yousuf Goth","English":"Yousuf Goth"}},{"province":"sindh","city":"karachi","town":"gadap","name":"manghopir","label":{"Urdu":"منگھوپیر","Roman Urdu":"Manghopir","English":"Manghopir"}},{"province":"sindh","city":"karachi","town":"gulberg","name":"azizabad","label":{"Urdu":"عزیز آباد","Roman Urdu":"Azizabad","English":"Azizabad"}},{"province":"sindh","city":"karachi","town":"gulberg","name":"karimabad","label":{"Urdu":"کریم آباد","Roman Urdu":"Karimabad","English":"Karimabad"}},{"province":"sindh","city":"karachi","town":"gulberg","name":"aisha_manzil","label":{"Urdu":"عائشہ منزل","Roman Urdu":"Aisha Manzil","English":"Aisha Manzil"}},{"province":"sindh","city":"karachi","town":"gulberg","name":"ancholi","label":{"Urdu":"انچولی","Roman Urdu":"Ancholi","English":"Ancholi"}},{"province":"sindh","city":"karachi","town":"gulberg","name":"naseerabad","label":{"Urdu":"نصیرآباد","Roman Urdu":"Naseerabad","English":"Naseerabad"}},{"province":"sindh","city":"karachi","town":"gulberg","name":"yaseenabad","label":{"Urdu":"یاسین آباد","Roman Urdu":"Yaseenabad","English":"Yaseenabad"}},{"province":"sindh","city":"karachi","town":"gulberg","name":"water_pump","label":{"Urdu":"واٹرپمپ","Roman Urdu":"Water Pump","English":"Water Pump"}},{"province":"sindh","city":"karachi","town":"gulberg","name":"shafiq_mill_colony","label":{"Urdu":"شفیق مل کالونی","Roman Urdu":"Shafiq Mill Colony","English":"Shafiq Mill Colony"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"delhi_mercantile_society","label":{"Urdu":"دہلی مرچنٹائل سوسائٹی","Roman Urdu":"Delhi Mercantile Society","English":"Delhi Mercantile Society"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"civic_centre","label":{"Urdu":"سوک سینٹر","Roman Urdu":"Civic Centre","English":"Civic Centre"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"pir_ilahi_buksh_colony","label":{"Urdu":"پیر الہی بخش کالونی","Roman Urdu":"Pir Ilahi Buksh Colony","English":"Pir Ilahi Buksh Colony"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"essa_nagri","label":{"Urdu":"عیسی نگری","Roman Urdu":"Essa Nagri","English":"Essa Nagri"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"gulshan_e_iqbal","label":{"Urdu":"گلشن اقبال","Roman Urdu":"Gulshan-e-Iqbal","English":"Gulshan-e-Iqbal"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"gillani_railway_station","label":{"Urdu":"گیلانی ریلوے اسٹیشن","Roman Urdu":"Gillani Railway Station","English":"Gillani Railway Station"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"shanti_nagar","label":{"Urdu":"شانتی نگر","Roman Urdu":"Shanti Nagar","English":"Shanti Nagar"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"jamali_colony","label":{"Urdu":"جمالی کالونی","Roman Urdu":"Jamali Colony","English":"Jamali Colony"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"gulshan_e_iqbal_ii","label":{"Urdu":"گلشن اقبال 2","Roman Urdu":"Gulshan-e-Iqbal II","English":"Gulshan-e-Iqbal II"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"pehlwan_goth","label":{"Urdu":"پہلوان گوٹھ","Roman Urdu":"Pehlwan Goth","English":"Pehlwan Goth"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"matrovil_colony","label":{"Urdu":"میٹروویل کالونی","Roman Urdu":"Matrovil Colony","English":"Matrovil Colony"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"gulzar_e_hijri","label":{"Urdu":"گلزار ہجری","Roman Urdu":"Gulzar-e-Hijri","English":"Gulzar-e-Hijri"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"safooran_goth","label":{"Urdu":"صفورا گوٹھ","Roman Urdu":"Safooran Goth","English":"Safooran Goth"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"akhtar_colony","label":{"Urdu":"اختر کالونی","Roman Urdu":"Akhtar Colony","English":"Akhtar Colony"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"manzoor_colony","label":{"Urdu":"منظور کالونی","Roman Urdu":"Manzoor Colony","English":"Manzoor Colony"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"azam_basti","label":{"Urdu":"اعظم بستی","Roman Urdu":"Azam Basti","English":"Azam Basti"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"chanesar_goth","label":{"Urdu":"چنیسر گوٹھ","Roman Urdu":"Chanesar Goth","English":"Chanesar Goth"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"mahmudabad","label":{"Urdu":"محمودآباد","Roman Urdu":"Mahmudabad","English":"Mahmudabad"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"pechs","label":{"Urdu":"پی۔ای۔سی۔ایچ۔ایس","Roman Urdu":"P.E.C.H.S.","English":"P.E.C.H.S."}},{"province":"sindh","city":"karachi","town":"jamshed","name":"pechs_ii","label":{"Urdu":"پی۔ای۔سی۔ایچ۔ایس 2","Roman Urdu":"P.E.C.H.S. II","English":"P.E.C.H.S. II"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"jut_line","label":{"Urdu":"جٹ لائن","Roman Urdu":"Jut Line","English":"Jut Line"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"central_jacob_lines","label":{"Urdu":"سینٹرل جیکب لائن","Roman Urdu":"Central Jacob Lines","English":"Central Jacob Lines"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"jamshed_quarters","label":{"Urdu":"جمشید کوارٹر","Roman Urdu":"Jamshed Quarters","English":"Jamshed Quarters"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"garden_east","label":{"Urdu":"گارڈن ایسٹ","Roman Urdu":"Garden East","English":"Garden East"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"soldier_bazar","label":{"Urdu":"سولجر بازار","Roman Urdu":"Soldier Bazar","English":"Soldier Bazar"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"pakistan_quarters","label":{"Urdu":"پاکستان کوارٹر","Roman Urdu":"Pakistan Quarters","English":"Pakistan Quarters"}},{"province":"sindh","city":"karachi","town":"kiamari","name":"bhutta_village","label":{"Urdu":"بھٹا ولیج","Roman Urdu":"Bhutta Village","English":"Bhutta Village"}},{"province":"sindh","city":"karachi","town":"kiamari","name":"sultanabad","label":{"Urdu":"سلطان آباد","Roman Urdu":"Sultanabad","English":"Sultanabad"}},{"province":"sindh","city":"karachi","town":"kiamari","name":"kiamari_uc","label":{"Urdu":"کیماری یوسی","Roman Urdu":"Kiamari UC","English":"Kiamari UC"}},{"province":"sindh","city":"karachi","town":"kiamari","name":"baba_bhit","label":{"Urdu":"بابا بھٹ","Roman Urdu":"Baba Bhit","English":"Baba Bhit"}},{"province":"sindh","city":"karachi","town":"kiamari","name":"machar_colony","label":{"Urdu":"مچھر کالونی","Roman Urdu":"Machar Colony","English":"Machar Colony"}},{"province":"sindh","city":"karachi","town":"kiamari","name":"maripur","label":{"Urdu":"ماڑی پور","Roman Urdu":"Maripur","English":"Maripur"}},{"province":"sindh","city":"karachi","town":"kiamari","name":"shershah","label":{"Urdu":"شیرشاہ","Roman Urdu":"SherShah","English":"SherShah"}},{"province":"sindh","city":"karachi","town":"kiamari","name":"gabo_pat","label":{"Urdu":"گابو پٹ","Roman Urdu":"Gabo Pat","English":"Gabo Pat"}},{"province":"sindh","city":"karachi","town":"landhi","name":"muzafarabad","label":{"Urdu":"مظفرآباد","Roman Urdu":"Muzafarabad","English":"Muzafarabad"}},{"province":"sindh","city":"karachi","town":"landhi","name":"muslimabad","label":{"Urdu":"مسلم آباد","Roman Urdu":"Muslimabad","English":"Muslimabad"}},{"province":"sindh","city":"karachi","town":"landhi","name":"dawood_chowrangi","label":{"Urdu":"داوَد چورنگی","Roman Urdu":"Dawood Chowrangi","English":"Dawood Chowrangi"}},{"province":"sindh","city":"karachi","town":"landhi","name":"moinabad","label":{"Urdu":"معین آباد","Roman Urdu":"Moinabad","English":"Moinabad"}},{"province":"sindh","city":"karachi","town":"landhi","name":"sharafi_goth","label":{"Urdu":"شرافی گوٹھ","Roman Urdu":"Sharafi Goth","English":"Sharafi Goth"}},{"province":"sindh","city":"karachi","town":"landhi","name":"bhutto_nagar","label":{"Urdu":"بھٹو نگر","Roman Urdu":"Bhutto Nagar","English":"Bhutto Nagar"}},{"province":"sindh","city":"karachi","town":"landhi","name":"khawaja_ajmeer_colony","label":{"Urdu":"خواجہ اجمیر کالونی","Roman Urdu":"Khawaja Ajmeer Colony","English":"Khawaja Ajmeer Colony"}},{"province":"sindh","city":"karachi","town":"landhi","name":"landhi_uc","label":{"Urdu":"لانڈھی یوسی","Roman Urdu":"Landhi UC","English":"Landhi UC"}},{"province":"sindh","city":"karachi","town":"landhi","name":"awami_colony","label":{"Urdu":"عوامی کالونی","Roman Urdu":"Awami Colony","English":"Awami Colony"}},{"province":"sindh","city":"karachi","town":"landhi","name":"burmee_colony","label":{"Urdu":"برمی کالونی","Roman Urdu":"Burmee Colony","English":"Burmee Colony"}},{"province":"sindh","city":"karachi","town":"landhi","name":"korangi_uc","label":{"Urdu":"کورنگی یوسی","Roman Urdu":"Korangi UC","English":"Korangi UC"}},{"province":"sindh","city":"karachi","town":"landhi","name":"sherabad","label":{"Urdu":"شیرآباد","Roman Urdu":"Sherabad","English":"Sherabad"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"rizvia_society","label":{"Urdu":"رضویہ سوسائٹی","Roman Urdu":"Rizvia Society","English":"Rizvia Society"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"firdous_colony","label":{"Urdu":"فردوس کالونی","Roman Urdu":"Firdous Colony","English":"Firdous Colony"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"super_market","label":{"Urdu":"سپر مارکیٹ","Roman Urdu":"Super Market","English":"Super Market"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"dak_khana","label":{"Urdu":"دک کھانہ","Roman Urdu":"Dak Khana","English":"Dak Khana"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"qasimabad","label":{"Urdu":"قاسم آباد","Roman Urdu":"Qasimabad","English":"Qasimabad"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"bandhani_colony","label":{"Urdu":"بندھانی کالونی","Roman Urdu":"Bandhani Colony","English":"Bandhani Colony"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"sharifabad","label":{"Urdu":"شریف آباد","Roman Urdu":"Sharifabad","English":"Sharifabad"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"commercial_area","label":{"Urdu":"کمرشل ایریا","Roman Urdu":"Commercial Area","English":"Commercial Area"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"mujahid_colony","label":{"Urdu":"مجاہد کالونی","Roman Urdu":"Mujahid Colony","English":"Mujahid Colony"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"nazimabad","label":{"Urdu":"ناظم آباد","Roman Urdu":"Nazimabad","English":"Nazimabad"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"abbasi_shaheed","label":{"Urdu":"عباسی شہید","Roman Urdu":"Abbasi Shaheed","English":"Abbasi Shaheed"}},{"province":"sindh","city":"karachi","town":"lyari","name":"agra_taj_colony","label":{"Urdu":"آگرہ تاج کالونی","Roman Urdu":"Agra Taj Colony","English":"Agra Taj Colony"}},{"province":"sindh","city":"karachi","town":"lyari","name":"daryaabad","label":{"Urdu":"دریاآباد","Roman Urdu":"Daryaabad","English":"Daryaabad"}},{"province":"sindh","city":"karachi","town":"lyari","name":"nawabad","label":{"Urdu":"نواآباد","Roman Urdu":"Nawabad","English":"Nawabad"}},{"province":"sindh","city":"karachi","town":"lyari","name":"khada_memon_society","label":{"Urdu":"خدا- میمن- سوساَٹی","Roman Urdu":"Khada Memon Society","English":"Khada Memon Society"}},{"province":"sindh","city":"karachi","town":"lyari","name":"baghdadi","label":{"Urdu":"بغدادی","Roman Urdu":"Baghdadi","English":"Baghdadi"}},{"province":"sindh","city":"karachi","town":"lyari","name":"shah_baig_line","label":{"Urdu":"شاھ باغ لائن","Roman Urdu":"Shah Baig Line","English":"Shah Baig Line"}},{"province":"sindh","city":"karachi","town":"lyari","name":"bihar_colony","label":{"Urdu":"بہار کالونی","Roman Urdu":"Bihar Colony","English":"Bihar Colony"}},{"province":"sindh","city":"karachi","town":"lyari","name":"ragiwara","label":{"Urdu":"راگی واڑا","Roman Urdu":"Ragiwara","English":"Ragiwara"}},{"province":"sindh","city":"karachi","town":"lyari","name":"singo_line","label":{"Urdu":"سنگولائن","Roman Urdu":"Singo Line","English":"Singo Line"}},{"province":"sindh","city":"karachi","town":"lyari","name":"chakiwara","label":{"Urdu":"چاکی واڑا","Roman Urdu":"Chakiwara","English":"Chakiwara"}},{"province":"sindh","city":"karachi","town":"lyari","name":"allama_iqbal_colony","label":{"Urdu":"علامہ اقبال کالونی","Roman Urdu":"Allama Iqbal Colony","English":"Allama Iqbal Colony"}},{"province":"sindh","city":"karachi","town":"malir","name":"model_colony","label":{"Urdu":"موڈل کالونی","Roman Urdu":"Model Colony","English":"Model Colony"}},{"province":"sindh","city":"karachi","town":"malir","name":"kala_board","label":{"Urdu":"کالا بورڈ","Roman Urdu":"Kala Board","English":"Kala Board"}},{"province":"sindh","city":"karachi","town":"malir","name":"saudabad","label":{"Urdu":"سعودآباد","Roman Urdu":"Saudabad","English":"Saudabad"}},{"province":"sindh","city":"karachi","town":"malir","name":"khokhra_par","label":{"Urdu":"کھوکھرا پار","Roman Urdu":"Khokhra Par","English":"Khokhra Par"}},{"province":"sindh","city":"karachi","town":"malir","name":"jafar_e_tayyar","label":{"Urdu":"جعفر تیار","Roman Urdu":"Jafar-e-Tayyar","English":"Jafar-e-Tayyar"}},{"province":"sindh","city":"karachi","town":"malir","name":"gharibabad","label":{"Urdu":"غریب آباد","Roman Urdu":"Gharibabad","English":"Gharibabad"}},{"province":"sindh","city":"karachi","town":"malir","name":"ghazi_brohi_goth","label":{"Urdu":"غازی بروہی گوٹھ","Roman Urdu":"Ghazi Brohi Goth","English":"Ghazi Brohi Goth"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"kalyana","label":{"Urdu":"کالیانہ","Roman Urdu":"Kalyana","English":"Kalyana"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"sir_syed_colony","label":{"Urdu":"سر سید کالونی","Roman Urdu":"Sir Syed Colony","English":"Sir Syed Colony"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"fatima_jinnah_colony","label":{"Urdu":"فاطمہ جناح کالونی","Roman Urdu":"Fatima Jinnah Colony","English":"Fatima Jinnah Colony"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"godhra","label":{"Urdu":"گودھرا","Roman Urdu":"Godhra","English":"Godhra"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"abu_zar_ghaffari","label":{"Urdu":"ابو زر غفاری","Roman Urdu":"Abu Zar Ghaffari","English":"Abu Zar Ghaffari"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"hakim_ahsan","label":{"Urdu":"حاکم احسان","Roman Urdu":"Hakim Ahsan","English":"Hakim Ahsan"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"madina_colony","label":{"Urdu":"مدینہ کالونی","Roman Urdu":"Madina Colony","English":"Madina Colony"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"faisal_colony","label":{"Urdu":"فیصل کالونی","Roman Urdu":"Faisal Colony","English":"Faisal Colony"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"khamiso_goth","label":{"Urdu":"خمیسو گوٹھ","Roman Urdu":"Khamiso Goth","English":"Khamiso Goth"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"mustufa_colony","label":{"Urdu":"مصطفی کالونی","Roman Urdu":"Mustufa Colony","English":"Mustufa Colony"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"khawaja_ajmeer_nagri","label":{"Urdu":"خواجہ اجمیر نگری","Roman Urdu":"Khawaja Ajmeer Nagri","English":"Khawaja Ajmeer Nagri"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"gulshan_e_saeed","label":{"Urdu":"گلشن سعید","Roman Urdu":"Gulshan-e-Saeed","English":"Gulshan-e-Saeed"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"shah_nawaz_bhutto_colony","label":{"Urdu":"شاہ نواز بھٹو کالونی","Roman Urdu":"Shah Nawaz Bhutto Colony","English":"Shah Nawaz Bhutto Colony"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"paposh_nagar","label":{"Urdu":"پاپوش نگر","Roman Urdu":"Paposh Nagar","English":"Paposh Nagar"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"pahar_ganj","label":{"Urdu":"پہاڑ گنج","Roman Urdu":"Pahar Ganj","English":"Pahar Ganj"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"khandu_goth","label":{"Urdu":"کھنڑو گوٹھ","Roman Urdu":"Khandu Goth","English":"Khandu Goth"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"hyderi","label":{"Urdu":"حیدری","Roman Urdu":"Hyderi","English":"Hyderi"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"sakhi_hassan","label":{"Urdu":"سخی حسن","Roman Urdu":"Sakhi Hassan","English":"Sakhi Hassan"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"farooq_e_azam","label":{"Urdu":"فاروق اعظم","Roman Urdu":"Farooq-e-Azam","English":"Farooq-e-Azam"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"nusrat_bhutto_colony","label":{"Urdu":"نصرت بھٹو کالونی","Roman Urdu":"Nusrat Bhutto Colony","English":"Nusrat Bhutto Colony"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"shadman_town","label":{"Urdu":"شادمان ٹاوَن","Roman Urdu":"Shadman Town","English":"Shadman Town"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"buffer_zone","label":{"Urdu":"بفرزون","Roman Urdu":"Buffer Zone","English":"Buffer Zone"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"buffer_zone_ii","label":{"Urdu":"بفرزون 2","Roman Urdu":"Buffer Zone II","English":"Buffer Zone II"}},{"province":"sindh","city":"karachi","town":"orangi","name":"mominabad","label":{"Urdu":"مومن آباد","Roman Urdu":"Mominabad","English":"Mominabad"}},{"province":"sindh","city":"karachi","town":"orangi","name":"haryana_colony","label":{"Urdu":"حریانہ کالونی","Roman Urdu":"Haryana Colony","English":"Haryana Colony"}},{"province":"sindh","city":"karachi","town":"orangi","name":"hanifabad","label":{"Urdu":"حنیف آباد","Roman Urdu":"Hanifabad","English":"Hanifabad"}},{"province":"sindh","city":"karachi","town":"orangi","name":"mohammad_nagar","label":{"Urdu":"محمد نگر","Roman Urdu":"Mohammad Nagar","English":"Mohammad Nagar"}},{"province":"sindh","city":"karachi","town":"orangi","name":"madina_colony_orangi","label":{"Urdu":"مدینہ کالونی اورنگی","Roman Urdu":"Madina Colony Orangi","English":"Madina Colony Orangi"}},{"province":"sindh","city":"karachi","town":"orangi","name":"ghaziabad","label":{"Urdu":"غازی آباد","Roman Urdu":"Ghaziabad","English":"Ghaziabad"}},{"province":"sindh","city":"karachi","town":"orangi","name":"chisti_nagar","label":{"Urdu":"چشتی نگر","Roman Urdu":"Chisti Nagar","English":"Chisti Nagar"}},{"province":"sindh","city":"karachi","town":"orangi","name":"bilal_colony_orangi","label":{"Urdu":"بلال کالونی اورنگی","Roman Urdu":"Bilal Colony Orangi","English":"Bilal Colony Orangi"}},{"province":"sindh","city":"karachi","town":"orangi","name":"iqbal_baloch_colony","label":{"Urdu":"اقبال بلوچ کالونی","Roman Urdu":"Iqbal Baloch Colony","English":"Iqbal Baloch Colony"}},{"province":"sindh","city":"karachi","town":"orangi","name":"ghabool_town","label":{"Urdu":"گبول ٹاوَن","Roman Urdu":"Ghabool Town","English":"Ghabool Town"}},{"province":"sindh","city":"karachi","town":"orangi","name":"data_nagar","label":{"Urdu":"داتا نگر","Roman Urdu":"Data Nagar","English":"Data Nagar"}},{"province":"sindh","city":"karachi","town":"orangi","name":"mujahidabad","label":{"Urdu":"مجاہد آباد","Roman Urdu":"Mujahidabad","English":"Mujahidabad"}},{"province":"sindh","city":"karachi","town":"orangi","name":"baloch_goth","label":{"Urdu":"بلوچ گوٹھ","Roman Urdu":"Baloch Goth","English":"Baloch Goth"}},{"province":"sindh","city":"karachi","town":"saddar","name":"old_haji_camp","label":{"Urdu":"پرانہ حاجی کیمپ","Roman Urdu":"Old Haji Camp","English":"Old Haji Camp"}},{"province":"sindh","city":"karachi","town":"saddar","name":"garden","label":{"Urdu":"گارڈن","Roman Urdu":"Garden","English":"Garden"}},{"province":"sindh","city":"karachi","town":"saddar","name":"kharadar","label":{"Urdu":"کھارادر","Roman Urdu":"Kharadar","English":"Kharadar"}},{"province":"sindh","city":"karachi","town":"saddar","name":"city_railway_colony","label":{"Urdu":"سٹی ریلوے کالونی","Roman Urdu":"City Railway Colony","English":"City Railway Colony"}},{"province":"sindh","city":"karachi","town":"saddar","name":"nanak_wara","label":{"Urdu":"ناناک واڑا","Roman Urdu":"Nanak Wara","English":"Nanak Wara"}},{"province":"sindh","city":"karachi","town":"saddar","name":"gazdarabad","label":{"Urdu":"گزدرآباد","Roman Urdu":"Gazdarabad","English":"Gazdarabad"}},{"province":"sindh","city":"karachi","town":"saddar","name":"millat_nagar_islam_pura","label":{"Urdu":"ملت نگر اسلام پورا","Roman Urdu":"Millat Nagar/Islam Pura","English":"Millat Nagar/Islam Pura"}},{"province":"sindh","city":"karachi","town":"saddar","name":"saddar_uc","label":{"Urdu":"صدر یو سی","Roman Urdu":"Saddar UC","English":"Saddar UC"}},{"province":"sindh","city":"karachi","town":"saddar","name":"civil_line","label":{"Urdu":"سول لائن","Roman Urdu":"Civil Line","English":"Civil Line"}},{"province":"sindh","city":"karachi","town":"saddar","name":"clifton","label":{"Urdu":"کلفٹن","Roman Urdu":"Clifton","English":"Clifton"}},{"province":"sindh","city":"karachi","town":"saddar","name":"kehkashan","label":{"Urdu":"کہکشان","Roman Urdu":"Kehkashan","English":"Kehkashan"}},{"province":"sindh","city":"karachi","town":"shah_faisal","name":"natha_khan_goth","label":{"Urdu":"ناتھا خان گوٹھ","Roman Urdu":"Natha Khan Goth","English":"Natha Khan Goth"}},{"province":"sindh","city":"karachi","town":"shah_faisal","name":"pak_sadat_colony","label":{"Urdu":"پاک صدر کالونی","Roman Urdu":"Pak Sadat Colony","English":"Pak Sadat Colony"}},{"province":"sindh","city":"karachi","town":"shah_faisal","name":"drigh_colony","label":{"Urdu":"ڈرگ کالونی","Roman Urdu":"Drigh Colony","English":"Drigh Colony"}},{"province":"sindh","city":"karachi","town":"shah_faisal","name":"raita_plot","label":{"Urdu":"رائتا پلاٹ","Roman Urdu":"Raita Plot","English":"Raita Plot"}},{"province":"sindh","city":"karachi","town":"shah_faisal","name":"moria_khan_goth","label":{"Urdu":"موریا خان گوٹھ","Roman Urdu":"Moria Khan Goth","English":"Moria Khan Goth"}},{"province":"sindh","city":"karachi","town":"shah_faisal","name":"rafa_e_aam_society","label":{"Urdu":"رفا عام سوسا ئٹی","Roman Urdu":"Rafa-e-Aam Society","English":"Rafa-e-Aam Society"}},{"province":"sindh","city":"karachi","town":"shah_faisal","name":"al_falah_society","label":{"Urdu":"الفلاح سوسا ئٹی","Roman Urdu":"Al-Falah Society","English":"Al-Falah Society"}},{"province":"sindh","city":"karachi","town":"site","name":"pak_colony","label":{"Urdu":"پاک کالونی","Roman Urdu":"Pak Colony","English":"Pak Colony"}},{"province":"sindh","city":"karachi","town":"site","name":"old_golimar","label":{"Urdu":"پرانہ گولی مار","Roman Urdu":"Old Golimar","English":"Old Golimar"}},{"province":"sindh","city":"karachi","town":"site","name":"jahanabad","label":{"Urdu":"جہان آباد","Roman Urdu":"Jahanabad","English":"Jahanabad"}},{"province":"sindh","city":"karachi","town":"site","name":"metrovil","label":{"Urdu":"میٹروویل","Roman Urdu":"Metrovil","English":"Metrovil"}},{"province":"sindh","city":"karachi","town":"site","name":"bhawani_chali","label":{"Urdu":"بہوانی چالی","Roman Urdu":"Bhawani Chali","English":"Bhawani Chali"}},{"province":"sindh","city":"karachi","town":"site","name":"frontier_colony","label":{"Urdu":"فرونٹر کالونی","Roman Urdu":"Frontier Colony","English":"Frontier Colony"}},{"province":"sindh","city":"karachi","town":"site","name":"banaras_colony","label":{"Urdu":"بنارس کالونی","Roman Urdu":"Banaras Colony","English":"Banaras Colony"}},{"province":"sindh","city":"karachi","town":"site","name":"qasba_colony","label":{"Urdu":"قصبہ کالونی","Roman Urdu":"Qasba Colony","English":"Qasba Colony"}},{"province":"sindh","city":"karachi","town":"site","name":"islamia_colony","label":{"Urdu":"اسلامیہ کالونی","Roman Urdu":"Islamia Colony","English":"Islamia Colony"}},{"province":"na","city":"na","town":"na","name":"other","label":{"Urdu":"دیگر","Roman Urdu":"Deegar","English":"Other"}},{"province":"na","city":"na","town":"na","name":"not_applicable","label":{"Urdu":"قابل اطلاق نہیں","Roman Urdu":"Qaabil-e-atlaaq nahi","English":"Not Applicable"}}],"gender":[{"instance":{"openmrs_code":"1534AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"male","label":{"Urdu":"مرد/ لڑکا","Roman Urdu":"Mard/larka","English":"Male"}},{"instance":{"openmrs_code":"1535AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"female","label":{"Urdu":"عورت/لڑکی","Roman Urdu":"Aurat/larki","English":"Female"}},{"instance":{"openmrs_code":"163163AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"transgender","label":{"Urdu":"خواجہ سرہ","Roman Urdu":"Khwaja sira","English":"Transgender"}}],"vaccines":[{"instance":{"openmrs_code":"84880AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"TT1","label":{"Urdu":"ٹی ٹی 1","Roman Urdu":"TT1","English":"TT1"}},{"instance":{"openmrs_code":"84880AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"TT2","label":{"Urdu":"ٹی ٹی 2","Roman Urdu":"TT2","English":"TT2"}},{"instance":{"openmrs_code":"84880AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"TT3","label":{"Urdu":"ٹی ٹی 3","Roman Urdu":"TT3","English":"TT3"}},{"instance":{"openmrs_code":"84880AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"TT4","label":{"Urdu":"ٹی ٹی 4","Roman Urdu":"TT4","English":"TT4"}},{"instance":{"openmrs_code":"84880AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"TT5","label":{"Urdu":"ٹی ٹی 5","Roman Urdu":"TT5","English":"TT5"}}],"towns":[{"province":"sindh","city":"karachi","name":"korangi","label":{"Urdu":"کورنگی","Roman Urdu":"Korangi","English":"Korangi"}},{"province":"sindh","city":"karachi","name":"landhi","label":{"Urdu":"لانڈھی","Roman Urdu":"Landhi","English":"Landhi"}},{"province":"sindh","city":"karachi","name":"baldia","label":{"Urdu":"بلدیہ","Roman Urdu":"Baldia","English":"Baldia"}},{"province":"sindh","city":"karachi","name":"bin_qasim","label":{"Urdu":"بن قاسم","Roman Urdu":"Bin Qasim","English":"Bin Qasim"}},{"province":"sindh","city":"karachi","name":"gadap","label":{"Urdu":"گڈاپ","Roman Urdu":"Gadap","English":"Gadap"}},{"province":"sindh","city":"karachi","name":"gulberg","label":{"Urdu":"گلبرگ","Roman Urdu":"Gulberg","English":"Gulberg"}},{"province":"sindh","city":"karachi","name":"gulshan","label":{"Urdu":"گلشن","Roman Urdu":"Gulshan","English":"Gulshan"}},{"province":"sindh","city":"karachi","name":"jamshed","label":{"Urdu":"جمشید","Roman Urdu":"Jamshed","English":"Jamshed"}},{"province":"sindh","city":"karachi","name":"kiamari","label":{"Urdu":"کیماری","Roman Urdu":"Kiamari","English":"Kiamari"}},{"province":"sindh","city":"karachi","name":"liaquatabad","label":{"Urdu":"لیاقت آباد","Roman Urdu":"Liaquatabad","English":"Liaquatabad"}},{"province":"sindh","city":"karachi","name":"lyari","label":{"Urdu":"لیاری","Roman Urdu":"Lyari","English":"Lyari"}},{"province":"sindh","city":"karachi","name":"malir","label":{"Urdu":"ملیر","Roman Urdu":"Malir","English":"Malir"}},{"province":"sindh","city":"karachi","name":"new_karachi","label":{"Urdu":"نیو کراچی","Roman Urdu":"New Karachi","English":"New Karachi"}},{"province":"sindh","city":"karachi","name":"north_nazimabad","label":{"Urdu":"نارتھ ناظم آباد","Roman Urdu":"North Nazimabad","English":"North Nazimabad"}},{"province":"sindh","city":"karachi","name":"orangi","label":{"Urdu":"اورنگی","Roman Urdu":"Orangi","English":"Orangi"}},{"province":"sindh","city":"karachi","name":"saddar","label":{"Urdu":"صدر","Roman Urdu":"Saddar","English":"Saddar"}},{"province":"sindh","city":"karachi","name":"shah_faisal","label":{"Urdu":"شاہ فیصل","Roman Urdu":"Shah Faisal","English":"Shah Faisal"}},{"province":"sindh","city":"karachi","name":"site","label":{"Urdu":"سائٹ","Roman Urdu":"S.I.T.E.","English":"S.I.T.E."}},{"province":"na","city":"na","name":"other","label":{"Urdu":"دیگر","Roman Urdu":"Deegar","English":"Other"}},{"province":"na","city":"na","name":"not_applicable","label":{"Urdu":"قابل اطلاق نہیں","Roman Urdu":"Qaabil-e-atlaaq nahi","English":"Not Applicable"}}],"cities":[{"province":"sindh","name":"karachi","label":{"Urdu":"کراچی","Roman Urdu":"Karachi","English":"Karachi"}},{"province":"punjab","name":"hafizabad","label":{"Urdu":"حافظ آباد","Roman Urdu":"Hafizabad","English":"Hafizabad"}},{"province":"punjab","name":"muzaffargarh","label":{"Urdu":"مظفر گڑھ","Roman Urdu":"Muzaffargarh","English":"Muzaffargarh"}},{"province":"na","name":"other","label":{"Urdu":"دیگر","Roman Urdu":"Deegar","English":"Other"}},{"province":"na","name":"not_applicable","label":{"Urdu":"قابل اطلاق نہیں","Roman Urdu":"Not Applicable","English":"Not Applicable"}}],"edd_lmp":[{"instance":{"openmrs_code":"5596AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"edd","label":{"Urdu":"زچگی کی متوقع تاریخ","Roman Urdu":"EDD","English":"EDD"}},{"instance":{"openmrs_code":"1427AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"lmp","label":{"Urdu":"پچھلی مہواری کی تاریخ","Roman Urdu":"LMP","English":"LMP"}},{"instance":{"openmrs_code":"159617AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"ultrasound","label":{"Urdu":"الٹرا سائونڈ","Roman Urdu":"Ultrasound","English":"Ultrasound"}},{"instance":{"openmrs_code":"1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"none","label":{"Urdu":"کوئی بھی نہیں","Roman Urdu":"Koi bhi nahi","English":"None of the above"}}],"yes_no":[{"instance":{"openmrs_code":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"yes","label":{"Urdu":"ہاں","Roman Urdu":"Yes","English":"Yes"}},{"instance":{"openmrs_code":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"no","label":{"Urdu":"نہیں","Roman Urdu":"No","English":"No"}}]},"instance":{"encounter_type":"Woman TT Follow Up"},"version":"201604080459","id_string":"woman_tt_followup_form","type":"survey","children":[{"type":"hidden","name":"provider_uc"},{"type":"hidden","name":"provider_town"},{"type":"hidden","name":"provider_city"},{"type":"hidden","name":"provider_province"},{"type":"hidden","name":"existing_landmark"},{"type":"hidden","name":"existing_house_number"},{"type":"hidden","name":"existing_street"},{"type":"hidden","name":"existing_union_council"},{"type":"hidden","name":"existing_town"},{"type":"hidden","name":"existing_city_village"},{"type":"hidden","name":"existing_province"},{"type":"hidden","name":"existing_union_councilname"},{"type":"hidden","name":"existing_townname"},{"type":"hidden","name":"existing_city_villagename"},{"type":"hidden","name":"existing_provincename"},{"type":"hidden","name":"existing_first_name"},{"type":"hidden","name":"existing_last_name"},{"type":"hidden","name":"existing_father_name"},{"type":"hidden","name":"existing_husband_name"},{"type":"hidden","name":"existing_marriage"},{"type":"hidden","name":"existing_calc_dob_confirm"},{"type":"hidden","name":"existing_gender"},{"type":"hidden","name":"existing_ethnicity"},{"type":"hidden","name":"existing_client_reg_date"},{"type":"hidden","name":"existing_program_client_id"},{"type":"hidden","name":"existing_epi_card_number"},{"type":"hidden","name":"existing_reminders_approval"},{"type":"hidden","name":"existing_contact_phone_number"},{"type":"hidden","name":"e_tt1"},{"type":"hidden","name":"e_tt2"},{"type":"hidden","name":"e_tt3"},{"type":"hidden","name":"e_tt4"},{"type":"hidden","name":"e_tt5"},{"type":"hidden","name":"provider_id"},{"instance":{"openmrs_entity_id":"location_id","openmrs_entity":"encounter"},"type":"hidden","name":"provider_location_id"},{"type":"hidden","name":"provider_location_name"},{"type":"note","name":"provider_location_note","label":{"Urdu":"شہر: ${provider_city} ; ٹائون: ${provider_town} ; یوسی: ${provider_uc} ; سینٹرکا نام: ${provider_location_name}","English":"City: ${provider_city} ; Town: ${provider_town} ; UC: ${provider_uc} ; Center Name: ${provider_location_name}"}},{"instance":{"openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"start","name":"start"},{"instance":{"openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"end","name":"end"},{"instance":{"openmrs_entity_id":"163286AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"today","name":"today"},{"instance":{"openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"deviceid","name":"deviceid"},{"instance":{"openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"subscriberid","name":"subscriberid"},{"instance":{"openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"simserial","name":"simserial"},{"instance":{"openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"phonenumber","name":"phonenumber"},{"bind":{"required":"yes"},"type":"note","name":"client_reg_date_note","label":{"Urdu":"${existing_client_reg_date} :پروگرام میں اندراج کی تاریخ","Roman Urdu":"Program main andraaj ki tareekh: ${existing_client_reg_date}","English":"Client Registration date: ${existing_client_reg_date}"}},{"bind":{"required":"yes"},"type":"note","name":"program_client_id_note","label":{"Urdu":"${existing_program_client_id}:کلائنٹ کی پروگرام ائی ڈی","Roman Urdu":"Client ki program ID: ${existing_program_client_id}","English":"Program Client ID: ${existing_program_client_id}"}},{"bind":{"required":"yes"},"type":"note","name":"epi_card_number_note","label":{"Urdu":"${existing_epi_card_number}: کارڈ نمبر","Roman Urdu":"Card Number: ${existing_epi_card_number}","English":"EPI Card Number: ${existing_epi_card_number}"}},{"bind":{"required":"yes"},"type":"note","name":"first_name_note","label":{"Urdu":"${existing_first_name}: نام","Roman Urdu":"Naam: ${existing_first_name}","English":"First Name: ${existing_first_name}"}},{"bind":{"required":"yes"},"type":"note","name":"last_name_note","label":{"Urdu":"والد کا نام: ${existing_last_name}","Roman Urdu":"Waalid ka naam: ${existing_last_name}","English":"Last name: ${existing_last_name}"}},{"bind":{"calculate":"date( today() - (${existing_calc_dob_confirm} div 365))"},"type":"calculate","name":"client_age","instance":{"openmrs_entity_id":"154384AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"}},{"type":"note","name":"member_birth_date_note","label":{"Urdu":"کلائنٹ کی تاریخِ پیدائش: {existing_calc_dob_confirm}$ ({client_age}$) سال","English":"Client birth date: ${existing_calc_dob_confirm} (${client_age}) years","Roman Urdu":"Client ki tareekh-e-pedaaish: ${existing_calc_dob_confirm} (${client_age}) years"}},{"bind":{"required":"yes"},"type":"note","name":"gender_note","label":{"Urdu":"${existing_gender}: جنس","Roman Urdu":"Jins:${existing_gender}","English":"Gender: ${existing_gender}"}},{"type":"note","name":"father_name_note","label":{"Urdu":"والد کا نام: {existing_father_name}$","English":"Father's Name: ${existing_father_name}","Roman Urdu":"Waalid ka naam: ${existing_father_name}"}},{"type":"note","name":"marriage_note","label":{"Urdu":"کیا آپ شادی شدہ ہیں: {existing_marriage}$","English":"Are you married: ${existing_marriage}","Roman Urdu":"Kya aap shaadi shuda hain: ${existing_marriage}"}},{"type":"note","name":"husband_name_note","label":{"Urdu":"شوہر کا نام: {existing_husband_name}$","English":"Husband's name: ${existing_husband_name}","Roman Urdu":"Shohar ka naam: ${existing_husband_name}"}},{"bind":{"required":"yes"},"type":"note","name":"ethnicity_note","label":{"Urdu":"قومیت: {existing_ethnicity}$","Roman Urdu":"Qomiat: ${existing_ethnicity}","English":"Ethnicity: ${existing_ethnicity}"}},{"type":"note","name":"address","label":{"Urdu":"موجودہ پتہ: ${existing_house_number}, ${existing_street}, ${existing_landmark}, ${existing_union_councilname}, ${existing_townname}, ${existing_city_villagename}, ${existing_provincename}","English":"Current Address: ${existing_house_number}, ${existing_street}, ${existing_landmark}, ${existing_union_councilname}, ${existing_townname}, ${existing_city_villagename}, ${existing_provincename}","Roman Urdu":"Mojooda Address: ${existing_house_number}, ${existing_street}, ${existing_landmark}, ${existing_union_councilname}, ${existing_townname}, ${existing_city_villagename}, ${existing_provincename}"}},{"label":{"Urdu":"کیا آپ کا گھر کا پتہ بدلا ہے؟","English":"Has your home address changed?","Roman Urdu":"Kya aap ka ghar ka pata badla hai?"},"type":"select one","children":[{"instance":{"openmrs_code":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"yes","label":{"Urdu":"ہاں","Roman Urdu":"Yes","English":"Yes"}},{"instance":{"openmrs_code":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"no","label":{"Urdu":"نہیں","Roman Urdu":"No","English":"No"}}],"name":"address_change"},{"control":{"appearance":"minimal"},"name":"province","default":"${provider_province}","bind":{"relevant":"selected(${address_change}, 'yes')","required":"yes"},"label":{"Urdu":"صوبہ","Roman Urdu":"Suba","English":"Province"},"instance":{"openmrs_entity":"person_address","openmrs_entity_id":"stateProvince","openmrs_entity_parent":"usual_residence"},"type":"select one","children":[{"name":"kpk","label":{"Urdu":"خیبر پختون خواہ","English":"Khyber Pakhtunkhwa","Roman Urdu":"Khyber Pakhtunkhwa"}},{"name":"sindh","label":{"Urdu":"سندھ","English":"Sindh","Roman Urdu":"Sindh"}},{"name":"balochistan","label":{"Urdu":"بلوچستان","English":"Balochistan","Roman Urdu":"Balochistan"}},{"name":"punjab","label":{"Urdu":"پنجاب","English":"Punjab","Roman Urdu":"Punjab"}},{"name":"gilgit_baltistan","label":{"Urdu":"گلگت بلتستان","English":"Gilgit Baltistan","Roman Urdu":"Gilgit Baltistan"}},{"name":"kashmir","label":{"Urdu":"کشمیر","English":"Kashmir","Roman Urdu":"Kashmir"}},{"name":"fata","label":{"Urdu":"فاٹا","English":"FATA","Roman Urdu":"FATA"}},{"name":"out_of_country","label":{"Urdu":"ملک سے باہر","English":"Out of Country","Roman Urdu":"Mulk se baahir"}}]},{"control":{"appearance":"minimal"},"name":"city_village","choice_filter":"province=${province} or province='na'","default":"${provider_city}","bind":{"relevant":"selected(${address_change}, 'yes')","required":"yes"},"label":{"Urdu":"شہر","Roman Urdu":"Shehr","English":"City"},"itemset":"cities","instance":{"openmrs_entity":"person_address","openmrs_entity_id":"cityVillage","openmrs_entity_parent":"usual_residence"},"type":"select one"},{"control":{"appearance":"minimal"},"name":"town","choice_filter":"(province=${province} and city=${city_village} ) or city='na'","bind":{"relevant":"selected(${address_change}, 'yes')","required":"yes"},"label":{"Urdu":"ٹاٰئون/ قصبہ/ بستی","Roman Urdu":"Town / Qasbah / Basti","English":"Town"},"itemset":"towns","instance":{"openmrs_entity":"person_address","openmrs_entity_id":"town","openmrs_entity_parent":"usual_residence"},"type":"select one"},{"control":{"appearance":"minimal"},"name":"union_council","choice_filter":"(province=${province} and city=${city_village} and town=${town}) or town='na'","bind":{"relevant":"selected(${address_change}, 'yes')","required":"yes"},"label":{"Urdu":"یونین کونسل","Roman Urdu":"Union Council","English":"Union Council"},"itemset":"ucs","instance":{"openmrs_entity":"person_address","openmrs_entity_id":"subTown","openmrs_entity_parent":"usual_residence"},"type":"select one"},{"bind":{"relevant":"selected(${address_change}, 'yes')","required":"yes"},"type":"text","instance":{"openmrs_entity":"person_address","openmrs_entity_id":"house","openmrs_entity_parent":"usual_residence"},"name":"house_number","label":{"Urdu":"گھر کا نمبر","Roman Urdu":"Ghar ka number","English":"House Number"}},{"bind":{"relevant":"selected(${address_change}, 'yes')","required":"yes"},"type":"text","instance":{"openmrs_entity":"person_address","openmrs_entity_id":"street","openmrs_entity_parent":"usual_residence"},"name":"street","label":{"Urdu":"گلی/کالونی/محلہ","Roman Urdu":"Gali/Colony/Mohalla","English":"Street"}},{"bind":{"relevant":"selected(${address_change}, 'yes')","required":"yes"},"type":"text","instance":{"openmrs_entity":"person_address","openmrs_entity_id":"landmark","openmrs_entity_parent":"usual_residence"},"name":"landmark","label":{"Urdu":"گھر کے قریب کوئی مشہور جگہ","Roman Urdu":"Ghar ke qareeb koi mashoor jagah","English":"Land Mark"}},{"instance":{"openmrs_entity_id":"163277AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"geopoint","name":"center_gps","label":{"Urdu":"حاصل کردہ معلومات کی جگہ کے GPS کارڈینیٹس درج کریں","English":"Collect GPS coordinates of data entry location:","Roman Urdu":"Hasil karda malomaat ki jaga ke GPS coordinates darj karain"}},{"control":{"appearance":"minimal"},"name":"reminders_approval","bind":{"required":"yes"},"label":{"Urdu":"کیا آپ اپنے بچے کی اگلی ویکسین کی تاریخ کے لیے SMS موصول کرنا چاہتے ہیں؟ {existing_reminders_approval}$","English":"Are you willing to receive SMS reminders for your next visit? ${existing_reminders_approval}","Roman Urdu":"Kya aap apnay bachay ki agli vaccine ki tareekh ke liye SMS mausool karna chahtay hain? ${existing_reminders_approval}"},"instance":{"openmrs_entity_id":"163089AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"select one","children":[{"instance":{"openmrs_code":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"yes","label":{"Urdu":"ہاں","Roman Urdu":"Yes","English":"Yes"}},{"instance":{"openmrs_code":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"no","label":{"Urdu":"نہیں","Roman Urdu":"No","English":"No"}}]},{"bind":{"jr:constraintMsg":{"Urdu":"فون نمبر گیارہ ہندسوں پر مشتمل اور مندرجہ ذیل شکل میں ہونا چاہئے: *********03","English":"Phone number should be 11 digits in the following format: 03*********","Roman Urdu":"Phone number 11 hindason par mushtamil aur mundarja zail shakal main hona chahiey: 03*********"},"relevant":"${existing_reminders_approval}='yes'","constraint":"regex(., '^03[0-9]{9}$')"},"type":"text","instance":{"openmrs_entity_id":"159635AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"name":"contact_phone_number","label":{"Urdu":"موبائل نمبر:{existing_contact_phone_number}$","English":"Mobile Number: ${existing_contact_phone_number}","Roman Urdu":"Mobile Number: ${existing_contact_phone_number}"}},{"instance":{"openmrs_entity_id":"5272AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"label":{"Urdu":"کیا خا تون حاملہ ہیں؟","English":"Is female pregnant?","Roman Urdu":"Kia khatoon haamla hain?"},"type":"select one","children":[{"instance":{"openmrs_code":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"yes","label":{"Urdu":"ہاں","Roman Urdu":"Yes","English":"Yes"}},{"instance":{"openmrs_code":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"no","label":{"Urdu":"نہیں","Roman Urdu":"No","English":"No"}}],"name":"pregnant"},{"name":"edd_lmp","bind":{"relevant":"selected (${pregnant}, 'yes')"},"label":{"Urdu":"کیا آپ کو اپنی پچھلی ماہواری کی تاریخ، زچگی کی متوقع تاریخ، یا الٹرا سائونڈ کا علم ہے؟","English":"Do you know your LMP, EDD or last Ultrasound information?","Roman Urdu":"Kya aap ko apni pichli mahwaari ki tareekh, zachgi ki mutawaqqa tareekh ya ultrasound ka ilm hai?"},"instance":{"openmrs_entity_id":"160697AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"select one","children":[{"instance":{"openmrs_code":"5596AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"edd","label":{"Urdu":"زچگی کی متوقع تاریخ","Roman Urdu":"EDD","English":"EDD"}},{"instance":{"openmrs_code":"1427AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"lmp","label":{"Urdu":"پچھلی مہواری کی تاریخ","Roman Urdu":"LMP","English":"LMP"}},{"instance":{"openmrs_code":"159617AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"ultrasound","label":{"Urdu":"الٹرا سائونڈ","Roman Urdu":"Ultrasound","English":"Ultrasound"}},{"instance":{"openmrs_code":"1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"none","label":{"Urdu":"کوئی بھی نہیں","Roman Urdu":"Koi bhi nahi","English":"None of the above"}}]},{"bind":{"jr:constraintMsg":{"Urdu":"زچگی کی متوقع تاریخ ماضی کی نہیں ہو سکتی","Roman Urdu":"Zachgi ki mutawaqqa tareekh maazi ki nahi hosakti","English":"EDD cannot be in the past"},"relevant":"selected (${edd_lmp}, 'edd')","constraint":".>=${today}"},"type":"date","name":"edd","label":{"Urdu":"زچگی کی متوقع تاریخ","Roman Urdu":"Zachgi ki mutawaqqa tareekh","English":"EDD"}},{"bind":{"jr:constraintMsg":{"Urdu":"پچھلی ماہواری کی تاریخ مستقبل کی نہیں ہوسکتی","Roman Urdu":"Pichli mahwaari ki tareekh mustaqbil ki nahi hosakti","English":"LMP cannot be in the future"},"relevant":"selected (${edd_lmp}, 'lmp')","constraint":".<=${today}"},"type":"date","name":"lmp","label":{"Urdu":"پچھلی ماہواری کی تاریخ","Roman Urdu":"Pichli mahwaari ki tareekh","English":"LMP"}},{"bind":{"relevant":"selected (${edd_lmp}, 'ultrasound')"},"type":"date","instance":{"openmrs_entity_id":"163165AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"name":"ultrasound_date","label":{"Urdu":"الٹرا سائونڈ کی تاریخ","English":"Ultrasound Date","Roman Urdu":"Ultrasound ki tareekh"}},{"bind":{"relevant":"selected (${edd_lmp}, 'ultrasound')"},"type":"integer","name":"ultrasound_weeks","label":{"Urdu":"الٹرا سائونڈ کی مدد سے حمل کی مدت [ہفتوں میں]","Roman Urdu":"Ultrasound ki madad se hamal ki muddat (hafton me)","English":"Gestational age determined by ultrasound"}},{"bind":{"calculate":"date(${lmp}+280)"},"type":"calculate","name":"edd_calc_lmp"},{"bind":{"calculate":"date((280-(${ultrasound_weeks}*7)+${ultrasound_date} ))"},"type":"calculate","name":"edd_calc_ultrasound"},{"bind":{"calculate":"format-date(${edd_calc_lmp}, '%Y-%n-%e')"},"type":"calculate","name":"edd_calc_lmp_formatted"},{"bind":{"calculate":"format-date(${edd_calc_ultrasound}, '%Y-%n-%e')"},"type":"calculate","name":"edd_calc_ultrasound_formatted"},{"bind":{"calculate":"date(${edd}-280)"},"type":"calculate","name":"lmp_calc_edd"},{"bind":{"calculate":"date(${ultrasound_date}-(${ultrasound_weeks}*7))"},"type":"calculate","name":"lmp_calc_ultrasound"},{"bind":{"calculate":"format-date(${lmp_calc_edd}, '%Y-%n-%e')"},"type":"calculate","name":"lmp_calc_edd_formatted"},{"bind":{"calculate":"format-date(${lmp_calc_ultrasound}, '%Y-%n-%e')"},"type":"calculate","name":"lmp_calc_ultrasound_formatted"},{"bind":{"calculate":"if(${edd_lmp}='lmp',${edd_calc_lmp_formatted},if(${edd_lmp}='edd',${edd} ,if(${edd_lmp}='ultrasound',${edd_calc_ultrasound_formatted},'')))"},"type":"calculate","name":"final_edd","instance":{"openmrs_entity_id":"5596AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"}},{"bind":{"calculate":"if(${edd_lmp}='lmp',${lmp},if(${edd_lmp}='edd',${lmp_calc_edd_formatted} ,if(${edd_lmp}='ultrasound',${lmp_calc_ultrasound_formatted},'')))"},"type":"calculate","name":"final_lmp","instance":{"openmrs_entity_id":"1427AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"}},{"bind":{"calculate":"int((${vaccination_date} - (${edd}-280))div7)"},"type":"calculate","name":"ga_edd"},{"bind":{"calculate":"int((${vaccination_date} - ${lmp})div7)"},"type":"calculate","name":"ga_lmp"},{"bind":{"calculate":"int((${vaccination_date} -(${ultrasound_date}-(${ultrasound_weeks}*7)))div7)"},"type":"calculate","name":"ga_ult"},{"bind":{"relevant":"selected (${pregnant}, 'yes')"},"type":"note","name":"final_edd_note","label":{"Urdu":"${final_edd}: زچگی کی متوقع تاریخ","Roman Urdu":"Zachgi ki mutawaqqa tareekh: ${final_edd}","English":"EDD: ${final_edd}"}},{"bind":{"relevant":"selected (${pregnant}, 'yes')"},"type":"note","name":"final_lmp_note","label":{"Urdu":"پچھلی ماہواری کی تاریخ :{final_lmp}$","Roman Urdu":"Pichli mahwaari ki tareekh: ${final_lmp}","English":"LMP: ${final_lmp}"}},{"bind":{"calculate":"if(${edd_lmp}='lmp',${ga_lmp},if(${edd_lmp}='edd',${ga_edd} ,if(${edd_lmp}='ultrasound',${ga_ult},'')))"},"type":"calculate","name":"final_ga","instance":{"openmrs_entity_id":"163166AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"}},{"bind":{"relevant":"selected (${pregnant}, 'yes')"},"type":"note","name":"final_ga_note","label":{"Urdu":"حمل کی مُدّت: {final_ga}$ ہفتے","Roman Urdu":"Hamal ki muddat: ${final_ga} weeks","English":"GA: ${final_ga} weeks"}},{"name":"vaccines","choice_filter":"name != if( ${e_tt1} != '', 'TT1' , '') and \nname != if( ${e_tt2} != '', 'TT2' , '') and \nname != if( ${e_tt3} != '', 'TT3' , '') and \nname != if( ${e_tt4} != '', 'TT4' , '') and \nname != if( ${e_tt5} != '', 'TT5' , '')","default":"minimal","label":{"Urdu":"پچھلی تاریخ جب کسی اور سینٹر پر ٹیکہ لگوایا گیا یا قطرے پلائے گئے","Roman Urdu":"Pichli tareekh jab kissi aur center par teeka lagwaya gaya ya katray pilaey gaye","English":"Retro vaccines"},"itemset":"vaccines","instance":{"openmrs_entity":"concept","openmrs_entity_id":"984AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"1421AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"type":"select all that apply"},{"bind":{"relevant":"selected(${vaccines},'TT1')","constraint":"(.<=${today} and .<=${existing_client_reg_date})"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"tt1_retro","label":{"Urdu":"ٹی ٹی 1","Roman Urdu":"TT1","English":"TT1"}},{"bind":{"relevant":"selected(${vaccines},'TT1')","calculate":"1"},"type":"calculate","name":"tt_1_dose","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines},'TT2')","constraint":"(.<=${today} and .>=${tt1_retro} and ((selected(${vaccines}, 'TT1'))))"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"tt2_retro","label":{"Urdu":"ٹی ٹی 2","Roman Urdu":"TT2","English":"TT2"}},{"bind":{"relevant":"selected(${vaccines},'TT2')","calculate":"2"},"type":"calculate","name":"tt_2_dose","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines},'TT3')","constraint":"(.<=${today} and .>=${tt2_retro} and ((selected(${vaccines}, 'TT2'))))"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"tt3_retro","label":{"Urdu":"ٹی ٹی 3","Roman Urdu":"TT3","English":"TT3"}},{"bind":{"relevant":"selected(${vaccines},'TT3')","calculate":"3"},"type":"calculate","name":"tt_3_dose","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines},'TT4')","constraint":"(.<=${today} and .>=${tt3_retro} and ((selected(${vaccines}, 'TT3'))))"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"tt4_retro","label":{"Urdu":"ٹی ٹی 4","Roman Urdu":"TT4","English":"TT4"}},{"bind":{"relevant":"selected(${vaccines},'TT4')","calculate":"4"},"type":"calculate","name":"tt_4_dose","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"name":"vaccines_2","choice_filter":"name != if( ${e_tt1} != '', 'TT1' , '') and \nname != if( ${e_tt2} != '', 'TT2' , '') and \nname != if( ${e_tt3} != '', 'TT3' , '') and \nname != if( ${e_tt4} != '', 'TT4' , '') and \nname != if( ${e_tt5} != '', 'TT5' , '') and \nname != if( selected(${vaccines}, 'TT1') , 'TT1', '') and \nname != if( selected(${vaccines}, 'TT2') , 'TT2', '') and \nname != if( selected(${vaccines}, 'TT3') , 'TT3', '') and \nname != if( selected(${vaccines}, 'TT4') , 'TT4', '') and \nname != if( selected(${vaccines}, 'TT5') , 'TT5', '')","bind":{"required":"yes"},"label":{"Urdu":"آج کون کون سی ویکسین دی گئی ہیں؟","Roman Urdu":"Aaj kon kon si vaccine di gai hain?","English":"Vaccine administered today"},"itemset":"vaccines","instance":{"openmrs_entity":"concept","openmrs_entity_id":"984AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"1441AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"type":"select all that apply"},{"bind":{"required":"yes"},"type":"date","instance":{"openmrs_entity_id":"encounter_date","openmrs_entity":"encounter"},"name":"vaccination_date","label":{"Urdu":"تاریخ","English":"Vaccination date","Roman Urdu":"Tareekh"}},{"bind":{"calculate":"if(selected(${vaccines_2}, 'TT1'),${vaccination_date},'')"},"type":"calculate","name":"tt1","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines_2},'TT1')","calculate":"1"},"type":"calculate","name":"tt_1_dose_today","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"calculate":"if(selected(${vaccines_2}, 'TT2'),${vaccination_date},'')"},"type":"calculate","name":"tt2","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines_2},'TT2')","calculate":"2"},"type":"calculate","name":"tt_2_dose_today","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"calculate":"if(selected(${vaccines_2}, 'TT3'),${vaccination_date},'')"},"type":"calculate","name":"tt3","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines_2},'TT3')","calculate":"3"},"type":"calculate","name":"tt_3_dose_today","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"calculate":"if(selected(${vaccines_2}, 'TT4'),${vaccination_date},'')"},"type":"calculate","name":"tt4","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines_2},'TT4')","calculate":"4"},"type":"calculate","name":"tt_4_dose_today","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"calculate":"if(selected(${vaccines_2}, 'TT5'),${vaccination_date},'')"},"type":"calculate","name":"tt5","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines_2},'TT5')","calculate":"5"},"type":"calculate","name":"tt_5_dose_today","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"control":{"bodyless":true},"type":"group","children":[{"bind":{"readonly":"true()","calculate":"concat('uuid:', uuid())"},"type":"calculate","name":"instanceID"}],"name":"meta"}]} \ No newline at end of file diff --git a/opensrp-connector/bin/src/test/resources/form/woman_followup/form.xml b/opensrp-connector/bin/src/test/resources/form/woman_followup/form.xml new file mode 100644 index 0000000000..678d93463a --- /dev/null +++ b/opensrp-connector/bin/src/test/resources/form/woman_followup/form.xml @@ -0,0 +1,1435 @@ +
+ + +

خواتین فالواپ رجسٹر برائے ٹیکاجات - Woman TT Follow Up Form

+
+
+ + کیا آپ کا گھر کا پتہ بدلا ہے؟ + Kya aap ka ghar ka pata badla hai? + + Has your home address changed? +
+ + +
+
+
+
+ + کیا خا تون حاملہ ہیں؟ + Kia khatoon haamla hain? + + Is female pregnant? +
+ + +
+
+
+
+ + کیا آپ کو اپنی پچھلی ماہواری کی تاریخ، زچگی کی متوقع تاریخ، یا الٹرا سائونڈ کا علم ہے؟ + Kya aap ko apni pichli mahwaari ki tareekh, zachgi ki mutawaqqa tareekh ya ultrasound ka ilm hai? + + Do you know your LMP, EDD or last Ultrasound information? +
+ + + + +
+
+
+
+ + پچھلی تاریخ جب کسی اور سینٹر پر ٹیکہ لگوایا گیا یا قطرے پلائے گئے + Pichli tareekh jab kissi aur center par teeka lagwaya gaya ya katray pilaey gaye + + Retro vaccines +
+ + + ٹی ٹی 1 + TT1 + + TT1 + ٹی ٹی 2 + TT2 + + TT2 + ٹی ٹی 3 + TT3 + + TT3 + ٹی ٹی 4 + TT4 + + TT4 + ٹی ٹی 5 + TT5 + + TT5 +
+
+
+
+ + آج کون کون سی ویکسین دی گئی ہیں؟ + Aaj kon kon si vaccine di gai hain? + + Vaccine administered today + * +
+ + + ٹی ٹی 1 + TT1 + + TT1 + ٹی ٹی 2 + TT2 + + TT2 + ٹی ٹی 3 + TT3 + + TT3 + ٹی ٹی 4 + TT4 + + TT4 + ٹی ٹی 5 + TT5 + + TT5 +
+
+
+ + diff --git a/opensrp-connector/bin/src/test/resources/form/woman_followup/form_definition.json b/opensrp-connector/bin/src/test/resources/form/woman_followup/form_definition.json new file mode 100644 index 0000000000..b1d257f7a1 --- /dev/null +++ b/opensrp-connector/bin/src/test/resources/form/woman_followup/form_definition.json @@ -0,0 +1,384 @@ +{ + "form_data_definition_version" : "1", + "form" : { + "bind_type" : "pkwoman", + "default_bind_path" : "/model/instance/Woman_TT_Followup_Form/", + "fields" : [ { + "name" : "id", + "shouldLoadValue" : true + }, { + "name" : "provider_uc", + "bind" : "/model/instance/Woman_TT_Followup_Form/provider_uc", + "shouldLoadValue" : true + }, { + "name" : "provider_town", + "bind" : "/model/instance/Woman_TT_Followup_Form/provider_town", + "shouldLoadValue" : true + }, { + "name" : "provider_city", + "bind" : "/model/instance/Woman_TT_Followup_Form/provider_city", + "shouldLoadValue" : true + }, { + "name" : "provider_province", + "bind" : "/model/instance/Woman_TT_Followup_Form/provider_province", + "shouldLoadValue" : true + }, { + "name" : "existing_landmark", + "bind" : "/model/instance/Woman_TT_Followup_Form/existing_landmark", + "shouldLoadValue" : true + }, { + "name" : "existing_house_number", + "bind" : "/model/instance/Woman_TT_Followup_Form/existing_house_number", + "shouldLoadValue" : true + }, { + "name" : "existing_street", + "bind" : "/model/instance/Woman_TT_Followup_Form/existing_street", + "shouldLoadValue" : true + }, { + "name" : "existing_union_council", + "bind" : "/model/instance/Woman_TT_Followup_Form/existing_union_council", + "shouldLoadValue" : true + }, { + "name" : "existing_town", + "bind" : "/model/instance/Woman_TT_Followup_Form/existing_town", + "shouldLoadValue" : true + }, { + "name" : "existing_city_village", + "bind" : "/model/instance/Woman_TT_Followup_Form/existing_city_village", + "shouldLoadValue" : true + }, { + "name" : "existing_province", + "bind" : "/model/instance/Woman_TT_Followup_Form/existing_province", + "shouldLoadValue" : true + }, { + "name" : "existing_union_councilname", + "bind" : "/model/instance/Woman_TT_Followup_Form/existing_union_councilname", + "shouldLoadValue" : true + }, { + "name" : "existing_townname", + "bind" : "/model/instance/Woman_TT_Followup_Form/existing_townname", + "shouldLoadValue" : true + }, { + "name" : "existing_city_villagename", + "bind" : "/model/instance/Woman_TT_Followup_Form/existing_city_villagename", + "shouldLoadValue" : true + }, { + "name" : "existing_provincename", + "bind" : "/model/instance/Woman_TT_Followup_Form/existing_provincename", + "shouldLoadValue" : true + }, { + "name" : "existing_first_name", + "bind" : "/model/instance/Woman_TT_Followup_Form/existing_first_name", + "shouldLoadValue" : true + }, { + "name" : "existing_last_name", + "bind" : "/model/instance/Woman_TT_Followup_Form/existing_last_name", + "shouldLoadValue" : true + }, { + "name" : "existing_father_name", + "bind" : "/model/instance/Woman_TT_Followup_Form/existing_father_name", + "shouldLoadValue" : true + }, { + "name" : "existing_husband_name", + "bind" : "/model/instance/Woman_TT_Followup_Form/existing_husband_name", + "shouldLoadValue" : true + }, { + "name" : "existing_marriage", + "bind" : "/model/instance/Woman_TT_Followup_Form/existing_marriage", + "shouldLoadValue" : true + }, { + "name" : "existing_birthdate", + "bind" : "/model/instance/Woman_TT_Followup_Form/existing_calc_dob_confirm", + "shouldLoadValue" : true + }, { + "name" : "existing_gender", + "bind" : "/model/instance/Woman_TT_Followup_Form/existing_gender", + "shouldLoadValue" : true + }, { + "name" : "existing_ethnicity", + "bind" : "/model/instance/Woman_TT_Followup_Form/existing_ethnicity", + "shouldLoadValue" : true + }, { + "name" : "existing_client_reg_date", + "bind" : "/model/instance/Woman_TT_Followup_Form/existing_client_reg_date", + "shouldLoadValue" : true + }, { + "name" : "existing_program_client_id", + "bind" : "/model/instance/Woman_TT_Followup_Form/existing_program_client_id", + "shouldLoadValue" : true + }, { + "name" : "existing_epi_card_number", + "bind" : "/model/instance/Woman_TT_Followup_Form/existing_epi_card_number", + "shouldLoadValue" : true + }, { + "name" : "existing_reminders_approval", + "bind" : "/model/instance/Woman_TT_Followup_Form/existing_reminders_approval" + }, { + "name" : "existing_contact_phone_number", + "bind" : "/model/instance/Woman_TT_Followup_Form/existing_contact_phone_number" + }, { + "name" : "e_tt1", + "bind" : "/model/instance/Woman_TT_Followup_Form/e_tt1", + "shouldLoadValue" : true + }, { + "name" : "e_tt2", + "bind" : "/model/instance/Woman_TT_Followup_Form/e_tt2", + "shouldLoadValue" : true + }, { + "name" : "e_tt3", + "bind" : "/model/instance/Woman_TT_Followup_Form/e_tt3", + "shouldLoadValue" : true + }, { + "name" : "e_tt4", + "bind" : "/model/instance/Woman_TT_Followup_Form/e_tt4", + "shouldLoadValue" : true + }, { + "name" : "e_tt5", + "bind" : "/model/instance/Woman_TT_Followup_Form/e_tt5", + "shouldLoadValue" : true + }, { + "name" : "provider_id", + "bind" : "/model/instance/Woman_TT_Followup_Form/provider_id", + "shouldLoadValue" : true + }, { + "name" : "provider_location_id", + "bind" : "/model/instance/Woman_TT_Followup_Form/provider_location_id", + "shouldLoadValue" : true + }, { + "name" : "provider_location_name", + "bind" : "/model/instance/Woman_TT_Followup_Form/provider_location_name", + "shouldLoadValue" : true + }, { + "name" : "provider_location_note", + "bind" : "/model/instance/Woman_TT_Followup_Form/provider_location_note" + }, { + "name" : "start", + "bind" : "/model/instance/Woman_TT_Followup_Form/start" + }, { + "name" : "end", + "bind" : "/model/instance/Woman_TT_Followup_Form/end" + }, { + "name" : "today", + "bind" : "/model/instance/Woman_TT_Followup_Form/today" + }, { + "name" : "deviceid", + "bind" : "/model/instance/Woman_TT_Followup_Form/deviceid" + }, { + "name" : "subscriberid", + "bind" : "/model/instance/Woman_TT_Followup_Form/subscriberid" + }, { + "name" : "simserial", + "bind" : "/model/instance/Woman_TT_Followup_Form/simserial" + }, { + "name" : "phonenumber", + "bind" : "/model/instance/Woman_TT_Followup_Form/phonenumber" + }, { + "name" : "client_reg_date_note", + "bind" : "/model/instance/Woman_TT_Followup_Form/client_reg_date_note" + }, { + "name" : "program_client_id_note", + "bind" : "/model/instance/Woman_TT_Followup_Form/program_client_id_note" + }, { + "name" : "epi_card_number_note", + "bind" : "/model/instance/Woman_TT_Followup_Form/epi_card_number_note" + }, { + "name" : "first_name_note", + "bind" : "/model/instance/Woman_TT_Followup_Form/first_name_note" + }, { + "name" : "last_name_note", + "bind" : "/model/instance/Woman_TT_Followup_Form/last_name_note" + }, { + "name" : "client_age", + "bind" : "/model/instance/Woman_TT_Followup_Form/client_age" + }, { + "name" : "member_birth_date_note", + "bind" : "/model/instance/Woman_TT_Followup_Form/member_birth_date_note" + }, { + "name" : "gender_note", + "bind" : "/model/instance/Woman_TT_Followup_Form/gender_note" + }, { + "name" : "father_name_note", + "bind" : "/model/instance/Woman_TT_Followup_Form/father_name_note" + }, { + "name" : "marriage_note", + "bind" : "/model/instance/Woman_TT_Followup_Form/marriage_note" + }, { + "name" : "husband_name_note", + "bind" : "/model/instance/Woman_TT_Followup_Form/husband_name_note" + }, { + "name" : "ethnicity_note", + "bind" : "/model/instance/Woman_TT_Followup_Form/ethnicity_note" + }, { + "name" : "address", + "bind" : "/model/instance/Woman_TT_Followup_Form/address" + }, { + "name" : "address_change", + "bind" : "/model/instance/Woman_TT_Followup_Form/address_change" + }, { + "name" : "province", + "bind" : "/model/instance/Woman_TT_Followup_Form/province" + }, { + "name" : "city_village", + "bind" : "/model/instance/Woman_TT_Followup_Form/city_village" + }, { + "name" : "town", + "bind" : "/model/instance/Woman_TT_Followup_Form/town" + }, { + "name" : "union_council", + "bind" : "/model/instance/Woman_TT_Followup_Form/union_council" + }, { + "name" : "house_number", + "bind" : "/model/instance/Woman_TT_Followup_Form/house_number" + }, { + "name" : "street", + "bind" : "/model/instance/Woman_TT_Followup_Form/street" + }, { + "name" : "landmark", + "bind" : "/model/instance/Woman_TT_Followup_Form/landmark" + }, { + "name" : "center_gps", + "bind" : "/model/instance/Woman_TT_Followup_Form/center_gps" + }, { + "name" : "reminders_approval", + "bind" : "/model/instance/Woman_TT_Followup_Form/reminders_approval" + }, { + "name" : "contact_phone_number", + "bind" : "/model/instance/Woman_TT_Followup_Form/contact_phone_number" + }, { + "name" : "pregnant", + "bind" : "/model/instance/Woman_TT_Followup_Form/pregnant" + }, { + "name" : "edd_lmp", + "bind" : "/model/instance/Woman_TT_Followup_Form/edd_lmp" + }, { + "name" : "edd", + "bind" : "/model/instance/Woman_TT_Followup_Form/edd" + }, { + "name" : "lmp", + "bind" : "/model/instance/Woman_TT_Followup_Form/lmp" + }, { + "name" : "ultrasound_date", + "bind" : "/model/instance/Woman_TT_Followup_Form/ultrasound_date" + }, { + "name" : "ultrasound_weeks", + "bind" : "/model/instance/Woman_TT_Followup_Form/ultrasound_weeks" + }, { + "name" : "edd_calc_lmp", + "bind" : "/model/instance/Woman_TT_Followup_Form/edd_calc_lmp" + }, { + "name" : "edd_calc_ultrasound", + "bind" : "/model/instance/Woman_TT_Followup_Form/edd_calc_ultrasound" + }, { + "name" : "edd_calc_lmp_formatted", + "bind" : "/model/instance/Woman_TT_Followup_Form/edd_calc_lmp_formatted" + }, { + "name" : "edd_calc_ultrasound_formatted", + "bind" : "/model/instance/Woman_TT_Followup_Form/edd_calc_ultrasound_formatted" + }, { + "name" : "lmp_calc_edd", + "bind" : "/model/instance/Woman_TT_Followup_Form/lmp_calc_edd" + }, { + "name" : "lmp_calc_ultrasound", + "bind" : "/model/instance/Woman_TT_Followup_Form/lmp_calc_ultrasound" + }, { + "name" : "lmp_calc_edd_formatted", + "bind" : "/model/instance/Woman_TT_Followup_Form/lmp_calc_edd_formatted" + }, { + "name" : "lmp_calc_ultrasound_formatted", + "bind" : "/model/instance/Woman_TT_Followup_Form/lmp_calc_ultrasound_formatted" + }, { + "name" : "final_edd", + "bind" : "/model/instance/Woman_TT_Followup_Form/final_edd" + }, { + "name" : "final_lmp", + "bind" : "/model/instance/Woman_TT_Followup_Form/final_lmp" + }, { + "name" : "ga_edd", + "bind" : "/model/instance/Woman_TT_Followup_Form/ga_edd" + }, { + "name" : "ga_lmp", + "bind" : "/model/instance/Woman_TT_Followup_Form/ga_lmp" + }, { + "name" : "ga_ult", + "bind" : "/model/instance/Woman_TT_Followup_Form/ga_ult" + }, { + "name" : "final_edd_note", + "bind" : "/model/instance/Woman_TT_Followup_Form/final_edd_note" + }, { + "name" : "final_lmp_note", + "bind" : "/model/instance/Woman_TT_Followup_Form/final_lmp_note" + }, { + "name" : "final_ga", + "bind" : "/model/instance/Woman_TT_Followup_Form/final_ga" + }, { + "name" : "final_ga_note", + "bind" : "/model/instance/Woman_TT_Followup_Form/final_ga_note" + }, { + "name" : "vaccines", + "bind" : "/model/instance/Woman_TT_Followup_Form/vaccines" + }, { + "name" : "tt1_retro", + "bind" : "/model/instance/Woman_TT_Followup_Form/tt1_retro" + }, { + "name" : "tt_1_dose", + "bind" : "/model/instance/Woman_TT_Followup_Form/tt_1_dose" + }, { + "name" : "tt2_retro", + "bind" : "/model/instance/Woman_TT_Followup_Form/tt2_retro" + }, { + "name" : "tt_2_dose", + "bind" : "/model/instance/Woman_TT_Followup_Form/tt_2_dose" + }, { + "name" : "tt3_retro", + "bind" : "/model/instance/Woman_TT_Followup_Form/tt3_retro" + }, { + "name" : "tt_3_dose", + "bind" : "/model/instance/Woman_TT_Followup_Form/tt_3_dose" + }, { + "name" : "tt4_retro", + "bind" : "/model/instance/Woman_TT_Followup_Form/tt4_retro" + }, { + "name" : "tt_4_dose", + "bind" : "/model/instance/Woman_TT_Followup_Form/tt_4_dose" + }, { + "name" : "vaccines_2", + "bind" : "/model/instance/Woman_TT_Followup_Form/vaccines_2" + }, { + "name" : "vaccination_date", + "bind" : "/model/instance/Woman_TT_Followup_Form/vaccination_date" + }, { + "name" : "tt1", + "bind" : "/model/instance/Woman_TT_Followup_Form/tt1" + }, { + "name" : "tt_1_dose_today", + "bind" : "/model/instance/Woman_TT_Followup_Form/tt_1_dose_today" + }, { + "name" : "tt2", + "bind" : "/model/instance/Woman_TT_Followup_Form/tt2" + }, { + "name" : "tt_2_dose_today", + "bind" : "/model/instance/Woman_TT_Followup_Form/tt_2_dose_today" + }, { + "name" : "tt3", + "bind" : "/model/instance/Woman_TT_Followup_Form/tt3" + }, { + "name" : "tt_3_dose_today", + "bind" : "/model/instance/Woman_TT_Followup_Form/tt_3_dose_today" + }, { + "name" : "tt4", + "bind" : "/model/instance/Woman_TT_Followup_Form/tt4" + }, { + "name" : "tt_4_dose_today", + "bind" : "/model/instance/Woman_TT_Followup_Form/tt_4_dose_today" + }, { + "name" : "tt5", + "bind" : "/model/instance/Woman_TT_Followup_Form/tt5" + }, { + "name" : "tt_5_dose_today", + "bind" : "/model/instance/Woman_TT_Followup_Form/tt_5_dose_today" + }, { + "name" : "instanceID", + "bind" : "/model/instance/Woman_TT_Followup_Form/meta/instanceID" + } ] + } +} \ No newline at end of file diff --git a/opensrp-connector/bin/src/test/resources/form/woman_followup/model.xml b/opensrp-connector/bin/src/test/resources/form/woman_followup/model.xml new file mode 100644 index 0000000000..e914536dda --- /dev/null +++ b/opensrp-connector/bin/src/test/resources/form/woman_followup/model.xml @@ -0,0 +1,1643 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + ${provider_province} + ${provider_city} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + minimal + + + + + + + + + + + + + + + + + + + + + + + + + + + + + static_instance-provinces-0 + kpk + + + static_instance-provinces-1 + sindh + + + static_instance-provinces-2 + balochistan + + + static_instance-provinces-3 + punjab + + + static_instance-provinces-4 + gilgit_baltistan + + + static_instance-provinces-5 + kashmir + + + static_instance-provinces-6 + fata + + + static_instance-provinces-7 + out_of_country + + + + + + + static_instance-ucs-0 + sindh + karachi + korangi + bilal_colony + + + static_instance-ucs-1 + sindh + karachi + korangi + nasir_colony + + + static_instance-ucs-2 + sindh + karachi + korangi + chakra_goth + + + static_instance-ucs-3 + sindh + karachi + korangi + mustafa_taj_colony + + + static_instance-ucs-4 + sindh + karachi + korangi + hundred_quarters + + + static_instance-ucs-5 + sindh + karachi + korangi + gulzar_colony + + + static_instance-ucs-6 + sindh + karachi + korangi + korangi_sector_33 + + + static_instance-ucs-7 + sindh + karachi + korangi + zaman_town + + + static_instance-ucs-8 + sindh + karachi + korangi + hasrat_mohani_colony + + + static_instance-ucs-9 + sindh + karachi + baldia + gulshan_e_ghazi + + + static_instance-ucs-10 + sindh + karachi + baldia + ittehad_town + + + static_instance-ucs-11 + sindh + karachi + baldia + islam_nagar + + + static_instance-ucs-12 + sindh + karachi + baldia + nai_abadi + + + static_instance-ucs-13 + sindh + karachi + baldia + saeedabad + + + static_instance-ucs-14 + sindh + karachi + baldia + muslim_mujahid_colony + + + static_instance-ucs-15 + sindh + karachi + baldia + muhajir_camp + + + static_instance-ucs-16 + sindh + karachi + baldia + rasheedabad + + + static_instance-ucs-17 + sindh + karachi + bin_qasim + ibrahim_hyderi + + + static_instance-ucs-18 + sindh + karachi + bin_qasim + rehri + + + static_instance-ucs-19 + sindh + karachi + bin_qasim + cattle_colony + + + static_instance-ucs-20 + sindh + karachi + bin_qasim + qaidabad + + + static_instance-ucs-21 + sindh + karachi + bin_qasim + landhi_colony + + + static_instance-ucs-22 + sindh + karachi + bin_qasim + gulshan_e_hadeed + + + static_instance-ucs-23 + sindh + karachi + bin_qasim + gaghar + + + static_instance-ucs-24 + sindh + karachi + gadap + murad_memon_goth + + + static_instance-ucs-25 + sindh + karachi + gadap + darsano_chana + + + static_instance-ucs-26 + sindh + karachi + gadap + gujro + + + static_instance-ucs-27 + sindh + karachi + gadap + songal + + + static_instance-ucs-28 + sindh + karachi + gadap + maymarabad + + + static_instance-ucs-29 + sindh + karachi + gadap + yousuf_goth + + + static_instance-ucs-30 + sindh + karachi + gadap + manghopir + + + static_instance-ucs-31 + sindh + karachi + gulberg + azizabad + + + static_instance-ucs-32 + sindh + karachi + gulberg + karimabad + + + static_instance-ucs-33 + sindh + karachi + gulberg + aisha_manzil + + + static_instance-ucs-34 + sindh + karachi + gulberg + ancholi + + + static_instance-ucs-35 + sindh + karachi + gulberg + naseerabad + + + static_instance-ucs-36 + sindh + karachi + gulberg + yaseenabad + + + static_instance-ucs-37 + sindh + karachi + gulberg + water_pump + + + static_instance-ucs-38 + sindh + karachi + gulberg + shafiq_mill_colony + + + static_instance-ucs-39 + sindh + karachi + gulshan + delhi_mercantile_society + + + static_instance-ucs-40 + sindh + karachi + gulshan + civic_centre + + + static_instance-ucs-41 + sindh + karachi + gulshan + pir_ilahi_buksh_colony + + + static_instance-ucs-42 + sindh + karachi + gulshan + essa_nagri + + + static_instance-ucs-43 + sindh + karachi + gulshan + gulshan_e_iqbal + + + static_instance-ucs-44 + sindh + karachi + gulshan + gillani_railway_station + + + static_instance-ucs-45 + sindh + karachi + gulshan + shanti_nagar + + + static_instance-ucs-46 + sindh + karachi + gulshan + jamali_colony + + + static_instance-ucs-47 + sindh + karachi + gulshan + gulshan_e_iqbal_ii + + + static_instance-ucs-48 + sindh + karachi + gulshan + pehlwan_goth + + + static_instance-ucs-49 + sindh + karachi + gulshan + matrovil_colony + + + static_instance-ucs-50 + sindh + karachi + gulshan + gulzar_e_hijri + + + static_instance-ucs-51 + sindh + karachi + gulshan + safooran_goth + + + static_instance-ucs-52 + sindh + karachi + jamshed + akhtar_colony + + + static_instance-ucs-53 + sindh + karachi + jamshed + manzoor_colony + + + static_instance-ucs-54 + sindh + karachi + jamshed + azam_basti + + + static_instance-ucs-55 + sindh + karachi + jamshed + chanesar_goth + + + static_instance-ucs-56 + sindh + karachi + jamshed + mahmudabad + + + static_instance-ucs-57 + sindh + karachi + jamshed + pechs + + + static_instance-ucs-58 + sindh + karachi + jamshed + pechs_ii + + + static_instance-ucs-59 + sindh + karachi + jamshed + jut_line + + + static_instance-ucs-60 + sindh + karachi + jamshed + central_jacob_lines + + + static_instance-ucs-61 + sindh + karachi + jamshed + jamshed_quarters + + + static_instance-ucs-62 + sindh + karachi + jamshed + garden_east + + + static_instance-ucs-63 + sindh + karachi + jamshed + soldier_bazar + + + static_instance-ucs-64 + sindh + karachi + jamshed + pakistan_quarters + + + static_instance-ucs-65 + sindh + karachi + kiamari + bhutta_village + + + static_instance-ucs-66 + sindh + karachi + kiamari + sultanabad + + + static_instance-ucs-67 + sindh + karachi + kiamari + kiamari_uc + + + static_instance-ucs-68 + sindh + karachi + kiamari + baba_bhit + + + static_instance-ucs-69 + sindh + karachi + kiamari + machar_colony + + + static_instance-ucs-70 + sindh + karachi + kiamari + maripur + + + static_instance-ucs-71 + sindh + karachi + kiamari + shershah + + + static_instance-ucs-72 + sindh + karachi + kiamari + gabo_pat + + + static_instance-ucs-73 + sindh + karachi + landhi + muzafarabad + + + static_instance-ucs-74 + sindh + karachi + landhi + muslimabad + + + static_instance-ucs-75 + sindh + karachi + landhi + dawood_chowrangi + + + static_instance-ucs-76 + sindh + karachi + landhi + moinabad + + + static_instance-ucs-77 + sindh + karachi + landhi + sharafi_goth + + + static_instance-ucs-78 + sindh + karachi + landhi + bhutto_nagar + + + static_instance-ucs-79 + sindh + karachi + landhi + khawaja_ajmeer_colony + + + static_instance-ucs-80 + sindh + karachi + landhi + landhi_uc + + + static_instance-ucs-81 + sindh + karachi + landhi + awami_colony + + + static_instance-ucs-82 + sindh + karachi + landhi + burmee_colony + + + static_instance-ucs-83 + sindh + karachi + landhi + korangi_uc + + + static_instance-ucs-84 + sindh + karachi + landhi + sherabad + + + static_instance-ucs-85 + sindh + karachi + liaquatabad + rizvia_society + + + static_instance-ucs-86 + sindh + karachi + liaquatabad + firdous_colony + + + static_instance-ucs-87 + sindh + karachi + liaquatabad + super_market + + + static_instance-ucs-88 + sindh + karachi + liaquatabad + dak_khana + + + static_instance-ucs-89 + sindh + karachi + liaquatabad + qasimabad + + + static_instance-ucs-90 + sindh + karachi + liaquatabad + bandhani_colony + + + static_instance-ucs-91 + sindh + karachi + liaquatabad + sharifabad + + + static_instance-ucs-92 + sindh + karachi + liaquatabad + commercial_area + + + static_instance-ucs-93 + sindh + karachi + liaquatabad + mujahid_colony + + + static_instance-ucs-94 + sindh + karachi + liaquatabad + nazimabad + + + static_instance-ucs-95 + sindh + karachi + liaquatabad + abbasi_shaheed + + + static_instance-ucs-96 + sindh + karachi + lyari + agra_taj_colony + + + static_instance-ucs-97 + sindh + karachi + lyari + daryaabad + + + static_instance-ucs-98 + sindh + karachi + lyari + nawabad + + + static_instance-ucs-99 + sindh + karachi + lyari + khada_memon_society + + + static_instance-ucs-100 + sindh + karachi + lyari + baghdadi + + + static_instance-ucs-101 + sindh + karachi + lyari + shah_baig_line + + + static_instance-ucs-102 + sindh + karachi + lyari + bihar_colony + + + static_instance-ucs-103 + sindh + karachi + lyari + ragiwara + + + static_instance-ucs-104 + sindh + karachi + lyari + singo_line + + + static_instance-ucs-105 + sindh + karachi + lyari + chakiwara + + + static_instance-ucs-106 + sindh + karachi + lyari + allama_iqbal_colony + + + static_instance-ucs-107 + sindh + karachi + malir + model_colony + + + static_instance-ucs-108 + sindh + karachi + malir + kala_board + + + static_instance-ucs-109 + sindh + karachi + malir + saudabad + + + static_instance-ucs-110 + sindh + karachi + malir + khokhra_par + + + static_instance-ucs-111 + sindh + karachi + malir + jafar_e_tayyar + + + static_instance-ucs-112 + sindh + karachi + malir + gharibabad + + + static_instance-ucs-113 + sindh + karachi + malir + ghazi_brohi_goth + + + static_instance-ucs-114 + sindh + karachi + new_karachi + kalyana + + + static_instance-ucs-115 + sindh + karachi + new_karachi + sir_syed_colony + + + static_instance-ucs-116 + sindh + karachi + new_karachi + fatima_jinnah_colony + + + static_instance-ucs-117 + sindh + karachi + new_karachi + godhra + + + static_instance-ucs-118 + sindh + karachi + new_karachi + abu_zar_ghaffari + + + static_instance-ucs-119 + sindh + karachi + new_karachi + hakim_ahsan + + + static_instance-ucs-120 + sindh + karachi + new_karachi + madina_colony + + + static_instance-ucs-121 + sindh + karachi + new_karachi + faisal_colony + + + static_instance-ucs-122 + sindh + karachi + new_karachi + khamiso_goth + + + static_instance-ucs-123 + sindh + karachi + new_karachi + mustufa_colony + + + static_instance-ucs-124 + sindh + karachi + new_karachi + khawaja_ajmeer_nagri + + + static_instance-ucs-125 + sindh + karachi + new_karachi + gulshan_e_saeed + + + static_instance-ucs-126 + sindh + karachi + new_karachi + shah_nawaz_bhutto_colony + + + static_instance-ucs-127 + sindh + karachi + north_nazimabad + paposh_nagar + + + static_instance-ucs-128 + sindh + karachi + north_nazimabad + pahar_ganj + + + static_instance-ucs-129 + sindh + karachi + north_nazimabad + khandu_goth + + + static_instance-ucs-130 + sindh + karachi + north_nazimabad + hyderi + + + static_instance-ucs-131 + sindh + karachi + north_nazimabad + sakhi_hassan + + + static_instance-ucs-132 + sindh + karachi + north_nazimabad + farooq_e_azam + + + static_instance-ucs-133 + sindh + karachi + north_nazimabad + nusrat_bhutto_colony + + + static_instance-ucs-134 + sindh + karachi + north_nazimabad + shadman_town + + + static_instance-ucs-135 + sindh + karachi + north_nazimabad + buffer_zone + + + static_instance-ucs-136 + sindh + karachi + north_nazimabad + buffer_zone_ii + + + static_instance-ucs-137 + sindh + karachi + orangi + mominabad + + + static_instance-ucs-138 + sindh + karachi + orangi + haryana_colony + + + static_instance-ucs-139 + sindh + karachi + orangi + hanifabad + + + static_instance-ucs-140 + sindh + karachi + orangi + mohammad_nagar + + + static_instance-ucs-141 + sindh + karachi + orangi + madina_colony_orangi + + + static_instance-ucs-142 + sindh + karachi + orangi + ghaziabad + + + static_instance-ucs-143 + sindh + karachi + orangi + chisti_nagar + + + static_instance-ucs-144 + sindh + karachi + orangi + bilal_colony_orangi + + + static_instance-ucs-145 + sindh + karachi + orangi + iqbal_baloch_colony + + + static_instance-ucs-146 + sindh + karachi + orangi + ghabool_town + + + static_instance-ucs-147 + sindh + karachi + orangi + data_nagar + + + static_instance-ucs-148 + sindh + karachi + orangi + mujahidabad + + + static_instance-ucs-149 + sindh + karachi + orangi + baloch_goth + + + static_instance-ucs-150 + sindh + karachi + saddar + old_haji_camp + + + static_instance-ucs-151 + sindh + karachi + saddar + garden + + + static_instance-ucs-152 + sindh + karachi + saddar + kharadar + + + static_instance-ucs-153 + sindh + karachi + saddar + city_railway_colony + + + static_instance-ucs-154 + sindh + karachi + saddar + nanak_wara + + + static_instance-ucs-155 + sindh + karachi + saddar + gazdarabad + + + static_instance-ucs-156 + sindh + karachi + saddar + millat_nagar_islam_pura + + + static_instance-ucs-157 + sindh + karachi + saddar + saddar_uc + + + static_instance-ucs-158 + sindh + karachi + saddar + civil_line + + + static_instance-ucs-159 + sindh + karachi + saddar + clifton + + + static_instance-ucs-160 + sindh + karachi + saddar + kehkashan + + + static_instance-ucs-161 + sindh + karachi + shah_faisal + natha_khan_goth + + + static_instance-ucs-162 + sindh + karachi + shah_faisal + pak_sadat_colony + + + static_instance-ucs-163 + sindh + karachi + shah_faisal + drigh_colony + + + static_instance-ucs-164 + sindh + karachi + shah_faisal + raita_plot + + + static_instance-ucs-165 + sindh + karachi + shah_faisal + moria_khan_goth + + + static_instance-ucs-166 + sindh + karachi + shah_faisal + rafa_e_aam_society + + + static_instance-ucs-167 + sindh + karachi + shah_faisal + al_falah_society + + + static_instance-ucs-168 + sindh + karachi + site + pak_colony + + + static_instance-ucs-169 + sindh + karachi + site + old_golimar + + + static_instance-ucs-170 + sindh + karachi + site + jahanabad + + + static_instance-ucs-171 + sindh + karachi + site + metrovil + + + static_instance-ucs-172 + sindh + karachi + site + bhawani_chali + + + static_instance-ucs-173 + sindh + karachi + site + frontier_colony + + + static_instance-ucs-174 + sindh + karachi + site + banaras_colony + + + static_instance-ucs-175 + sindh + karachi + site + qasba_colony + + + static_instance-ucs-176 + sindh + karachi + site + islamia_colony + + + static_instance-ucs-177 + na + na + na + other + + + static_instance-ucs-178 + na + na + na + not_applicable + + + + + + + static_instance-gender-0 + male + + + static_instance-gender-1 + female + + + static_instance-gender-2 + transgender + + + + + + + static_instance-vaccines-0 + TT1 + + + static_instance-vaccines-1 + TT2 + + + static_instance-vaccines-2 + TT3 + + + static_instance-vaccines-3 + TT4 + + + static_instance-vaccines-4 + TT5 + + + + + + + static_instance-towns-0 + sindh + karachi + korangi + + + static_instance-towns-1 + sindh + karachi + landhi + + + static_instance-towns-2 + sindh + karachi + baldia + + + static_instance-towns-3 + sindh + karachi + bin_qasim + + + static_instance-towns-4 + sindh + karachi + gadap + + + static_instance-towns-5 + sindh + karachi + gulberg + + + static_instance-towns-6 + sindh + karachi + gulshan + + + static_instance-towns-7 + sindh + karachi + jamshed + + + static_instance-towns-8 + sindh + karachi + kiamari + + + static_instance-towns-9 + sindh + karachi + liaquatabad + + + static_instance-towns-10 + sindh + karachi + lyari + + + static_instance-towns-11 + sindh + karachi + malir + + + static_instance-towns-12 + sindh + karachi + new_karachi + + + static_instance-towns-13 + sindh + karachi + north_nazimabad + + + static_instance-towns-14 + sindh + karachi + orangi + + + static_instance-towns-15 + sindh + karachi + saddar + + + static_instance-towns-16 + sindh + karachi + shah_faisal + + + static_instance-towns-17 + sindh + karachi + site + + + static_instance-towns-18 + na + na + other + + + static_instance-towns-19 + na + na + not_applicable + + + + + + + static_instance-cities-0 + sindh + karachi + + + static_instance-cities-1 + punjab + hafizabad + + + static_instance-cities-2 + punjab + muzaffargarh + + + static_instance-cities-3 + na + other + + + static_instance-cities-4 + na + not_applicable + + + + + + + static_instance-edd_lmp-0 + edd + + + static_instance-edd_lmp-1 + lmp + + + static_instance-edd_lmp-2 + ultrasound + + + static_instance-edd_lmp-3 + none + + + + + + + static_instance-yes_no-0 + yes + + + static_instance-yes_no-1 + no + + + + diff --git a/opensrp-connector/bin/src/test/resources/test-applicationContext-opensrp-connector.xml b/opensrp-connector/bin/src/test/resources/test-applicationContext-opensrp-connector.xml new file mode 100644 index 0000000000..51e8d42102 --- /dev/null +++ b/opensrp-connector/bin/src/test/resources/test-applicationContext-opensrp-connector.xml @@ -0,0 +1,69 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/opensrp-core/bin/jacoco.exec b/opensrp-core/bin/jacoco.exec new file mode 100644 index 0000000000000000000000000000000000000000..77a3138dc25c8d6a879378082e0d1b1f4f972ab0 GIT binary patch literal 570 zcmZQPa6o`vfI+^rIJHREBS1HxDBmeRKU>$t#6Z{GNY}_b$`i+wVSOH%Vvi&PBR ziv>k8SIZhEAJSn^z@{IpAsAvgYrvDQj1KUzkh!J`*wc8 zOVf`}u&L6Tz#xlk5>hm{=9OfYR7SZ#Ll#5{I%oc8zGfA + 4.0.0 + + + opensrp + org.opensrp + 0.1-SNAPSHOT + + + opensrp-core + jar + opensrp-core + http://github.com/OpenSRP/opensrp-server + + + ${project.basedir}/.. + + + + + + ../assets/config + + + ../assets/schedules + schedules + + + ../build + true + + maven.properties + + + + ../opensrp-core/src/main/resources/ziggy + ziggy + + + ../opensrp-core/src/main/resources/queries + queries + + + ../opensrp-core/src/main/java/org/opensrp/repository/postgres/mapper/xml + org/opensrp/repository/postgres/mapper/xml + + + ../opensrp-core/src/main/java/org/opensrp/repository/postgres/mapper/custom/xml + org/opensrp/repository/postgres/mapper/custom/xml + + + + + + + + motech-platform-server-api + org.motechproject + ${motech.version} + + + com.github.ldriscoll + ektorplucene + 0.2.0 + + + + com.fasterxml.jackson.core + jackson-databind + 2.2.2 + + + + motech-sms-api + org.motechproject + ${motech.version} + + + motech-sms-http + org.motechproject + ${motech.version} + + + org.springframework + spring-core + ${spring.version} + + + commons-logging + commons-logging + + + + + org.springframework + spring-test + ${spring.version} + test + + + commons-logging + commons-logging + + + + + org.springframework + spring-context + ${spring.version} + + + org.springframework + spring-aop + ${spring.version} + + + org.springframework + spring-aspects + ${spring.version} + + + org.springframework + spring-jdbc + ${spring.version} + + + org.opensrp + opensrp-api + 0.1-SNAPSHOT + + + org.opensrp + opensrp-common + 0.1-SNAPSHOT + + + org.opensrp + opensrp-form + 0.1-SNAPSHOT + + + org.opensrp + opensrp-interface + 0.1-SNAPSHOT + + + org.motechproject + motech-scheduletracking-api + ${motech.version} + + + commons-lang + commons-lang + 2.5 + + + org.quartz-scheduler + quartz + 2.1.5 + + + junit + junit + 4.12 + test + + + org.mockito + mockito-all + 1.10.19 + + + org.powermock + powermock-module-junit4 + 1.7.0 + test + + + org.powermock + powermock-api-mockito + 1.7.0 + test + + + org.motechproject + motech-testing-utils + ${motech.version} + test + + + org.apache.poi + poi + 3.13 + + + ch.maxant + rules + 2.1.0 + + + org.apache.httpcomponents + httpclient + 4.5.2 + + + org.apache.commons + commons-dbcp2 + 2.1 + + + + + + org.springframework.data + spring-data-jpa + 1.1.0.RELEASE + + + nl.jqno.equalsverifier + equalsverifier + 2.3 + test + + + com.openpojo + openpojo + 0.8.6 + + + + org.hibernate + hibernate-entitymanager + 4.2.8.Final + + + + org.springframework + spring-orm + ${spring.version} + + + + org.mybatis + mybatis + 3.4.6 + + + org.mybatis + mybatis-spring + 1.3.2 + + + org.jacoco + org.jacoco.agent + 0.7.9 + test + runtime + + + + org.apache.tomcat + tomcat-jdbc + 7.0.85 + + + + + org.postgresql + postgresql + 42.2.1.jre7 + + + + + diff --git a/opensrp-core/bin/src/main/java/org/opensrp/domain/Address.class b/opensrp-core/bin/src/main/java/org/opensrp/domain/Address.class new file mode 100644 index 0000000000000000000000000000000000000000..703160df4c996edc3698288732230c365de4229d GIT binary patch literal 11701 zcmeI1O>h)N6vy8La5tNTdA{0lQY8luR_Vcm2M->!%7X_Fp1oMUp4r`*>^|7(GJ<90Kz8O$ z&#(Xe`n~Sv&9{Gj`4s?cfcFy6qCwhqa{UE^+x^Flve7S`e7`6%+jWZlrts}MOw(bm zn}CHHboq@e!_N2bpFGZTo(8Q&hfOiZVJ2Q@9}>c1hCQIc@&hH?;{`Tsm$}O)Ew;n9 zg=ctN*scbPvwK}(k2=_w2Y^Vp=-^$f=wGCXXM%F5qy zvDFfG zzH*(+Gf@=WMhB#d0)<(FLbge`rO9z|%GO|^=l`^!VTijp2I;KDIe}i82@P#I?#&$J zmSyDe?G6Na482n3c23g#=FW@;*KOf8_qJ)UAl-Km;j*^`tkR$}bkt7A5l#|TYn{J5 zYU7j%tISM2CkjO_2O(^|=m?yMg1cEywT@3S-9u;V5|EKonhB;<&lz&2^hu^yAsKzx z)48j2+vE<;x;2B3aMBs7H1#P*6!89J37?sICTAJ0t50!@xj`=`Lz8?|G;$|!oO&-t zS*8+YnIOt~byF}`m;DwDFE_1wD36^kVrS78F<3J)C^Noj0u%Je3q|30!N^J;w}>JA z%MDRlvrgxm)Z#1E8eI(t$LXHX4L@8{t(7IFNh<|lu)xe6uevh*mx;IpHjx+0E3q0~ z!>O3pSKS682{b<+vo^Qr+Va1Mm*GOu;&`sm-4dRz@Bm=Do>R(s!qI~rKHVob^O9|{ zDQ+_}qmPtaPwuwiOGuD?CP(Ru?88ZQ3`ap zy&YD<8V#1F8!H#GM$nnX&3#{~Fv*;81OMAEt12RASO*P<%lnFPp*PL3QnEH1w-AIy zk@G~CVL>Kxg)SawR5w=^Im%BJq{J-x%$2-GjugB&&%DZh8PvL#r286MCgCm(c3ruQ zBda)Zf(83@>-ua*5o2LBtsNy)lV%_Z8#UO|yzA-18fjhgk`SIGIV2$!Md_> zH#VxbNz!1nnk-4P3^JiG6QdPoIr()aso!VIy0g?@yGe3)N6zDA+)A(veFRh6ui^)1 z4_r6$8tiQzx^a&yxNMmv$1hwD+e5|-Zc^CmFh*EtKE&7ww0DJ;5n+4NXo@tNV1^?t zr?@v=37TN#-9`jvpUOViA(4@_ZBuk@QvtO}P;KGsjwr3BE63%F_s%bD|j7n%U{gcuVoU$xWr5$?LUhsZ>7VHIF&{HWLk zEwBi#!@C6D$=@XYwm>VS8fY>S~230*#?yN=sKaIYt9O9BNv!L}8Bvl4E>zqjJZH=uVl{7qd1eWIuL3%Ko)?~gn1ukrGB2Wx%XN?2F(-JLa3O14oXt%nS<8@2QkT82n1cf*{aF`@)hJo6wZXxDmE8&l$BxyT5Ncw}ClP51j z*g+B=A~cvJVMsxPO%is(u9`n~*ZdLAF6ECiBxw%}M@A!8v>;C?f1JGxVJ}Ib{BeOK zJPg?gAshuoc<(ZV_?h-TNf=Sc_76zHK80-mkRml5kW(!;d84aRm)Ok%VIk8h$1TPbg^kl_Wf=py4-?U?^z#og_>uX!wI9GlB=87jHjXwXE;1o$9 z&NUi+dOxi&C-m8SMu9Lv`r)a|5T0(#Fzpygct(McBMHwc5T;4Oa|(n4NjR%Oa7e;A z1;Qzk@Vo+nKJUMvKsZNgcoBDiaP@tOTz#q7c!i*~z{~i43%mmF;%_@vQqIF`Z~@+g GxBmtu?hx7l literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/domain/AppStateToken.class b/opensrp-core/bin/src/main/java/org/opensrp/domain/AppStateToken.class new file mode 100644 index 0000000000000000000000000000000000000000..49ba4a5e5261b83c76828e3258193bf12ef91c78 GIT binary patch literal 6457 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 F_dgcOOSS+2 literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/domain/BaseEntity.class b/opensrp-core/bin/src/main/java/org/opensrp/domain/BaseEntity.class new file mode 100644 index 0000000000000000000000000000000000000000..fa348a024a08cf006d21fe2fd40501320136e6fe GIT binary patch literal 13958 zcmeHN&3DvP6u+r$XFBu)%7+3fp$fEOJBUS;)=FtX2BuJHLBY>-<}njGlMG2_pnmJh zg-aK1JpKW$TzL+jgF6?j-S`){a_u=T)ccZ5lIh%;yl`@I@W5iG)8xJ1{oUWa?Hv(R<}5m00~DVd+Ja@*DR%AE$gag z;q2q0_7?*4Y^45LS+{hAI3fzM%qKW=XH`wL<|KG*eBz1(y$gDgrC^T)BYxOU8-{MA z;Yn%uugeQi~s3-;wswstarNrbh%(N*t z)25tE8S+;N@yIsR13QojuO!35=;(VqE7{{Vot?7m(<9WHD@MMzL znB3(0e;#7HUANRqm|qXbekTp+Sk#7BD6-Bz!dsc^(tY zLv1Tb=LIrDU`R|+zt~`gfg1uLH-xbc%fN1UdJuNOJ_&Y?w{I%&N9U2es<8|8>KZdv z`Mnz7`p^qX<%)an<{s>|$|^ppPloR^_>V5Q(a_894<*kgq?lO81d}9Xq5MvgP`HNiQBKmYBy9;PlxXcpGOFRW z5_MfD@Ir$Ur7d7gU`Ti@gglQ4=ApKgr1JuqAuuGSsK@$jJ|KoB!5-ql-EJk|Pwyu? zoD}RS;1K&dK+JeX);o+4G!ow9;9O?##XjeApo2AskJI+R$9>mfT>Pv=+Y|f_3(jw( z#4LX=Bv(wsQ3)ynTMt6(OJopoFk3lbn+vjXdGg+mG;YlB1%z8Q)9%kmtt4r9S%Ssx zPVw%F@I{JEDLyp`=7{J{gl|4ILy(493C@J`5|eSrU{$@rTyPW-WetcpFz#pNG3R$A z5qY*`lw#4tpBxwWlusVw$^|-lQW#3Cc^K45=U4YN;Vr*3ye`2)xN4#G)XlRdB?%6a z;p96mS-Zu`rGTz*X`A!x1og_$)Of^7GRQS;Vo7j_;1JlAbScw&)n*W z6r8;EmTHxQHBW+hLUe(3?1Nwuk8oJu4rax)oeDEifvyQ;kgrbo8f;-X+{#jd6~gsE zzBQ$cXl96;aVrI{;BLW*tc7wvg(@P~Edj0)T#ZuIB3iP=_trYfA`)t^?nTWbCkB3X z2#IvFvPAT$pWUo074)U$)lC!Z8eTK<&3nk1G-wi>4X@nI3Ekg9;eA0_G0VKE((bU# z;Q>o`5*E#_=yjvO&Zzul(TKkW>{dq!cG+#Po43kw84qFKD|XXe*48!s7Si3GU)|g< zhokx$N~Mm#J9B}ix3kSAxfFbeFO~S+L<&AeZg?e1!KYY^HeX6o@OjJ8Ci%f7)ikky za?>X42gJZW<9_IYKKzy-W&el%;@=(^fDC?bv40P4IyVHv-no%Y=e7psZQFEiG%#=b zrgJ+2=XSQ78-reakM}q-d;-}_BWnr&W`2gVoh z>|@Wu0X))qYxeGc@JsQL+ZURq$v+6 z>ml{s2hx!a3co<;GfOJ`Vh4pOgp(w~G#vB1dCBv}&zIu_mqilk6*xggdxk(bPa?e9 z!5a!;l|-0>*F0}ddfxb%M|o2uk>=qP=?#UTk_Zd1=y5siaq*QsL+GNDNM|8Oa-no- zkO=4CyvHT)aq)GbxO_z-Ey0BV7k?#ET)rj|E=Gv*HzdMxK-o7uZ@Me{Es1mqRs!Dm zdQjecPa>>FK=_eFxEzSh70(-=3l*C?B+{GkR=}I?vAIhkT#XQ$UrB^(@OFTM?**mk zJrdy^c-PC-_XPF$jYN7MJ_vB>uE*~rf&yzEmjc0sss?|MNJU@)F1{`l!k;9<^?)uV zf(w-=f0IaMPy<}L>+&y&a0Av+m*)LX1+RV0`vl*!YI}W?QY4xVwGL?hnx@bONwk}I nRi(LgN83iA^@4%E^?>R5YT^I4@dNM$elmEcwE-W&C-B*Slxi4m literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/domain/Client.class b/opensrp-core/bin/src/main/java/org/opensrp/domain/Client.class new file mode 100644 index 0000000000000000000000000000000000000000..8c4340168135527b543767fa5e9e2efe34602164 GIT binary patch literal 11272 zcmeHMOK=ob6ulin=93u`0{8*Z20u&$6O@n2glIkl0uw+IP*Bm%^vleHneL&xClLRL zE?l^>T)A*zSu9+*a6u_mvT$LQE?l^A|R%SU66)Fpj@72#PnP zRHnEcJ)Y4>t!C&~u(vR(>lLPGXxZagy1iW`rm4(8#G>v0%t8&}vj(d;{K~wB9M=}6 zl$sc6nwK=isvBstN3;z!`&%e*(<0i3^TUYHHN-V;4NI^l*MCNW&M{qO3D|4GYn(ZJRql2Gi4^LtXNSDG^#1Zi%N;f+i`*i z8WTL=Oz?JD)tM<{jCejUsA0qFFQdrZ(XW*iUL+3>+b^;qi9p*$^Ta$e46d>e-YaUBhRyI$2JQt}f=#*R zH+b=4-c#TjJ6^BOGGj);cWqJH(2GjtjAC$c-DvEz${gzh{e{qqiSrhO6@Y8Rh|L@# zwYVzF`_&My*x~>23k!~p^1{FCtIi^dhl1%RtIt$q*m=7IWPc$msk=Q`4TTGDL{+ga zV`BAbse)CLK%$tQn7x3NBSaN*^y%tHqsa-u>)STu6;=0Nu0HqMbl=Qetc0!Y!Ltok z0vR93l$bT)SI9T!`kU>Nuv>zO<%_+d)*B@ekRW3&8ZnCmrUE7PEOrO4yRpCERoT0- z*S|{6)hiXJ5-iDfOQjQcfz;cwuw zFG$p_^LHcNM#`N}!l(p?!`Vhk(J?W=;XShMc$u6xoM0?Cc@$k6abr_s3N4*f4v!nq z!2K^~(a9kiM-yza&RQ;Sb666iA~e3*0WbN&&h63d-dB;kYvW8rZMO)4emMYgxG zOXl2%DeSlZ#$+eLn!U`ea$s>CB=({>x!F2_7hD?|(GXY;;?h|T3Ncjk!ftMfL&tW{ zla>U-fpy@^D?A18a!(u3lN=s;34dIL?a39Kzxn7Klki%kjmrTJTlVV(o!exxyCIVp zUY>7BPB8|^&T&n3c+N9S|2Gp_=(krEuDyXJI|;#yBf=gpv$BPTf~2+y*O=Hf{HYu-QwN6|*ePGws98NePmc?mVz?*lE3P z6xjq9Z&KZk9_UzH%qjwgPtb4UZQP1F-9NJwgEOG%S|@ddlqru z1)cahd>@W>KlbiLFD3j<--OL)`yRLf58krx*@oZ3TfonD{1#q_Xgmy$*lqYijV&%h zhvxOBIK@OS{BH4ZyHZ+3a!tZRYG6EG0q zV$ZxiyMu&2>ZCrNTtXid!UBo#R16MplL&iaaJWh$?2WWAj_?Sd^ z8lE9%^I2jxKO+(HFcd)WS38C9If-yE28S<5gy9$*u9FDQ!Sewxd{vJSarlZv7=!Tu zf*%J8;cF7%Pz(;=kO&hoINTr+4#!Z`O%mZq3{~GE5hi1B_<=+?8iT`+B*HN$c>Cp) zw_p0YI8Nx|XA-#N0?p5@`-f0k8bIp%8jWgkvpm*-9X-hca;V%FWF$pwgOi z(u>W}mUfb8RnV3|^LGUbZ8w1?fsT6|&24$KeFWMXsG)Bia0x8@1-OQvUi7;Tmtg_k Kgty^cxcVRF%(`L# literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/domain/ContactPoint.class b/opensrp-core/bin/src/main/java/org/opensrp/domain/ContactPoint.class new file mode 100644 index 0000000000000000000000000000000000000000..861c763113424ce3d67089efbde4dfce75e746b8 GIT binary patch literal 3710 zcmeHJ+invv5FMA0O_sE!<$iYxg#>6qxzhp?f+9sq3sOrZ9^H*e3>$mpbt?KZ{00(8 z@Xkje#+!s)R0|p@AXVbUV~=Of9FNyK^X>bmF92{GmOYptun_B@-ep48-?D91SGrwS z5tp%!>MfP%pDJlsU|uRAjR!dbhZD|GJ0y(o2aRRf=bZgycA=}FY4)kK& z%FAANi)#XYr1=}JxeQQC8U%{5VcI-n2G@Sm$_>%w=;(3T>Z|h)g%sv7VpXb}811QQ zaSvt*OsDZyv{t$RM@jy}E2(*`!foE7f$BygWJV}SBdxYV-i?>2U)<<$+TuaTG#W)L zc*okD&f)26gVWdgr=O!O#bYX!pJ?cm(H&Ue(~?3@9V_>CqL$Q@sAU_Z^P~J z$ME0G7NYbI?!ycmFToU?AaJa*yJFf3H{HZvAj-_?Y5qCF}-I_*PpVOHo?6tYsNP2*ymFjN40#E|s9_sSg9s^Q}hm`V2?p4x+ zpemUZQPWSa?LX4_B2wiE;=5h&}Nt2AtCN{G3hwm2os&+ths z7obic`aO2iuM9oLQmc^@Qq6FhtfZ7IWgjW844W?>ZPUfN>gj+#7xtT+$+m_`>*K*a z0)-)24<7u|E%q-LqpylM#^%s|Ffo(?`#S7M^DqGiaRij!Ko$nF2!5hJ1f@hyCUOcr zr(hb#!>GNDC1Ww_+)VG4ua0XWv;Vh0r1P^tiBAkQs z8HAL>1qX+7P7Y-_kwKXF$-#wCb|TD;z+v8raB&0fhBx7l-hihueub{l+pwzsS-C59FWGlgFRurW6h4E z=D>jy2M!!KaNrL?0txPjzp3KQtesusk+Q2=DM2}ScjwL9-}}Aayjg4BUypwK0|2hW z{XFC>xEcz#)+H>c?UMsi?b>#0pSse5 zl1C)ncHO=Z)U&{D+`(~^b!pv#%RBu*;^TU7z(UsY>1q&gNhISzXu#!?BCa4s|^0`UItMddQZvsk4kSR|hgzBbk>SkJHdW zZJaKVZpV@MB7N9Hfs-%dYE{*$R28490Vaybx;-wWqn-Ma`HoAJ>`se1L&hVH2=s(q za3$`r&=su90wTFE&~YSph$GR{E^cy3-OgO45tU;*9gcUx362_Es( z8I`-l-y?#l@xVAOI}FdE*BTkl)_5#!SK@>7c>GCOR2~>9KF>zt)F&TXE7qn`ZLzpJ zP^zrNp$hP-1-%r<=!tGqT*&a>w8{zb74Z@hk2)W^N3e*j$0RGj8y5H}*r%z#ROODm zka>bvd7$sG$59xlTQ9&{7Iac@Q_4Q}-?9befuchq#YoTkQ4x%^T(tfpmRU?>=co@e zi)e|Fo*VXbqPgKHKM=rz{D1*+LEEt4RGUa~8yVyLZlZIf=9A-MG_RXU#b{1H+q=9k zTzZ$Ooj(_?g6fOuW{d?34b@K?>0;onK6gO;KKd`M2QK!!SSYdabdOO%gxfjH!#!*> zsWr&M2DYw-b)JWY1&gLGM;^9Dns8BVVPR~tFvK32;t;}%fITd1^A#Zn=U@g$c^s*G z0q;4q+hev_gRNw+l?}G@2HPB57>n_g!Eb)db_w5GfJMA6=~m?wJ^|Rj!^JP=pZ*n| z{Zr@g99~sMfWPPQT8g~j1#q-&L8~xCQ2A#^SVqjpL3jyXP9Vftykf{=!+RB5pHDI7vCBY>KXRM zcSeMp8FcvGi11Mc9eyw(+{(b=M!b(&3^!^^hB5d literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/domain/ErrorTraceForm.class b/opensrp-core/bin/src/main/java/org/opensrp/domain/ErrorTraceForm.class new file mode 100644 index 0000000000000000000000000000000000000000..f2c038bd2d4b28ed88abaa0c8df0d2e573be3058 GIT binary patch literal 2701 zcmeHJT~8D-6un(wKSmG)@dH5%qRuMJXyTI)5@R$mS>$0?5+A!Wb+<4xowOYyf6EsW zP4wL#WxSn1mX!%+lYQ`kOwzg2-k#ojrtP^ue|`N90MEgzL4|;?Rp7@=B>n+AV!l*8 zU#2|KD)mE|_rF$3s*Yj-eU;DI6F@KZMeo2?O0w+PH=!%U|4 zQX^!d2~=Axp$!f++M<`>km3ZE^3LtnVC}Y1BI#}IpksAgB*N?vm~fl>1SVg}kk??A z!0f<1Poxgl$kfjJL~$*nBOcN~#;J&yU74mzb|W6^7u0EV`kaP5h?qjBlm&;Z$LSjK z-ZBR4PMrr_6|m1}w4A zT~7Z*Jc6TTu>^q{Nf|ZADR&wLhyQSTsT4aN7uef4jYJ>})mh3F@}Fp|gH{xE{m7*~|z!Wk=d;|l5$=lrocdnhjX zxsV?RuEN4JT!HHZ7Txm~vb}+4TX=TgWpS6Q4#P{8zb*RRvnfJtX`}HCI_X&KyILutI{VFm7 DQGg<+ literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/domain/Event.class b/opensrp-core/bin/src/main/java/org/opensrp/domain/Event.class new file mode 100644 index 0000000000000000000000000000000000000000..0674572999ebb6c042fd64f76134076cc61f2241 GIT binary patch literal 11673 zcmeI1OK==V8OOg7vi1=@{3bX7#!g69#L+5=d0E0Fv1}x@Cc8DR~4`DN_ZT&Q5>m)D&PuL964~{z<~n?4msq&0g8Xm?#|3=KJCmV4M!{)uCZReDk`o<7W(=p2p@t9@VuHl-t1^#qt)v>LM5(Y@O zi|UhQ=sAZLZg-`s(ZMKGqkO}zcmP!+CzP?U0LtSn@$qBitQ^)8l8$F*fwqkDF;)$d5zm~BbZmXHj9Xqk>(73*7P z4dtwfQVA^7Ip$q3Zc~7q6k9?{qX7w7*d}UT@7ZcwdWLGGt$-zk0dHya2D^-kbA4j$ z5U-b=1=UMl4XoSkxg=8+u3@SUGaU>yyn;?v(MhXryEcmFlj1L`23`jft}vR)pX2HR ztVPo@-7^qen7xA1vv5p?9@JQ;ZRXl#OA5zsbVOCJ*v*#N@NCyHPzal* zb6U^mHtRyKib?~%t?DhKa?Pj-{RF1KTz?A8^`^iHy=n_bN2KXZ!>!bH7Y)VD7D7DS z5U!h3GiFZdnPV`$9?fRUmagtqYP)7buNW$b^|H_hivQ~>!q_-7{&%XVMQEjF*;4eE zA``(A9c10LbwhWtq+q!5yJR{QX*Nx)jJAxcj{vM=Q8i?x-qr0bFCrC6_f~7&bad0I zU{SnX{!5v;ka8jkuE5dV)GE*hYs=(U8cjRgdms0 zJPYy%J-;!@r)Vo>)GK?`cT`QZMCtqaZLF`fVj(jn
p6i?KIiwqMISB2R@vTMG7 zxfmZ5z2sDukR@6god8n#pZM)Yqf#Ol&L)$VrN=ZnA1^G)^o6gSzOQnHo~x7tAL?Bv z_Lb*!qgwTxKAT|PDHp3oGZ-nA?hVqbhcQl(sf3D3t76L(b;%^#x9shwGL@QUYr?s*1Tgw4cAnD5c%s%2<@B5NW=CaOS1*fQ02fm z?=qpKs=*Y7DS&BoKO-^fCDn4j6ivG$!i|-^Y5`WMbCqPBg3|E)B%XUqtlHg?NyoSh z_IbGd!x}BeyM54L^jj$4=sVQcR3Yd}srRMya?O72-t8d>Js(NP9|AI3s*FZX&d<~< zqlfO5(V?`qdLF*deVbEAAUU6VMwZj>9-s&tSa+! zpl$Y3;W<1XTxa^_$hr4RG0-~`C7MUnXuv`tc*BM0&0tYK|u^+EZf_7I*HQ>x2Qtey(TYI1IX=>_p&g^k9mXJ9x$y@GH=W>iCO?VcZO z0?Ac8nRc&8j=q?5CrOT+5ZBw@nby!NX78kNVfJZtV7HFLCuvsIfnBz4ICXVI7ChVbksXR+@8D#ZVD%sNa$a-u37dCOy)x+HE=^I zd(_(3F&b?!kF11}@5_TceTKdT8G}VJLoZ|I_FsZB^j(~2srQi#eIJUkVP)tQ%;#V~ z?HQV(9}blcOqyI%hmlrIsdDHzfq_HbqcleQXac_(+>KF|a`-=ir+M%G4w}UEaM=`7 zHcc~;di$Ar2bi*hOxYo(>~Kiuk!_leGWFj`clvg{XmUNk}gsd4IX@6h|Pox-|KeB`;Q^d!gSi(~&H2j$*JWU@8 z`5}mlXPCJ73rqM2eKbS}#)2dKl_h*Eg&+RL5{wjn_&ZA|r_k^kOQ@vK@H$JVrqJ*Y zmLO7S_$N!)O0GfU_q1Aa4cb0dLp}YPrR7+XnSQ;{rdZO|51^Obi48A&F#5?fdOJnp1 zKg-fyqA%@08@-l2&(JjbGFAaz+i2Pg3~ijg0^7#utG=yY!~Hk#NAx57P2(HvoAhn^ L4t73QkJsF3?>{Lra?|sL)1gwFQX{m3WH0GtREt8GB@V zR&D=Ce+m*v@XjycS0JuuHv2&=>J{aweVOst$H&L_+H=nzfBo_s0PMhS6)FL2YZbLq z%0>GT9n!W`{kF`Q&?;-kvgkjMDy_m|0A~tBLPfv*eeV&AOaNhzi}=Vq%~$~IoymCD zC@%WD0j$OBnC6K&Du5X^g8-I~IZI-VjZTMagQ&2}`+}NWAA86?yl3DY|*j?(Pmd=7Jk8MM1T^XTSCXSZFjK2C(?8j9C@d16ZAG@UBu))nFr7 z`twJjn3lfzylk(fmZRS3#x^qBS;*}_=2MzL;{vECxF zWSR(RNJ>pKAOElR z@V=I!%M_;xf5sdLVkDu&9)f!4haFO6!|2q*@}Rtc)C**f(hGPzAotQN;So1P=NVI& zP@#>=BO?_l&wQgvxF)&4bIk>dTjW8G>tc?IX~|Q<#ZW$Ggkro0vkdj{|7G_IlNZP% zP#zGkrMy5Mi+Mo2mU;~eJwo{^Lh7&v@2tREa4vwejnl=>){4~*{uI8;(;icY_6KLH zqKs(raP-3)buO9#$2xV{ugGC_yXIK$w1TpnmQSnZx&N#=>+OFjuvXbhpP6qa)?uU3 zJiVJ5YzB~cRM(ewWl@)&)rB(A9Q@P3Y#_?f9U{6gB$(P7?#Nye%-!`-bIuUgpc%lx zWBV`VE?NUMQ6DxYhv-Jxo>TovlF?zExUzl!IJkY8P0keG*WSWhbXH)!D{~dG18y&B zXq{l;r~oB*gof(&dDXwx6CAoEpH_$KIgjC_?jA1U% zC?2o}Tx+z(hv=3xYyz50G~9aA@BrYzdt4^jXQ<_?1rpbA6F@5P|YENnUe9ZLknr=Fn7T_x8w*p_lHGJC>x`Xdq LMY{sm;j6y^)SV&i literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/domain/FormDefinition.class b/opensrp-core/bin/src/main/java/org/opensrp/domain/FormDefinition.class new file mode 100644 index 0000000000000000000000000000000000000000..0d5645186d6d145e655defb5735a1467e4ba0745 GIT binary patch literal 1811 zcmd5+T~8B16unal+pg7O0YyO>P(#Z@8xx7`+Q#6r}#3wS{9m?SD%w}e`QU92U zCi?D=GTzxOw1idq;Dc#)X1a6l*>lhR`1$MWcK~<-8y=Jhbc_x?mZG9fjw{M+2@6IuU4e zM=pC-3)$Z!PU5VQ_a>P`oB~m_ux8#`Uw4%)=F2PPD+~xQgfrC z0S{@Q;zUHuML-j+dJ&J!Q|eduPdE*E5HXEL2@5{3KBsG_LVKt}J6B>HBNWYrr`idC-Ln9w*aI*$gXb@OvUM^l&e)TSf{w9rkT<<$^ zU6reVMTbMNhcCK~(C#&+U^X9>NU+Ht}+V9VOHQ#JqCRc&G1fmJ5|DOquRLxaX zytO;*?^0<+ z%y;BK7=dYi;TkrZB$(BD_d>H`&O9N5D0OqGd0|lIS`(=43S)5o?PL2ISOpwrIF3vB zn}(U}Q?Q1- UOYi_5;_mc%gnJ90GM?9e1C(0##{d8T literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/domain/FormField.class b/opensrp-core/bin/src/main/java/org/opensrp/domain/FormField.class new file mode 100644 index 0000000000000000000000000000000000000000..281c25c5f9d1bc820430d8602f5e4d695973d200 GIT binary patch literal 2607 zcmeHIU2oGc6uoJ?r41e37awE5ybV~(M*9E~5+Ec%Od9HjM8_od<|d}~me`T)RE$4{ z1QNXSqYyXgwrzsvw3k3%zGqaG2PUCfZkNL)df}jy|V7fV2Y8k~v=P|Cexdhg zO3XpbhPCZcM8lxHQlIEQfDUD}5yc_*xgk1tzHY)LrRHUEiYK?GB5)rWXT(F={ zHWO`9(z0#g0pX%2_Zgu`K=(9)SNgl?Lk0NX=p1j$KTW0w6EIx{4`v*=R6Q$esaRE- z_z1R=sLj-N`V>?BlRgc14xi@XWWjW~c3`bJyv(9%u2>GWyD?j>on0uxyaVA7a(Ql9 zbinN}vz65WS09gX?s=yF>0Ey_#dYh~T7dGuTZCl?7Ju(EDm>DRP-hSd)!j5HUP~s* zXX`x8$Hn8qmC3gQ^KTMic*HhDk86%OdzNZ-RzxsGmF6j(#w@s8_+gTkq_tCZug{tT z@(HHC zWqW3^9nV(q^5MALw}Q)X1^-fntJoePq$iGwFa~oc5C%S6v-mJ)^}!thVZn-UeFTJM zE5Z$!IT1zfm X;SO?_gB7S^pWeJ0_V@5B;CS^Xvhk#T literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/domain/Hia2Indicator.class b/opensrp-core/bin/src/main/java/org/opensrp/domain/Hia2Indicator.class new file mode 100644 index 0000000000000000000000000000000000000000..126fe6dc92f5238b0e3571a5d247649a65eafa94 GIT binary patch literal 5620 zcmeHLU2oeq6uolY*ixLtP1zzUy6+?NRp zV7)(!d1e$B!`lIzdzuTwM{HY+x#okE-4j9@YPb|SfYts(EyWXs!z*)u;U`l%U}*qL z$sX6+NdU_U)3M^2?GQi{1+k%22N*e~X^x{tnUZ6kFlD2|JWDVlxrg$W?r_1)-2hH> zwsr%kTagVo9l+X5=J!fT)r5C~)`jOnF)hFbv1+a!r(n&3Rih?;nh80^SiWtg@3j`$S1HrrjRr|Y08N93bS zDnqcH#MCB_3>cYejl%f^Is%B1gc5U*u_!Db%4>ouz9R{)^7oqcvOUUD9&Kr4qpgyw`#@oDJYiXVK|ci?Pj(&9vyeQ>uB6iw0-%yq9+a5A=Xf#V3 zdAhT;ID;m996)*ukM^IP4X8~oXltU}e(6w~*g7eOh<-Qmt0BVE@~Xw>?dz&-oClUM z;{KtfUB>2F&5pHOdR#l!q_~18`sG8%yMj&g^%k~2pPAqmHqTX~XEIkYd%%mudBo)x zF0=tRj#&LNn*p>QajntN@1T#=@DZS?#_tJDsKH5C!de4s_TI#M4MGPNIk061)^cDg z4s6wdtu0_1sHqL7@VZ`n|2Tmqfanj{_-XyjZ}9G4h2Hn^YSjb&&f&FHM!|XbpupPj zAtFAY&rXKVJv98{WaxTm7&sYv r9vWUa8LoP0*mp8~;h{k|8LoL~P!5I~e2M$HhF^HU#(N$2`B(n}0a5(d literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/domain/Multimedia.class b/opensrp-core/bin/src/main/java/org/opensrp/domain/Multimedia.class new file mode 100644 index 0000000000000000000000000000000000000000..4566facf3d7b5f3ac7b6fc43f315a110a01523bc GIT binary patch literal 5696 zcmeI0>vP*g5Wx4GG`1BxPSd13%0o>H*p%2%3Z+ekHZLaWIHc32otA+Q7x`*mk#y$n zY{-AX@Xs()X5c%26vLiuM>07Ysgp0A@drI_wfgPe-b1_k`=1wo0>BN}&O?sCH6^`9 zKzZ1BPW!YWWV<1{EL5`FXo*O^*YhkMqnb+CC$+Sf^9n7v%UP(@#Q&a~N@)V^BZ*0mX zM<-SMCQ8Lg2qqzLCLx%F0KaIj?Ow3oXHsGocFN~6)i-+kryljyMvwcL)meZ}F{QN~ zsyZgKI|EdzfjJNZwU^j)U>=rAP=<>HmZ~SyUz3einmlCR_JTtu4=5&>CQlX~^&eBo zO?xPu)*X%s@k%p8MvnRN4;HH@{dhHr@!t8F>(1sd!C$u+t7USy0PhpSYjNP6_uz@$jM0yb>Luo)JuyZ_9~!HQk2eTO649Id<60(?&3*A$~Ndc(4e zleyyA>*Zm_b=q!aMM8f{;5V zyl3&@s?`TK1EFdqT+TpPu@aUu5UyJZS27T8S_xO-gG40b(X>T!%}V$%1L2O9@KFZB zhLupwK-jhtY8ePSR>H?{F%ij^&&j5ha4iF2-%9u-1L1*{u#$oB$V#YZAUv@U&O-w} z#hq)kk9~%#d$d=?QN3EByvH{gr^p~bWPOAC!!Xav5(d1Ci1rrom8o>^#9u!?=l T!5ZAbE5H^W1>DW=;<52BJ+c5( literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/domain/Obs.class b/opensrp-core/bin/src/main/java/org/opensrp/domain/Obs.class new file mode 100644 index 0000000000000000000000000000000000000000..b31e53b0f50fb31563a0c69bea52bcc4e8dbaeb0 GIT binary patch literal 9358 zcmeHMOOx9~5N<6={D^lq?{`31Lh$miA%s^p1oB#T7bjWPn}vi&AzNd65?K;@7y?yP z!GQw@4jede-~b0MT)040s3Lcc6c;X>_#G5Il4Z%+-e?p|DnJfvX+}L?f8EpFqiy~C z=e3^z;0QQ57*pV&>olufjhofWT2HH5PP=N^%yb>Qs$0SQ`G%W=bqZ_>1Psk=SI;*t zv!`!A_W_iUR9|Njcc3z+~*f zGmc|9dAL`Z{N;k_FxN7AOjnVR&5gi)s_j^a*>#Vq#lmujsXA*K=pkLTwdNJA&D1H} z%SwMQE8$*Fsk+5n6}Ld`YF@LWdbp6iYoig#g%}bQvGo3WXe^ejgW!=^l~ za#!_Dowc~h^on}c$AH6H8Z0xes@&{ZSD30{MeGbC6bt_>x>V`7%|fHvmr>!|X7fj< zPO4~)%1aVBqqFS)mlRTaIXVa5MUs1~y6dNcIC1COrsXh+qghH&qLkb=kvnmNC0~Uk z#qLB4rK+7o4Agzw#{VzfS2V}OE`ysAp`&w!r0>&BD8gP)ORx(LD6qYpXj6n-XGB+E zvWBmf=lpJiIm@DXAQ~)IQ!`dHhl_E4a-G-V*q=C5lWF5%N8)`#-D(0-Gs4c9u>B$< zFO2$nwAzz>n=rbt!?SkpN0#M>qhlF2bo%^cIh5MW3%X2UBWzoFdiBaYJfeUh(HsYA@kpu94BhH^1^jJ6I zlXxV&FiSOE1tapoHe7LLbwjpA`a&K$;s$!VPic?-WBa z!ncbjM7SMJhMTPAff_Qki*?I)nrxPfw~jo1{t3PVONTlW6| z_gxRTP2sPw81V0Y{4Ir2a1b5{=61oMfgKMHkP7%LJ5m|3BQC zv!peT274ZH7#nb)5Ee*;${HN11c!4Z!sBajpb(Zwgu@v)tdIy#WZ-a#L^zUx!_?AStkOAR4 z5@7{iA^q?wu@~Qy2$$fsLC(G|nX}hOq&L>!@)p76I*HK8;E!KPgk}bW-$(=<80k?e kHh(7(TDRcQKM15TXyZ9C1|4`CuO)o%<8TGK_;zId1tBNb-~a#s literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/domain/Photo.class b/opensrp-core/bin/src/main/java/org/opensrp/domain/Photo.class new file mode 100644 index 0000000000000000000000000000000000000000..e7aa98e54780ab0ac5de4087e58397bb7104beba GIT binary patch literal 3433 zcmeHJT~8B16uncSEu~PbpeTw{L?|dNDk=i{QZ;E()PzFf<92s!2evz#*;yj~F%wPn z-5+JVyW6rwCeS7(V&corosWC=?71_0=Eu)3-vD3@o~Ix|V8N4SxovQ#yl)&DWg(ko z;WEdQZrKvy_`8-+A_YSPCc-7Q;WW!{8~e;u1V&BaDCVg8k;@3=Yw?O5CArhwB#;gg ze4~l;mwd?y40-$$c1V@Lu;R+bIBgn=HHADvL<_@;WcaiQWNI%lsPi^Mq~sQNxO#y& z#ic#OsR)au;0l3U{MuJi3Ymr}GVJdQxNxW|MZ;!oZ-Zt=>Mces zX4;0tMXq5UAWb@lB9uBJlp+!4s3n+39ieF3P-crNOk^Kj)Sx#JwJZgil>$B`4NUY# z-gbpl6z8dFI00yb(Jt4_NTi%*iYh@3s!-~Sxu{#JbEsF_uFXxZsOP&(Vr?8xN#9gL z(r8;1mniqB?^x^ucbHY8+rFm)xx+O3h;rvp958C2bgh#J7gLyjwxa)uU&zzg=Rx}$ z%QBFMYgx#_G=Zt&X+H>l+_@Sa>o<<>V9Bap)UC~c@%4U|tKPQ7EfIM)dSE|u7TaU$*ok_P+e*pag+X?J67 zrr{9*_iQGi(RMS=v4;MZMRJ~CHCBvC1s|H(5xz9pYaZ;bOn8L}O*sY6P=)SmQh=ML z=T;LHoIrM)dmi3if?JIT1;85zUYYQ|1jCTTD1mX*raSEjWWw>$PCwge$6y@CbBK_G z34C70-WsA2Y%^aW|2{wY8Loa0bFbqw8O{*6fpIok1v79HdjxL5EIv;o+}0rEwFm{6 z?ml#^8;|0)gs&-fI~rxumFoaO2*YJYHBgBMOcP= zJqU3vbO?)Dg!=>Nu&hN`89;{>EkbDk4y#&(@&Fvxvl?n#G~e)zFvkRPhb`CLVIC(iRSEH3=GV)6MhU;Z zMj-Q4_`*CRFtk$KCy;(2Ydj011jf6;8%jx)gE2Dn`>n6ImTsHZs3X0maG4R(r%fdf zT<+;7G(S>pa9ZPz%M=DRne&0wIbFnAl{&L3MYCF@HOV#grJ)`(PJni2IV0S;|0jV1cBL=(=HJh!+1sb ze5d6da8+ek>w%p}hq?PqiJ;x-Oq+(#=uwrvCKbyYJ!sjI)6OEpLus6#8HsAG_@2Q0 zn-&_M$G82q&;ofq54<2WDWsLJ#KKw2!90P_3G6H$VbNi49S=s>=+}*oWWp0!Z(2YcgVk+Dtv`YKe3g9 zNxWymFIe*UUWlS#8fLIX0@uKMjF7^<^CQgmAOsxGhcF43;R-UniX#K2*YJ6o&zxmO zbCwxR!gaWD23mK0Zd%Y5ENBEMuDqRF7j4mkwq!+H3imOdT^Hew1)*p~SUzLFYzV6s XgdteL^-Vz$?&A~SAzm45uR{4R3}gZt literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/domain/Report.class b/opensrp-core/bin/src/main/java/org/opensrp/domain/Report.class new file mode 100644 index 0000000000000000000000000000000000000000..922702fe1a5c4e349e882dd55d2544fd7540f432 GIT binary patch literal 6147 zcmeHLU2_{X6unB**xooznhydkA4&?;p+9brrVcIwe^nn>RYtva3d{7ka7r}- zvlXAeX*%^n)sx(*7YSV7ZzI-bC8xt(e%xf6jw3vOj!WQ5rR)mlkwiVx>muBczLYJ~ zW7w#u=K;7s05Flj&=~`R* zOJlQyt2elLyX4e3+8`vNCn^>0dbn7o%Igj?NL=fV-??5H>X_XqTX6$vCf2#by$u4F zaw|s!#vh6rOTl#l)1jxfr4%v^ZxG|VLq{@KG&`(DEn&BK)7MJTF!Y=4u2Ca%&|tL2 ztfnau)H1Cf%sQjXxTX1%EzJj8x=d?=xfESZZPT+F)WeDFrxvrk=tQ(BuOc9?^yD=( z!HV2g@j-o1+v81YnQ9m5F{3@jr+`TGUqUbhwzz9aZgbouAvJ4JPf(M3hzx`^IFqKd z8eJ-$`o2&@G>Ci3UCJFxI4*8Jb37vx4ayWGmtgY}Kvkj{ zvd7gfhNGmp+q$}=PFJ|YzG~aYOdgnc?Nrx#yyG{IOvzRIq;uSB zaJ(?D48IizcPzXN|DsuOP(yg-*Nla?<{%u3aWLglaI06={rY@0oTG?Ps;BDAQ=8B$ zwB~awgNCQ!Jp#=bCB(>15(;xq3sXXa{Z^@)Ko*7el6Wx<1p=)Y0(&z?^0ys`jEb7d zg_?Ta4aS4oQW+I(&!JH}1Lfu%q6T}F1F)Ly*P)6l+Ros3^`tb-;8^dsf&E9lN)?O6 zavJUtSUTHTSPx>2j4b_`4v*2Edd=a~ z)k-cb0lrVb*E<;)gUc|1trWJ@GmXzN>^BDbCN;RMrf*8qcSX}T4Ko94T!qp@QXxP*;d^Qj4+(7;YTgQ19%u=2+xI1 zLtD$R1>5~hv!lrqUugW%)iRZ!+-Lf-&lGCXG5xGzx&#&U z!i5VLELga3p3t2mA}%xY3oz`(`p9CAXcKo*XR5BAJ;t_x z4Wv|=HVlm^I=T%`@(Ld9Dvb4m*ZGV{EyD|XvN+(V*mqSuH@gWi?GPQK+TVt|@gUkKw2lyQ5ZgM{P`24Q9#cPPwVrwT5hCM|Pvd zYIe9Ij%QH}a#8Rp5-_et-fS7BEjvPOn`?4S5hEp6nd~vX?*!4A`e6n+eb52yiz) zLqfpGyi5CwK4HT*Ep%*r*7h;Xf z13x1+sTX3T;yxw)SPr;vg<{5UOtE;0Kb}CIy={HR++h=;K#HmNEkImTU1Og zp1X~Mc7tO9V7wAp=WsuB@Dsm9Xzb+>tHleSvR|a=?Iw)5eQ#CvlIU#_v~J#GT4Kd1 zJEa=uPf+;#KcFxX9V}C-ie(ZDOG0Z^k%DrNn;c?^p06%rIR{0B>A5QJOrppXCqbb`Yn8@45||4W=<@hF{5*v3D}K#x2;T-z>7}-&xph5Z$8=E7 z%b^|qyhy_#3C=|G_d2YfgdhESM_M>k9rLRIgC>upIw z$1%?j2ni-b@fid~bo%kvs;uDeMa-c>#l0=Z=ah!GV{viEensP1Vam+2E@RVGCU@Ot*{NB zQurjUX}k_VhG@$YZ9|aj>6?e`J#E88-x1h>nnoRcJ6Gu+gF)Q#?nabH@a?-C=7g%E^ik|R75Ldb3i z;aT5H&-vC2Z2;+c*dOBJ_{#A|f$-=e>CqR~@F<0Fg+w@zfWuW1;l%_TswBco2{_91+<23jzuDYQQcGzk>UP&Bvo(f%UP dwm=na8-N-t;T52bzY(;%4jisQ6AZWx*1uGL1gro6 literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/domain/Stock.class b/opensrp-core/bin/src/main/java/org/opensrp/domain/Stock.class new file mode 100644 index 0000000000000000000000000000000000000000..3fad316b35cd87b8c8608d839af42e160982a5a2 GIT binary patch literal 5512 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 al%WnWv8V8~hx_-qe#WI@zu%`H=)n`A$rL02 literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/domain/User.class b/opensrp-core/bin/src/main/java/org/opensrp/domain/User.class new file mode 100644 index 0000000000000000000000000000000000000000..4cc466a42625ac930d4246e26ea54d2fa895d79a GIT binary patch literal 9134 zcmeI1OLN>r5XXBQ+pFC;ah^Q#LP-d*33z#g0C6xlaZK!N9@vf{;Z)Rgy;3UWb^f5RVD5u=u(ktKM%e?HXTG?+3FHp^L)sM!n1ws{|pTUV#)3ZDf=eD&Lmo=s3m9y#%m%)9 zRiPFYuAsTq26nr)<46Y#G?nbFgZ$_=FdhioKPa zf{s^1iqS*fs@m!DHczD+@1g_0NNK~CiVK1cWMV@aq5jxWu+Q{X$? zUF1sY-|fNvurBfS{&*#||DfN;@U{LT;cu-1lM$^_=0+nt>M0(N`xe^Q=l`@XvJtX= zi$rVMS`(p8Y~0J)Gcvk13=57ia19zFMrChegtCHOSz6@PZih&pOMVsb+ z@L+sQ2CECAz^he#8H1syOBdh3$1Qk;u`LF9$ail~57g`x(tu-l(`QgpqTw%#I7#I0 zcf*1+3}!dZmTn=MCJU#f&V$(Fb{R~Go4nY;A3>P3@u zKrJ}OU@BcwdZrMqS73r>unmhQ8DOv@PEj&s!374>>E2DMAKhWB2^%Z*whZgZE;df= zv!llMmk5^ZFP3J<+e#@q?CdN0M|*vhJL}8X$+?YIp)n=W7FWfvmXqW}&;RNX?4XN} zTinGnt7`Vj(k*O6kB?#rl`5Tw1YGXd8C*!8ug(PLhfYJoG@U0JxdnTz-Tfo1Nt&~oogPha*zr-NGn2b=r4hzo#5JCf#p z9B2V*t42E_hA!#<6nHi5F@VE>I`RJ~gU|;9_=)Q;`h~jjyAO)QScw?hN{kJ`HY9A1 zIK%gFcdUEvDD>mw)-F`C8?QWx>KJ~PzJop2cRg|!9{Vxk?Z;287Vz%?eh$S}a1ahf zWB9;^BOO8?j%6o2(L)&66v6Jsf4Hkf=QXRABXG1wOOlT#iF}+Q^YPR=`Jf1=Ny70A z8YW1>NCpjONy2Cb4bvpy=?ofXNy3Q?8ZMKBXEJD*BMHyKShupu-O5Vp;yI!&7D>_z z@M4#AvP(+V3q|^nB)x=D^>tVIDXj9ftM6q(*Ahv46;7wp#tE7vX|HXP=8?1sczqph z$qZ21R!G_#o1}e8(k4?X<1CT0&q&f#N@Y-_FG$jPgUX=t^(9H0#<`?+_BV;hz9I=T zo2-VfN!l!2G}iMCNvLEX+#v~Pgv%KS-;;zZaJ9RWyhW^is$PB~Npl&r{6Z4u zH=*TMlC+RP%Wni>CtQQYp55YYa$kIhsNLU5+6{Pj9a^&YP_#b?8iV)nUY6|Hz1lXW c{YlWa!21|mAAA5DzX9s_XW`S^5>(;l-@C11e*gdg literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/Action.class b/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/Action.class new file mode 100644 index 0000000000000000000000000000000000000000..dc3dff588520a11f254ea1f2ce8985b37f86076a GIT binary patch literal 1709 zcmcgsTW`}a6h6+jw#f<|W#i89#%1kGG9jKALP7|np$;B)k$7|yuk}dn$aW@p;CCT` z1n>MP#BnlcfC!2-O_7|FoKK&>bN%}5<7WVP0KF!71U8M1qX`o-I%3BxQhF4rj7y`l zC{e}#Oc^`U+(b`eE0k=)Jb|SGoH99zUJZ|UYzcTGA zNJwEH6PWAu4-ooPCAv6^HeWljdov>K*-Vjj}K z-y3t9@Hk}}K^cqRuo0*07)y8(OIXGd{)lCrCW;#>m8BDA<1w|!z~5#VNtFR}6S^FP zPFVOizQEs}WT}XSr6$j~Myb+RoyS&bTBfMir^3)&Cj3xHyyXx*XtO-ERdh&qa$}tb zQItt1t0b;a2ENNPjhS>I3_1OoBC9B)_FcvUzr6Mzpc#113^J48vjqjvh6`=*p-W(; zSLxh;SBYr!=F;~7TdREmcJOew(cmG`^2n<(l;M1& literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ActionExample$Criteria.class b/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ActionExample$Criteria.class new file mode 100644 index 0000000000000000000000000000000000000000..d7bd54b514dc1653ad31aa9705eed6938cfc0765 GIT binary patch literal 4760 zcmd^D-%r#)5T1q8`{5~Y3jTOni4Vt1@5N{$#)t$B$*GATiI02jaJSIzHoIE_f0>CU z`tBcPoVHvD!FUTH4Tmq?Ywz2c@0;$pH?ZG#Shl3}c~&y$xfuX}~Qu|Ln6OZaO}|h=)2!Wh`=*JT-a{V`5+M zR&#rVJi;&*hCrzZ_r(zTGD!`Nr3R(cU@Uc+M;a|x+VMoVaKs&1z{3@%fYx_t yeCf2lLi;D(&A=R8b4-q(r)#@J!2)!O|L+#pd$34jhwu!R-~lwr#}YiOwf_M1u3hK= literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ActionExample$Criterion.class b/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ActionExample$Criterion.class new file mode 100644 index 0000000000000000000000000000000000000000..2acfca6aba15cd567ffcb3b902b6bcd5ac6fa543 GIT binary patch literal 6176 zcmds5ZExE)5I!bO{1PYW(su7JOxmsXUhKVe>)H$h(jeW6rX8?k8P+L{U6GclYp)r0$=8|M&|4Zo_&RW(aI(<+Vd5 zqV_X($l6kM+cM^nR&m>x$@f@l(^XuzH#{R`v~|S7IN&!ol`vf4hcc81TuEjJEb6wu z>pbJ0AyD;XVue8(seb=L{Z9kQU$hX>QiIJls>oxhiglp~qFk*9VH0RofmGda;Rs*3;_P$__WBx6R{D3P0^)5G?1DmcjnnhNXHl@$YaE-w7z~(Kbq^iKn z1RnelAr~?@j^e7ip|yC*a{dTC1iGQjbNEG_=F%$pj-Qqt>Qc4X(ngb$AV4 zCoun&h=lo?!1cyygPMD2$hL_1lYZFYYL}rFOPTaou*a0J{p@4O^n@m`x&6PF6#1_p zSs9DNL}e>ffi)*GQt{Db5LiNOJNX5#3jO5ylFv4pPb+YX!0K4;2`mb|laG!iq3;jH z$AZw?g9x#TcLzaIfse@YZ==;{yT-dcPJQkLOko_v%sXIRPS-GdT3PnA((GwH&z?2v zORlMnh>#htM-3wIqZm^qkAO?pvRT)%vDX@fm)ao0SSmvk>An#`0nrl(xn0A125OG=%m(AVj zIIMo(kBkWU){)2K8_Y zf?7$gdXnoR;n;LaHfL0G#xIWEg^cc{9T(ump~r$?YIo@iJF0<&0EtiTM+!92dr zKpA_st!8Zv7LtBFYZtS2DQlOLd5eg21zy7E3QFHbRDx~oPq_Ni%JtvjmA?~=H}E-c zN63%xCcf8GDR>Ls#vXxpfa3Es!fFA+&xHs#CP4V55aA}gTWG_31vYqv2#pC4x`hbM z2@nnn5#FBwK^7u>Fu`i-0)&#SlIED4!4*#9;ltBRqTK0tun4UjLg`Eh?Hq!Q^~r7c qIEOHICWKFN2$Op;3!kFa8TbtI3hhTM0-wVj%+Pz-pU06|`0_urhDA33 literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ActionExample$GeneratedCriteria.class b/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ActionExample$GeneratedCriteria.class new file mode 100644 index 0000000000000000000000000000000000000000..1ce8b287616d024e42bd42a7b014007371f937a9 GIT binary patch literal 10633 zcmd^_&wmp|6u{rKfuy0drTmZ|qDw_d1rt#OA+=IU!9ZG&ma3@ec6XX=+3dvG4Z^?R z!Gj0Sem-73c+-#iQLlRN;KhpSYp5vVH z3~VD~$FDkQHnVS1Q!`ktZrQqUfL7;h#ilj)l$IS@s#49QhOKiHs_VuLy+XAK^kP2r zVm|Ob~1*hQp-nPM51r@4(f<>*Am^?1YZ7}tXA z$W3aNt2G>xu38Q?^V)m^q390(WA<&$a&EF4RMXLxY9~QSff>&A+X{**8QfOE zaf3TT!B_W_NPkzt{bad6GE>vdX0^(kT=3yZZI!c{UxkUXM(ZeY z^XrOStfp2ecf}qg3b&f&x}s9@KNmRa{=ZG(w)uPqgpKr()L@bgFM)Y`B@ zDv8oP-I6n3Y18WSbQ@MDCB^$Il!X!4J`7u62Z5cra=Wt-s8JN1htV=#cNZG970Q=% zY$gyGFEc~8mvwBU;Bz>b@~W0Ax+A^zMb@2P*c}Y&K=)!?($_VluFw zKvkiQlE@mx?h_vH5!0AM;G`r1k(dPQtQZ+-MJWRZ2-&Qlyi$58Eoddue{n^^9E|J7 zdwTXDA&2|w*^Tc0wB;`Awq^RQ%WDKia1qb6yPO%ABxFUwqlqjumDb;bc{jt}GCIE9 zTON+yC^GOAfv*&TaNjQT3=|01Nm-z><}z@Uz`1+RDEjOwE)$J^$1Is8ccEe11kU1F z*6YF93~@07&k^{byMq0`CEym&G?saRy~F;%+&c~3USb3;>b*-TK3)z}BC*7XgtIk?h>s}3 zn#)jxH+*hpsz_Zi)QahHw7Li@heYyrL1}kU*{KL@3$>2s?sz!Xk-huY4@S~bEC6AA zJA-%MF%l6T3jZX6dA*r^uF0uwU z=sC;3FLgHRgiFwXl7nAL&)T}{Qa26P37r172S6I$CUBxh3V}@XAW4HkV5UdT!H^;@ zG((a1+t%Ih(on(gwZ&$a21~rd6Ce#YI=+|>&QkQ&e9*mI!oH`QIsjN(;y(rqLJBs) zW_(KH(*R`fdFYPkY{&BiN^F5){KQuO9}5QY9YFR=7@yhu#^>zB-+~JGvkQL< zd6a^OV7EWE2lnD@!JPXfq=zM>_avkgJOYm*yQxb`%;M{!NeJ)Xg)k8zY-$l6lMp_X z5C}XDPecf9f5@!(NJ===#UD9|E+0!tPj(^6boxX>O2J{+5wU8Z<(DH8T|T`FK^~jD zgz))Y2=drGEg^g>ArN>5o{d=1j?FO%;X5hecnrc1Qo;#%KB7b0lP4uQ{3s<9V-S9l z5~gAhewGqmh(Y*8N|=s8_*F`HF$Uo`Dd9BCw052|t$m{%lUYejewUKwdLaEFC7pxw zk^B(*aAJ|<*DO1Kn*uw6>H z9D}f1N_aU2VZW4cB?e(aN?43RI3y)3MY8*<+BzXeq@?8@NJpilSK!r1ezez#EI*D* z39rQ<6eWZ~xQ4590A7bT@O3ZNPjA9opkvLng0CjN5`3kpVX(z2##(6=swlPg5BCGp ADF6Tf literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ActionExample.class b/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ActionExample.class new file mode 100644 index 0000000000000000000000000000000000000000..b40540f6155c258d86b48162bea5f1c5a423413b GIT binary patch literal 6644 zcmd^D?^7E^7=9O05>i?ywy5>jmR3!yCTg*@1+f&UgOl1Bq0HDX&T_XTOYe4Xb~gY>W!6J=~ub5mamtWa`wkHtyEi%=jimE99D*{na^+TnpEa7pQq z>qq;`5o;SxV7k$bS+`oq<~)H?D2x>{jVI3uOeoF6Wi2e%f)N;NH1INpjjxNQWVWpl z=f`Yvp>ayOw>t3iiwHcnAf&L11V$^>O#+2w6=FhH2uya#u4=7x3Em=8cb`d2Uq!n- zq=AYP5wTPVnrO8Z@z^||h4>#11&_4)O>5&1Ii=B z>xJZtxzA?ch4gb#KEcgM135f4L1VeXmVx$d5a> zoVeC#aBTuE!3=?Gm0lYpbsi=g_;>fGcD%*)217F;^-EO1qD_WQ2>w2pEZCMX z1n!^K{XolO%5eMiur*VH4+uma*2ch8LlVuGND#PMsrE`k;3Cpp!PS_XM1{)p>ShUU z61Z_PVYFfhl!fWuiVhDtOq1DzyPt2gpzyirj)2lM4o(MRE|uUj0mo37bYe}SXDC@j;6e~_ zhJM`~ft{06@KxWZ?y=a`Ra*!AvB(zh(XKId;n3Y&lh{0>A8HIYMYvDk;aQcz^6f}c zgaraiX9QFd&DH}%C5!Mqfwj{@_O!|buJp_m;St)dX(1J1<%o}*tB$HY$y@3TY{m`T z0Q73nwH}26T!1k=D?kxS**Femym}GOM_>X+^q}D~9w%{T4(}j1mj8gMU#6#jgR6gK zac|>sEW1MB9Xy}Nqu^b*j=u=J2Qzr=AdKK#j_|$%;iePeL-^xRg{0_%O93K`YU=^>AVdN4l{|kyq66gQ` literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ActionMetadata.class b/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ActionMetadata.class new file mode 100644 index 0000000000000000000000000000000000000000..cd3a173af60f339a0ce6b4041695ee71d9c2b94b GIT binary patch literal 4298 zcmeH}&u;MqLOjn*HxsZRgDM1q%h=C;^YPcullc4U&C}-qa1t)KP;g*Y zNw3wTJZ!Deb=nfL+Y%8Am5f@xh{q$LbXPLfy69;x!bPU3Pc?O6%z=9RQb5CQ>qcjd zdD?*j_Z=v<+am1FJ5ZwWOA9zw@rBp#u~3^}vORcnNlP9lS36X(E1~B4p2?X|Os+Gz z!lc4=5fDkS&V43hS|B`X^q62wGup#dO=IHXIUaI-!GSG}nH8M=Q~1n@2QzR6c^r-e$iADmu8)1#I1gw73RJmz{H9y3wloxtYz&);s>PJkX)KF>J z_q32CDSl&ya7Fr|&u;S&SGkQd*r)wKXS17Rv9Gk5!7M^UBP#)Ckd?AILE_QSY@x%* z|0U9bP@?ZeY^0Rra6iHsDQN^fBXK@+(g?D@$&}B03}5YXU((0%)fVx)@bVW}f(lH* zt}4`Fw*xyG?>ho>ch}l@NnP*vI!rE8ypD}^z?(lFzYBU#_*I+am*M*6F7G{W2&~J@PWZe z4t%}@GY$kJY+}?<-i}8#Dd$C_lvS1(V$H;*L@Do1YClCu^)=HR$ zLm5H=sfh*~;i8prIERL7R>F}S8kVetpW$d`7lTSREOoeLCHw-rGlW4MYy@T{{F*~U zXeAuWq2V7Z;kO)T@voK8%yAa~SqZHib+~UO{GOu@53GdaIW#=95>DjM@W@K|BZr2^ oR>H{~8eUilr*dd`X(gP_q2aZKP=GV|pHhHXIFD@+duL((Ej#5swEzGB literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ActionMetadataExample$Criteria.class b/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ActionMetadataExample$Criteria.class new file mode 100644 index 0000000000000000000000000000000000000000..d169ec1d434e6609d0d7d9d6dbbd9471cd04786b GIT binary patch literal 5464 zcmeHLK~EGh6n>SJ-5pnvRZuxq;$gYWTs(=<7=nsfGzKK`*qtf6g_(BJb_o136HWB) z!JlM&onZt6amO%$fO~0oX21FR-s^j>>G%ET=dS?p7#5mvjlgT8!ysWo20Ltz1xgPC zm2zox8bm68pDJUAnw#K7XoZsN+_H#Swz|)fH0F<1w6I(Y)`SLu_h)5$#UMd;%XsoD+H=#{nCbu|dau}>?t#k`+knWEU5^YuS9*=0Kl2pXZSxr-| z1~E^}6Y8}$N1R4HjG0DI%EDbXR!LrY zE|ux2-N--DKd_Rvxi+o_T+t@N7*{1ZML}GY*o7?ISK|xzl0nAzmnykgi_?>QDi6Zr z2S6>MJ-@`Ax35ALZ!whR@cHm%!;XX@@TPxOjjojDmI-(pD$^l+7Y5|zD`m>I)O6YddsenvY8v`R||%$~UT!$UyH5S32Axq%U!#<`g*pHuh? z!21HNk6rH*biU!!HJHKCVI2N8j-3Jpv(U}|zmt!5VGidm;t9;deQ4tv^YEb2`2}VY BX%PSb literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ActionMetadataExample$Criterion.class b/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ActionMetadataExample$Criterion.class new file mode 100644 index 0000000000000000000000000000000000000000..12a9c55f93ac2783655dc646dc3dda9df185f2b2 GIT binary patch literal 6868 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 GSojXI6Uw&$ literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/AlertExample$Criteria.class b/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/AlertExample$Criteria.class new file mode 100644 index 0000000000000000000000000000000000000000..352a4c1d0e310a2b49becda80dbd5cdd84f26742 GIT binary patch literal 4751 zcmd^D-%k@k5T1ofe^>>o;E$)3_)uQ1i7`Hi(GY@4QZ*4I@o{@MZ5Qr#FS~mL{xTCy z^xZ$oICn>b1Y;LM8j3Hsz3aC#-#52AJ2yXnef z9i5`GChbJJc%EwO1_o_sJx1d;4@Hv3_;|xehenDjR2aOyppiGI&zwDJ9WRhy*c!AEGjCm+j?xTl%q~RREZD*t!{KW=$nhWlZQf$<_(z-E_Eqa?W zl#bghMMFVU)|o7H+VBs(J(ApB<#r!9C9 zST{x-c@XsyJYkRr?du2eit)r`=ev9CqP^6G=poH_O?#N~fOx%-ax;%f240pvX3EI~ zHxENhi)4E?kDW6IO;qEQ2f`y(R|zuNop6hY!8ltIQ@MlaFP1P-*@K*NIw5 literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/AlertExample$Criterion.class b/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/AlertExample$Criterion.class new file mode 100644 index 0000000000000000000000000000000000000000..096c6b26b1610ebca9d868daec2cbfe7f688d4a1 GIT binary patch literal 6168 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 B%C-Oi literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/AlertExample.class b/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/AlertExample.class new file mode 100644 index 0000000000000000000000000000000000000000..a59a2736bc64c2c9f3923866ee464193f4aacd92 GIT binary patch literal 6630 zcmd^D?^7E^7=9O05>i?ywy5>jmR3!yCfZ`H1>4drNy}S43`TL*W{{(;qc$|kZ0(XoKsx2mD zb%*V;s?v?Bin%m8u7)a|kCm|v%}sSV;@Yn6u~r=MJmd(>q_;#&HmXmzc6eY3Tu?gX z`q6$ZVr|0-%+|Xx>sAZdSR_ygg|R{=@#HyyDW!Q>)53Bs7=ej;9WP_pn<{Cwm#_D!pm8MzQl*&{X+Lj^T7Ltb*`lOAZC`Wo* zv`>ZHRWCSYm`n38f){~ht=YZ@QLltY9OOa!%?t6;cw}iOt9xM44z&=pN*k>+^Dh49eobqX2nN_d?z_u%q>SZ-c9 zCYyMR+olRB3p?GWlBMkCGTqjym3CoCTSI$W-OBe|a?P+Y>vWOWOl@;*k}W9d+gidH zY;4nph-P?Mmo>`g)fF-ruuYz^king$#{w9RE^m7Eczv-cx3@*0erSG+2jrehA zmXjCp(FPS^2ChuO1(+jnrPS|$B(B4B9slb7)NXBYy}{5(NURbSuxOK^34*^5CUdqa z41v2RG(OPnm@(Ww?KNcz@Bx9y!_^p?Xh@>*5(xsAOXYrL2%JZ{E4Ualdni|WUfwLg zbpqFpCyXu(fubZ)rMxaQD-V<`X_Q*$_~g9}iB4VJj8jGXl-yNv2-WP&Ok1 zV@eZPDV?w`x`tRHZv~N#XP%f`gNYNUp`xd?=m=a4G{=6c({2%%J3O%_(JGWIB5*E< zI76Rqfxyo38Te}NQ}kGA>#D5-{#Yan_tK$mF)`oJ(_E9-G@=V?3^#fBmcWBk>VlQq z5hM>w1RkCaPf0Xb4*-?S!vg|8oDi|EKSoLV=JN0et=6Q5^00EqI?fbF$)03=^aeKI z2Cf16v*=TgLk`Zt1fJy}4~2A`gd$!&kLP1Bg(KR|a1oEwIJ1Cv5FCqtz|1eRv%kUR zztXt3@i>uQA@B~KPi0Z?E?mW51m1%=Ja!Pqa4ti5-+^%5iSQwO)PvCF;6k|RM4)Nb z{T${U9Bw-iZotP*4laa6C&DN2DXN-jTl!CrZZ>5HmzoplCVbw*rK{){4utv<2-O~h zE(aIFGbh5A;6`v|@v8$N2VWh5;8IjL5D45lqBd_kbTAHtarhdmaSZOjH#lC!`o4>* a+=EG2#PK^E@8kF|HwCMBeF7twq4qB$Bn?IY literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/AlertMetadata.class b/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/AlertMetadata.class new file mode 100644 index 0000000000000000000000000000000000000000..b4d13949ce6cdf3693bb5865a46b6f7942de2092 GIT binary patch literal 5206 zcmeHKOKco982-JanSCW2(ie{cCcHL0c6kI!n^H*H6hb!zDN7^{9K18m#$|Rqvc0SJ z$dxNsu3WiR0tvXnkt09N3- z2PFdMwes5oCZhIDHezk5`fVBWNUOLV$Rr<2ZTgDq_FBl5+2V!;%rFmT2rMMuge>Z} z-|OAvz9CQ&0fE_0M@Ics0v@y9Y+|Y!NPjrsQ4%b6#vg7QC6d~Dk7>RU8DVbQ59Tyi zBd&J1(n3ZE5Gy$n0apoHD1BxyZ-W`b*#HN%jg8AfulYudIDtxMUCNNN2)Wd7pnjjL z8*G3*vzJ69%w+=iHJ5h~5h+R6lNrGmEh1znt2=??e@oT-YY;4>A@ z5f^29^oSIgLZts*$q}#UJv-cSTKRic#Q%v`j-v$A{brB8>KJNOg){JQ9ZteI0;ijI zyESW>8XfcoH->{AS6zlKh`?e8U0Jxpl(2D@oH2Vs6S&a%mqrtv+lf9;Y-72(oEpnA zJV{`03Qu+@zcVDDQv#J{I=-EL6-gzIIPs%ca1hL4&()mUJ%zN#rZQda)iOL!Ae>?f zhqgNsOFcoXfkf9QOm_q4F_~Gwn(av^zJNu4N!cmCpY!Kv-X~-1x0_?%vfKWA>|uX5 zaq%AZq;HihXZ5XQS^HkY{N{nfuc5g69={B45QwJG^bpTD@A?pTTA_h19>Q5jDy&)P=TF2McCcZ*4U7DqSesm&SD8S(-C&EQo&7G|A*}UX9n?E}dF2kESgz?#QA^hS*c&mU8 gzc~@s3h3~M1EB=#_-`%26?hlhGXC$c!Zmp3PjpNwYXATM literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/AlertMetadataExample$Criteria.class b/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/AlertMetadataExample$Criteria.class new file mode 100644 index 0000000000000000000000000000000000000000..32b0619f8cc8a3c24b728f53278674c9b6f4228b GIT binary patch literal 5447 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 literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/AlertMetadataExample.class b/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/AlertMetadataExample.class new file mode 100644 index 0000000000000000000000000000000000000000..721adba900c9d4f1049d9675f1e5a90cca471772 GIT binary patch literal 7106 zcmeHMTXWk)6h7;?zSV8g&<0v=+q8g9!3G*`O-L{4ErUa0l4gd!FdJ!OZ!7I;cGsEa zmoWn~FvBB1is49#v4c0Um}uxU&5KrE9esPw+3y@npZ@&om)`(j0q&HcKw#NuuN^WW z+fUgJYb)JttB6aZqqeV-`A8Yt)!eji2VC1VZkf+4yZ4-hQNYVkBrucQ8Zg;yKiYcA zJxkz>(mvOBc2@${H=Mw1XK1r-wUFIK0u^5vD`ad>o)D-j&HWWEEZ2e&D0Mn`8O^He zqAQv0YsC2>nOy1|&Fia!RTh^KzqBNzu*(Fd8qG}t#TDgaT;~W(4}HF;wbB)Mjm-Y> zSYk3%u)}@osW1`&vqDK4X|)yb(A=Q4>PC-KpL+qrfM~?LXROQVJm$8wm)lmF+twhr z^VC<|P^l~pne}?qA_9LNVJ=4zFzQykC#~4A)?s+54b_@{rYU_IO)3oSOP_BG$^8~x z>mw+pBe^Zur9$qgXPh#OrMDlUR?XyPCZi0YyksUZFDIru(;ns%c&2U0&nON*S)(4^a1g-PYbRHm+W*LuJu*9?nt&_S?}wz)QO3B)xU3S+RjCB;Bf+_b`8 z#JU}Yo{X3LzH)uZOeS}iEX>R$=o2=je}bdUKbOS*f3!VeQ}U?tB6?GPUHy0?Woc)V zX`EkkTB2k*B@m-Ow^cmw|wp za8li4!n;}~qb$qSU6^=3*6Wx`Wcocl~gS>kWp&RxIHuj|H0y#X0=F zH(9hjVF=thq9BJV+>GJ&(Wq!xfwu|VKU{5##kMRFBYgK?@C42`n&Yt(IE{|n#om(& zlf}l9=4J)15V$DRE*HT?<1BEpMmjShQ{01=vMK}c|JS##OD#=)d z8eTn(=LM+ah@TSREFPzEW&!UYIM#lJnIC6oe}?nFCw8ynv6NgP@CKgOQ!BU#m+%*X zH(?Hs1B3$3r3i015Uw~8-hp>V5QaXu5Ux29XcG0f5AzNmt~(K~!h231TnLL!g!kbC z%xaq3#y|NOM$>fovf@O#1|N<1GR&w8p>qJj$0G=b`|#L_(1Pp;KRFPJ&^`dcl~Lh9 zAn?fn+;ru^I1r}bQ)FWSK7;ExUP68^U{=0>Dtw9K*Ert5aj95`+jzZ%mfyh5zX3lk B%C7(b literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/AppStateToken.class b/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/AppStateToken.class new file mode 100644 index 0000000000000000000000000000000000000000..c73f063eb9ac0d0fc7cffb6bfbcdc9d818a3465d GIT binary patch literal 2828 zcmeH}ZEw>s5XaA5*N3dM+t_%1Fk?UqECGZ-Fa$zuh)LZLTA2jz+{A0WrEz3C6MPxI z1`mG|1Qp5fBgLN4FK-Ly&~iYJk-i{dQ1e)7TaNt zR2@f#JkTn1JejPAQk#zA+Ib#^>xLQLlG{8eLY}~6@{G@dj`O;`#a%-nCp-d$W>W^8 zMFRPN^*Dj)=C0$qQ6jNTcwD)#cRVuFn)Y zh0NV%9Zu&ka=Rb7okni|j(m=Kl4}}BLwn4)U22fPKZF?YAOSOJ#~HI@VfNp6R(Yit z`oa~4>L}z2r3Tul$Td>YG?VoP6`DqY$2UcQyKJHb=PdHgptns|BW+>}dQld{vQqE> z(kjQVgSsq;LuhmQCq+h5M$N~NTjlh<9GTMr6dfm*BhJqM?GEug9;0()K@DaqP=Q$j zv-RPs7+1Jj6F=p(sMqGI#jt3_hpj=P)kHasbsI{bP%%H5@8lQd=izT>9z(0V*L;HkK63R>^ zRZ-m1VB4yqY0p9lJvP!-Rzh2UI)$sveT{7j&HLA^br~s_zZA)9-_vlDu2KXWTVS01 zBHY>2f75UYR91!7*kD^&)HPfI?3>u_$03Km0?u+!gi?yn!5(|OTIIpB$a0bre9f5Oj9G_ua~T>QWD@3KHd8|u;aMi(+6Wq6WfHEBpy5p>;l>CW-e(f(BWQ3l h35^lXgP%#bIl_5}G6*@ig=Z)Sx8W|11)ME_^9z#A+E)Mo literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/AppStateTokenExample$Criteria.class b/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/AppStateTokenExample$Criteria.class new file mode 100644 index 0000000000000000000000000000000000000000..d1f3238dc07f59ba93df475d7eb1c647dcebd0a4 GIT binary patch literal 5299 zcmeHLO>Yx15FOLdd=MxNv`|i_;*ef;FPtc(gQJ69z!$Wq=LZwHc z%D6N-3u9Hh&y=wv%}w|!%XTfZd`}&5xpl(QEaA^KwXj?Z)`SLu_t!MG%_Z09A+D?v zn13mxup0#C`fK|H8k;KSO=uHXDB?|+9EDq2E8T)Sq!)aU7^zB*c}ydfW+Gu$C`mJ| zh6zv23)*S#jX8~ZlrW8;j73Lm#OW#$56*}OCGnslzDi@o4VB8$l-X!ZEn46w8ILg1 za|_5la0v@sV8QR~l`)7kQ`*u3om-L6h)L&T$Z5sl4}iN?3pu*N2DOSZYELuXX%B?4 z6CgXdsv;7WnmpqglPHbVd1RHQ?}mp+xxYq*p}CCtfsi~7=$jmkVmgYSC8t!#V-yHw z$Yp%dLZ|H&r5DJ9%9KHzE+?kjYYpom?zIf{fgJsm+p&r%i>nPl$$sf!jUH%~7M16u zOt0FDf=k;67SaLN#+87p*;E+gilnem+AS;WCj1W6J8UmgD2 zmV5*_S;qC{Xr|NZxc192rM~n|t)-bx-EsEj{+*{*IDa|tnNDw3r?XS!`EB{aO}Ca) zq*pPO*WwA+YA=wNJ1>xzJ1>xzyJ-b=paplka2xIsSn3bXJ4z*?b=PrP7+{;@ZJrLf z-ecHABG4PCh$Z_ByI%Nw_OfBe!VuUQT(bpMb-vaKbaqv)BmP=Arz=<9cwNKmzezwJRl rH+;GU3phHA!{5iTTcThQdd2q-it!;V;oL(!fn|6MZS=7WD~;|?u*EBl literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/AppStateTokenExample$Criterion.class b/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/AppStateTokenExample$Criterion.class new file mode 100644 index 0000000000000000000000000000000000000000..f1f7dc9bb615dd2ec36b66969e98f89ec73425f3 GIT binary patch literal 6708 zcmeHLZF3tn5MDV>{FY5)A|*WUr)ChQa-N8o|cUbD}H zY(8a&tf_RjsX{J|4x7Fjeh-zgUCmAN>o9CvX8E3a#^t@|tRDva`mPq1YoTNT@&wKe zK>{Yb&F?!;xn~KKJSBZ$QG&omYc$@rTFCAWf#pLM4EXq9G#LjghP(Oukw`(R_>DYq zV+auN_)E3J?N6M`xLXQ@vGIGwz6kjPCjEeG0@W_JyCa(})aq$g<#(0O3vhwJ`pD*c zS}R?I*9hGIL841kaL9e?seUK|=9Wl9tvUhk-=^hKv_R@HDV3!iPLC&8MHzKAmCLXR zuUFwRyg^{)D~`SxZY!^#kov*EZApSxPJUGZ+pTJ__j5# z$YL0Z=(E_Fm;6l_ewi);}6P-#nt(gQ1k6i3e>n1#S4 z=e-m)bj0z}L)<8YCoDCCkZVjAX{;W2R%sgXp;o8D(1G;%0W#cg&_@FVMRyFR1uv+O zhq&iZhW_e}BV&|Jz7e2soX_^YhUePmg}g6aOIdbML|;o$=INI8X0%URdJ1 zV#CjPdb&Jav|q#wKX=oQ-z=odplG^Crew-eCMjhS%A{^lg$UeADU~IPXOW9`5?`XF z?znQ=jZAZ$ zPTn5E6qj7!7{AiTMi1?b8RVZ%TO8i zt8u#;w`*~`KAg9TNax@@J~vSMCZZB-%fG?qj~f?%flGf3F|Ocq#f{_&@Fu=jBPnrr5BVicp&Y;ZiC>eFlUpsR-}QfN(Vx z;r$t+c`XGY?@HzgPv$Vf5g$G{=}DA3$p?qfNFd~23Za=ma9p3=hK~{m%P)oSaROoX gRV=|Ls5J+lVqT&Bh(+Kt_yRNZHuhI=WC_0f8=of)m;e9( literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/AppStateTokenExample$GeneratedCriteria.class b/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/AppStateTokenExample$GeneratedCriteria.class new file mode 100644 index 0000000000000000000000000000000000000000..7a8a1dbe635b68112934ed403a42a65497db8e97 GIT binary patch literal 13366 zcmeI2No*WN6oy|VPR5=%o3k$@oegZ3F@!)!Yz$eP#AMx(JL&13boXQd z!V)$i!GQ|`aexa#LP&5yNI^;tZ~!DYzyS_$Ku8D)E?l@EAzpP)_f%(IJYDvP$dHR? z=GE)3tKR!xbyc;${QKf10N4P}XJ870eV$wBEb6A+c|t#}cRKD!r&Hp#=axDRC$N_s z&mVEQ*SV!s8t`?W4>~8g-FsFqmMp$@C%3taMq`_6`rI}33^XyA6TmFp9_idWe1aEz z2F-vv`xQmTegv<(k0@ zmhPfcNiUq#N4T~c!e&H zOkeZLCGKJnZO?bh1>bSCPzUWDn(1j}+u+Adn;SW8PZ^;Yj^HxuoMzgmQC^ykV;M~n zvMs54naU}}P$rp+&}H3lr^;bt2A(PnjdK#iFLHm>F*MzX<|4;#5AV>S9e15#Pk`wR<{GTH*Z59lx&AYpc`itH|nZIkD4i z$SN{bF@@XWI@{`0PN{B}$|=?DQaPo%-DGvjLMzN|g%)UIu%JC(Jy8k=)Fn=wX6Nyk zqrY4n=I)@5he!L-lt_7AfhwRj(bBHbb|KKBLd;FIyIa-5A#iiX@6(S2Nti;EnnbyGGj# z6j(HL#}7x}8W?&{m33>-VX(hFFCJlCjSR`H>B^(-69Q{L=xo2^$NilXSa!M`56s=c zQQc;+1a`nIg-Mxm2`u2sSuugX&{Fy#t_RyRFC8=)G{w=swDFYKpf55AjC}~ z|G1th$E7ODBr-(76`BuhaacwF1B)C`(W$_g2<39ZDn&vJF1V-~K9QJ&NpctR4cmf{ z#XXCIC8of@L4--nL&1+qfMWM}{PI9zqmWr%_xxT1U&0#O@$nJ~a4FRig-L`td08AU zF{dP($CBF_%=)TJnm)SG=rTDTCHW^EQ6kj!El8hE&ej_ID=gi z!>z5r9E^F3^nGs4HY5X2;oEnyGReR*;u|iXGVpBT9|gh%G=^|b_@ZqP-_&_cs{r>c z`2Pxc5ln;W_?f|9Q=l38(9!}~w9E+ppJ6I~1IT^?t%uuYeGGFh2Y&PLueeGO=HuVi z&u!JDIKoXY0a_mpos~b|1ULr{=#zA_8AT_~CXp=@Y1xFgjMI%P_ z>QxAm))oyEhV}c$Xx!D-hl%2_0~=)Q4&$Zz1~d zAxXGRf$$MY$SDvml7vnL!ex?hy8_`el5mFt;R}+m9`1}QZ9`mX)tpc@`!z|rYaFC+ zNz&c0QPPK)slrO5^zl7OxJQBTBT3k#pz@zd!e#}+uOy)hx}`W&b3)BHzmtS}6$pQj zgdPRLpCsWv1;Sq>;r{dloY1Hz(iR26G?K7YfsiE$+Y|`1Ny2ui!g|xyDw|J|c8r6x zge2{RU6MwtwMuA|tsn_~3WPNz;eqs(#yUvCZUsV)B;*ycyPhQMQ6Ow23H=I$Zj!K9 zfv|-n>{B4@APM^w2)jwb0R_T7k}#k^I7ku($5CNNNYcS^kdBe0A%#jaNWvinf=Ln{ zRH!tEBpg;C_$1+oLUzxRgohLe=SjlD3WN(J;iv-PMUwD{0^wzna7=+f?THvXsz7*+ z?1QdAc#|XykE6ogCP{^HklrClhC-#iM-sRK;RBLzT%pqFUDk*Kf!<|}rr+VPOXMg_ z1;VE!;e-O=bCPgUf$$YcuoMX2kc6TF;X9IGOX^O!S7bksBxf9?pGZJ;$6$IqpBvQ~yOa1PJW9>dQk@RQ-^`KDHQPV8jygzZUq8oe(30}(*h Ap8x;= literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/AppStateTokenExample.class b/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/AppStateTokenExample.class new file mode 100644 index 0000000000000000000000000000000000000000..d5acecea9816624475136ae86d648555dd5f872c GIT binary patch literal 6958 zcmeHLTXP#V6h3lX-|9ALXag-bH7#IMSOX2WCZw12LI#(@IL!=wVU%6PQM;CQBstUk zGG<@~-uY1sXLn=lU?pBAJ7f%bS?y|%KAm&)9j*5J{g0o21%M^ESB3(CRiph@j|tg& z&URT#>26C!TpAs<0+sYf%Gj>vrgb-pI+j_!pvFn?x%KvQ>!rE%2Dx3N zf#QZrWoeIDe}`H`;4dT02#g2JL;iW!^UZk|8iFMzKkoruL{fKK!qBK_beXBH0>CCkDr_-*Wy(=S;k`WHyH|H_`Kg)v^&BOxN}VL3l*<9 z!|jt%fvy5?5_ovDvK0$kSylnzyMKcxaIw)GkDb6-bmTrBhEox+*m&05tiUw_S0}nc zpeD?4C`xyzAkHQe4}Z>4V#Iml4+sX`*}u(GJgmU`1ny6CHiIfgprAB?cH@|&$I(%7k zBHe%wMtm7&)P>MK1mVLGgrj|U>O}A$JHn3+gd(&KL2zYMI1mVYbO<+Hc`y!y8Tc64 mSb$I9Cbn0Q-%FU4&!7sQWBVnxx3FC)*5NL`FQMgEaQjadQXak2H>KXM$gb z1QOiyqY%f*Ml*<5k*3|miT&pFbL`{eA3wi*1AtXnaiBtAS*ySwFcJF)?2!3V^?aG| zSgXVjW!9faZF-7pe?1aBHV%vtn9jrzi+ldN?g0-Bfr3QMa+v=QQLx7W7JOhmP8Tsm?2VBhV{?#1A`ph^ zG~o(kinUQ`V5Fk?61Un^Xqv_$-xo3B?BfW&votbAwMVy7ZR`lDD2pwBZd|Z*8+M;c zIH-}7QS&L`ZX=)e6p`J$QzRoyb#9W8VmfEh2upZg5*H@n(gZYNmcU%AaCoQWx%36riA@I>KrqDp$V*X{BMFo5n1R- zgtp1^yWH9(wH?UY8f{6>B=?X6Sx=DQ+GZdY)7_S-3ixYb)2W$XG+A|Zz{9J+>Ks_c zH@m+CCbopun2$SHr!*`8-WhnMRiOgoP{X$hI8e{p2DsQdsA$3jJ}=fgc5S?v9^Fg3(pylJVR2$h#RN}a?r^&YVuC=?a+FynQ z5}dg3qYz`eQB@U@r3w-0#Tz@%GxNsJJLCEB^Yd2#*ns<0m}BtFny`}ysX7PZNOZIr zbaaZ!nzR$?;(DsB8yK{mZY)u`tz(g-F+S`X>Ci|~g$jf1%UXGj3XO0Wjm$Avcp{Z_ zPZ`X&*Y_Ayx;nxt)EO)m5ynCdI$OqQQ-kYl>H7yovFZ2-BOdA`m9cPAE1nwNk1?^2 zd858NL>^%n3qzn(gok2)e2u6Er&NQIYA~X@#v_fEEA4n9TsY*8EZ}j9Aw_y-fk+2= zih?|_;7|6-7-W)a<9LD2oQ!!WRPLjXe8k~j0C${`YVaFp+-WYjJ4vxo?@8;%K(^_* z%TPLQvlIEU?` zUI9EeMx1yA>P2|UAdj%G9>gohQ=^@417k%yQ6YLz^VPJ6DG!L(11VqTF`I#xrT3X~ zGQq9m5Yu8;zPRE29K{wP97tyG<(5hW}Sm*mjCq+@u ziyuGN*aR0^5-QI7Xl$<3ybnmEwRt@)ZY>R#ReP!qdwP6HpE1bz4#Y>U6Cr)|_2ad- z%`C`ADC6ZeIr>*$PcP{sZcNKCW01*cXfmX|D&yqj>gCQ0^gqVr75H>P4XDA5CR~G? z3|88`vq480#%4YUS?tkA_1i4zquCWS+hEY@=}^Rbf~GKZetNOuhSD;4(Yx$OW;BV} zWYE~rnF;ZgEWDj>lkylDG`AHEaJsRu7Ht*oFnDxHzYJ<4&kU9?G-2=nXd*;|E1f~b;?p2z<00py?D*ylh literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ClientExample$Criterion.class b/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ClientExample$Criterion.class new file mode 100644 index 0000000000000000000000000000000000000000..26a938cfde4b0386706754005716bd3f6de22e65 GIT binary patch literal 6319 zcmds5NpBoQ6n^Dx7B4YQ!oHMEATum81Og#3LJETeQJf%QV~O0#-Q{s5-Bqos8e{(t z4jede;J|?cHzbhY&W}R8>h5@YOvv^lw#V8^ciSrA(&(fes`PuJjO}V}+MP&nY1j5yoJ9OeM+?ifP_hD31QyfP z5tH5aSKE(xUo+WVS8;P+{(H;+JpyEVC%(+Mtt+pc`-=g(e<{%B2l*-a=P7fDYMHzKA)$4E( zo}Ysk;6(y6p9m@JrvxrHjvCb5LPOSt{t-yvjKk03bWp4h*P}TCrK6FC5zXNS7Y2BZ|-s$@*rXwd62N+G3#==g4xr`v!|71 zPwPqctk6(#LmeYxW`kX75rOX~m?}jC+`5*_x|ZW!>o~m31`#JpTbfGutcXei{WJu9 zC|+}6F0qI9v!Hetj}j3GOHD7~8WTzyt9yY}nr6glG^sGOCqur2IS{t!{T_m1+|p&y z0TpsjJ?4~QV0Q-*>OKbC)|wr780zKlDGPa+ef~teVti_DyJKJ|X~#-L57&G-?E&Q> z;VQ}nSJI}XAM4H4_(LN^!ewH*V%Svg?xxIoNnWD|NQgmb38GJoJVI&WIP-ikJDZ^ z5x7~>x+yesvN*05zGSYhy7tahueDC{o|j}n%dvV#wmC<0mee;?PY3*t zNV`#k)sAaMV7KkA#GA--{&$Zcm-a?8G+Y;;`1oNatXo@r3kN&fbe4}!WDR<)P^@p zZ1|}Zp)mr&&!q^>5fFYUMR;ojgkMV$-X38$e=9+la!uPpBqwl(Gd{d?G?FNHln)M} zRX~_J5kk9w;J7}z4eu2YrcZ=$t$;AP7nATlYMp=&Ft5;l#3Jw^+`tUIh4UHwGYKF6 E2PzwTVgLXD literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ClientExample$GeneratedCriteria.class b/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ClientExample$GeneratedCriteria.class new file mode 100644 index 0000000000000000000000000000000000000000..2e5ec3857a5e1ed030379c7820a9b8b3ecd4d27b GIT binary patch literal 11563 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 literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ClientMetadata.class b/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ClientMetadata.class new file mode 100644 index 0000000000000000000000000000000000000000..26cd17d4a7441d335f05ee88ed084c25ad7e096f GIT binary patch literal 5977 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 C|5XqG literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ClientMetadataExample$GeneratedCriteria.class b/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ClientMetadataExample$GeneratedCriteria.class new file mode 100644 index 0000000000000000000000000000000000000000..028b4f6ead2fdeb10acb100b8f83828eb20de192 GIT binary patch literal 24198 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 literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ClientMetadataExample.class b/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ClientMetadataExample.class new file mode 100644 index 0000000000000000000000000000000000000000..966edb43188b1a2add5265767cb5c2c25e2a078e GIT binary patch literal 7150 zcmeHMYjfK~6us-X@uO~&hBiQWZ9@w-P@6}}qfJ}dG=}{l7&F(tW z{4!=>2EOw<_#F&aQjDE?6Kf`#hJe3#<<-^MbFYrBq@zFn`sFtOSb_&7C=j@3wATum zkgaEIkF}KUv{b~U(NW7+$$X@Y?PzXVD}mtBu5-(LX4&d<7DfRtL6N|0a%{k4r}bp} z8TTxK3rhQ3KiFRhSkG_*bL~OQhSfrLZWAc`!dM~Wc=D7$O=<40Xkob)jKFlejk__d zvLQN>*`7w6?~}>p_6ccU>o0TrE-o;=ETph^2~5=+TLg+L%E!bm5ttc}Ue#LZGQ2|O z{`^5=IaIL6ed?(&5&^S9Ng8Rj9q`cHqSeY~ms6j60mF=F#JpYB;dBwJ+dQalGp%m3 zU)@FOD{iP%mWIrFU1|}5Kaa4O!w8smGd?TLm{{{Typ)3oBc&}(qI*^Z)MGMUW1G`{ z4yPKJO2NU3T16SP`w_2JVi}AHSwk%fPgrVt5!ZNHq_Mi^S*2;J$a;ecLwnNaJ3?~5 zN!NP_iUm#%3-+myduo?chSljFMyOUYvCI^dA(b;05-WXdxig)^d=k%e8qRD`T$ss6U*skn!y-%cYP@(i1)P@8rYxn_No!@`O9l(<%0+GkYs}$;7j? zwDCgDkM#eq^W|5&|2EP@smc5Kq^J7B51Ic)%}32qYjHZSHVgg)gGd`Vy}CtxMfRzE;ivIHoz?@kIm;wurjG%{BLwAqWX zvP45yya(@NRnywm|Eb3yn}&nS zsuSr$_-KgBprS5>$44OC7(zIn!;emcCS*ro4um4KjzDl#bk~7E;Nv5->8eA|fiMN1 opc)JCDSU?G0_uAStMWNi;0qkT!toZ4%f%Yp$Nke7c?a(O4K$S9XaE2J literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ErrorTrace.class b/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ErrorTrace.class new file mode 100644 index 0000000000000000000000000000000000000000..0787532b3f31a773da02a8e0c8ecbda05578b922 GIT binary patch literal 5227 zcmeH~O>Epm6vv;JG`n`TY)SgTM}Z-HZTQ&bBNS*#p(HH?HdG>MBu;2zPj{zyJ!U+v zC|9mrxpL*o4FM8J9O259D_5?Z5N~F@tXCaT8?CA$<+9`FdH&7+y%~Go`}wc$egJ@V zc((}+57sjo_Q#Yb{cH3(?F%{ViyEO>CtJP^}l z*uQ*mjfKjC29G>g91KJ<-0&cXM3|3RqPFqw@?h$|t0Xrb?T9LNISg|tnR#*xZG6&a zW~mz~Ly9QoFW>?}rfB$)(SQq~q4LawmSmxjkzOXy#LZY_n%ABP*fS(_Q}V_Y8RMhp zc*50r5AN!&?R&7WDIyH&ln0%uN)v7i?(_VWD+$Ig;_ECTp%|w;rizP%q*5HjY@D4X zfxkCmBw}GqF%puZNIGO>71P-((%G}=>`l_SN+Q8Bk_bh{RD~m=kib4kF_C2gZck5d zLr)9q{Tt6};Nw(CMT~c@cuYc?=rs-)nZywI+v7CmAy*{JQzkK{BvUdEm5{`4Wp|D6 zjO0nguJQ!sT*Vo@rg^N&-aWFDXG+hY7omyPZ^0#G;Oq0?&_R?SlqlSrz_&-@7Ebzf z+`^?2=T3CGt+7?uklW_+Ki!N9`!yezJ25|pnyP)U4)atkPxE#57fU!Zwagx)-bueqTM!fB z%pJ?0^d*)*v4UNZ%aC2-`qk;!V0HUtdVwZf#KuKurwMQ2l|IW&*q-Uj?6JYr?eHwa zmP?Ds;1R&S2V1};XuuIz#H$80p=CxN0y8cZcDopl7USK;*eS+ih5tQ;y==x)xWWn? z$KMl3TgTNr9E0!S72p>8L&%m=K!c;@gp<(1CJO|I0 z2vZF%!pBa+3pMiasgv+xjXZqjB&^ra@VS%lQVk7XI0YT8;POHz(nIjXeDBB)ncD4}UlbZ`9E6 gr;~7@x(3hnt!}`Z_-$>#CcJ}V3%~bUa0%Z28>&|@kpKVy literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ErrorTraceExample$Criteria.class b/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ErrorTraceExample$Criteria.class new file mode 100644 index 0000000000000000000000000000000000000000..9ca90979630933b9097694f91bc741a7247715f1 GIT binary patch literal 5418 zcmeHLO>fgc5S?v9lbAqhpylJVR2ax zUni)nN&2DA-zVC-kwM$vGDe$yBLdty6>$>bvkfC18Y!C4V6b}`ORrI(5e~zNNd^lq zrIPLygZbXt0fWYd4zUSs28(&5kx-)|q!!#}-4E{+#i*kb40)jAL`K3%t$1SeFv8fr z;9h%wj6B335{5vD2#&=F`6^NN&nf!_Wq(3>m4_NFSK9GdxM0j3S-{f-1B&#*0ulGK zRQXw8{-5j>F~~U4#_=4TIvMdmsLaO@`GmvY0PZ;>)#x|QxYJy4cb1^n9!Tp-AUpK! zWgs25X@Z8bt*kR?;I!dyhewo~-Wr#drz*rlsW9~UZc0WeZ~3z5j7xQ*kC6)^J^s~# z*RB+0B~S$_GX}{7T$=7m->@Fyl|Dm#pp1TuZmdHt!pTmdRj=@{#t)5-^AgRZ%%`?1 ze`=GVayvw0GyP|k9ZPGo3dxrjMvFT9=S~N@yijKhQogTL(PS;8uaA!EtG%mjsfzT< z1zcZ_u8%@D>Cjhl-k32+JzA=V^!3qEeYJPBE!CsW`f_xm(D3K$SAB_{SxYwx9sQ?U z$IMEmzQBtHM#+Js5~xZ{9<<<22X4V#2Fty{MPI8}yq@*F76;Trd6ULNH2Z>DSq!=Z z9f;^aP~(lB&tEp&SXu_#gUfW`Ce62X2Hu`dO@P}n^SCm7m(F5k(AiPcx7&z>wP>60 zkiq&T{4;1xB4DsIbz6t0K+QnvT>{Mw%Gv_W&AgX6Prm@X&(M0`^*%!9D?QD@B8?d) j!{4K^Q=ni8y7~Y2^YH;J)7&LI5rs$4CLb&CxY79mn|D|( literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ErrorTraceExample$Criterion.class b/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ErrorTraceExample$Criterion.class new file mode 100644 index 0000000000000000000000000000000000000000..2ec4420d6f86d2e66009b2216f7946c140f0e5ff GIT binary patch literal 6826 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 Ni|l3g3*PV5{{r;749)-m literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ErrorTraceExample.class b/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ErrorTraceExample.class new file mode 100644 index 0000000000000000000000000000000000000000..f04bad27a96808520612b8c400189290106388f8 GIT binary patch literal 7062 zcmeHMYi}Dx6uslPe${Q#&;}^4X$W9Lv3Z17lNM-_LL{d}N{B>1G1;BilkU!}X2wzT zzmSkXg75q&#NFK(J9rYWlm+CbUp(vCyJzk_bM9z;{Kuca{00EaaK8)%0xL#)?T`uC zK46Eet#r4oA})=N+P+HWBV}w?bJO0?TIn6lJihUig;BuEP$V#yJQpz8Z9m#O;GQLL zMQNYw`$ua5>l;pBzB7#3wpz&U3W16*j1@ADCyxo#mFE7M7M5$l2$VVOeR-5=SX>Ju*Awe1TU=$DeOH0GmYjhf#RC-v8ZbVW`_wURaf8zGXK-}5@}Gu zA@`}L!bk+n3MFZz)n33ubBETdJ3UT)?gb31p%L?*ur8;I$ZG4D)mF-CYryIv^%XZ% zDoaCVy&koQz@J7)0_rgtud&DJpoV`VFx_3p zV$>?is6C2!ts3v_gpf^?m+*w8rXO*QY)fNx-?K{7RAh}N6^8bu&-aDoev5AP5fph# z9t)1Bkca9CrwohkokXZrGi8}6C_^bz77`11BHfwxFrUIRZ9{%Rarq&)J>^s856&Yc z8|ey7y02B3v}i14I(8zqzTuKk#Xfl_gFOH7#>%C_iDU0+b3phWHE{;Oi@jRYz(oI=NK3dAB=!>JH z{Ce-%M#@K>`Em4Iq5kMwU4Fz)Ez)y^cK@ee9aAfr{1Q(Mj0rC!nS!$9RD(IVQHLwA zK;TAW+=z>Puh|ZIC=dJL9@jezt*qFwQyvR;8G3Q}{dlryd%_U7dmjG{O}9D2?W0kH zumZ0UcyPA47JF-1%0>9@Ki~;mZ#2gXCvX`PS;trI)PyWH9yfO@@Fsy<6H_5j6K41* zx`*gs&L#^FfBB=uiR;Ek4Ho^~@nvr2Wd+_Pus$)<3}zdFg3<&w8|T^Ap|2VX>RYTf z7n7F2RZnw#e;?Q>1Qt$CY)W*DB?|~#@&eAVklMEDYmYw=v5*(WEt=R9MZbAdqEmwo zwK3e3;S(e?kBo8C2dS3fa{?PVfGUYL_%W)IWk5M?od$?K?$#lP=-n}R-uM>FXMFq>Nw&*1aK8UXK`j3 zpCCBaeucRo=I4Kg>%S*)FXCq@xkKP3ysoEF@G{)QZvc(<+kxRAH!;zj$GEANbkYz zkz9t1x)8QbL3n=z;p`lCod_++j_{)cp$P3$5L}ENI1mVYaEdlvJXi<9419=cEWk(b iF^)G;-^<9#r%;8@aQp(tJ2+m(+FJa_e`0_8-&$|5p literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/Event.class b/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/Event.class new file mode 100644 index 0000000000000000000000000000000000000000..c93819dabdbafd3bc15e03c91a48339f7fd7d2ba GIT binary patch literal 2264 zcmchYU2oGc6o!x6t!cBdjj{1Lz#9x&J`#o|Au)uI7)V1MTHF_``#dlNY9b`i=yqk&Un4NKuVq4Dw)>|L z$0kB%_&Sfc;rTD?_=(+(XCe{iIe~h+vx^QdWyl?vCNMqpc%_t7O*l{LJ39#?$>@NG zG>~yBB4&h4XsTo{;<0{8-PZPi(~t)dQz%MV@PYL?UBU>x!w9`1LhmTTB^pYuX(A1c znF$8epacJyVt{1_TrtnCjAy~TfB6**B2J|;G*@RvL^NQDoukL;Q4DTtBTgd`2t#$2 za)mJ^+NdlrQqf|G+Z`%2&61Gsi3D->a0K637MZfzqnnvFb_7+FC6>Q1E?K%QyH6Dy z)JV#x`IK_ERZM$=$Zp;Vk`bmlGs#FXov~2Oi;@ z-ChEdn?h^M#%-)p8WsU>47|_kP=j%3;9CtGXy$DTTx=awOu!^Q&*9f9DhamkSD1P~ zJM$T4zvtR{d^YkC0vGY!>QM!k;4-!ZuE14%{_SwB!eOD(;X2$XIn=Cs&QRsBTfgc5S?uU`5@3X(DHFwDh}zzxgZV{fvOUqQUHmTN*uTLG}+ePwRYE0`^%6( zqIZ52Vr(}mRS{XL5RqQIvGY7LZ~VM7p6@@td;@^T@SqBF3|?3hb`l{~=RgcaN1J{} zr>Lw+JCQD~r`o!{LEGsLQMvAsNYWS|Z5rv&NKu6fgEyBn@){Ky;V>FmV{rYMRMI_X zFyCI=Wl-7F5muqjV4;XF7OLOr8lz1OZm`9ZkBTDG@em^(>Liu1a8fIt8od`|VxRIx zeP@6?!Y~$wK&c21MIZSp5e-g>1|`v8M0Ax$8ZB4a@kF?Az#Un@qZC7m^vnWr4)O#A zd0@ex?3FRdB-O_80-ZS-^H8YV#~$(#hkpUwc1EiHZ=7+bx!~?N#YVj+ts4W`qQ@>n z>A1~OG?Z;+oykI{4S&CPK)GqJacOy`BHWh>qkzB7$SCElxGg^BQVsPXazUgA=Ph^z zuwjfi_6XFA@RUIwVP8FnSB|GfJKqMziguzx^q}UeX%AB#5U&SPzRY7b120P-GUa4~ z-J=lGVpqPn;r-o(PXzO%38Dm&t+hS3N;D&=D8WsJGCnU3ysK`$i{4QO}DX z|Fx|NE_5VRoA=S!T&Q^)kVtFua$4M3+AE9pH2wAT_<}xTkn#P8k60%{`l_qPYhRmL zkdI8pi*0iBuezFE(&yWlW?{x4lTpxQNPE@9$%)m=ofqhTjL9qT>4F+igPTpb2Dcb2 zw|i$Jjxvn(d<3%4qtEGgS+a*_N6=J*L93@j5$_5bztH*V#flq9%V48-$yv;31hdYd zv8^)`;wzauTRPVt504=L literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/EventExample$Criterion.class b/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/EventExample$Criterion.class new file mode 100644 index 0000000000000000000000000000000000000000..175d05d56f9b139e49187b4a5a95d7a26f23182c GIT binary patch literal 6309 zcmds5&2Jnv6o1}qvLE?qnznp@IHAy83cGxiLK}pjA%%*xNF+p}H)qD#xSg>_ws%SX z4-OnSaNxj!12-g);Laa~c;1<2XO&Ub8xtc#6Q?uO)^;MLizUK*foOm~)XPTJ1zUzD?`3)Il0BDV3!=oE|Q)iZbeKs@LHX zJTnK+!gB;>J`_^ej|g0895tx9jfQLp$scs%9j><+YH=Y`0gJYo7H*z>EZaR{2;ABD zuRDt2uVSpSAP&bV+n_3}c*PQ;p`sDqJJ5JTmkI=7rhJ zlVd@cJ45uC6=q{V5T|%+z>zAvNfxgkug177-rD0dM^Gb1G_hjQ1>z56Rp{ShoN2$pR$mL+2>EhE5@hhwmSw!l6Im*^l;6W(;iSB zB3>Kfa|?J~o3*dH(u$a`?*}~T-@C`&vOY(^srq=v1K|;?Qxowb-sFT_s>j^!sgSZT zJS=`2sfH%q)hg~^>aM(_`AWI<8JAo$yyvr33=6_tu8q41T^SGy;|kh-VMtTF^wK^} zeH#ib7?Dh8Ok{NZ;X~GmIDOvP<8`i`Ss@>qj3(RU+&}MZ`VE9|ep)-Z9*%)! zATWik%_@{&8fNgV1QndQv6hW>nC;K!vT;5e7qam}f89JHEy6{7E}`@dL?t-Z|A0&1 zEM55xp8l(k@jO0f+#m8Cynyd>sT8~jFX4>9%RupY6k)jl;rl{_SH?j2p%CFJyjp0( zYXvs^ScuRV1L3Dagyt9sKNljrJ_f=sg$UQj*v(%H5X!Dsn~P)#cR1z48%HCFa!2{# z5L!8e@`(`IIRwY`@oji3hcJC2gtv1D<9jg$@1WKayo-5-_9GU7_uzfZ(Azkl!9P>* F!M_q6ceVfk literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/EventExample$GeneratedCriteria.class b/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/EventExample$GeneratedCriteria.class new file mode 100644 index 0000000000000000000000000000000000000000..76f249535024d42334944ae9a32bd4102ae1f08b GIT binary patch literal 11537 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 literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/EventMetadataExample$Criterion.class b/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/EventMetadataExample$Criterion.class new file mode 100644 index 0000000000000000000000000000000000000000..eff09620f6fc105cd376e07193d0357c2ed41d7e GIT binary patch literal 6862 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 literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/EventMetadataExample.class b/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/EventMetadataExample.class new file mode 100644 index 0000000000000000000000000000000000000000..e8f252aede750cf13df0e28193e9c639e4280097 GIT binary patch literal 7116 zcmeHMTXP#V6h3lX-SxoZd$8*T-tSRna?a+ea6Bl;AJQhm`;WUOm#TUj38QYU51SXZ{{<0R9YrzPV+HHJ|X4MVR zk<9iq;(VWUF1AnR^?ZMpdrOF4S`<>)B?1%m#ukC%vhp#mYXqhSKCf!6bOl}@Gk^Xd zF&Qe@<39CN7>R&cp(Ks8+75VV?$TOyv&*T^y?|jrG-BRU*5PyxbK5+~Z8Obnv!B~J z>ML%jRF;O!dR=M}fj^5dm%|7cbu(U*X6#t=IK0#c5k^W|nppR&2&l(oJjXVt{TTiW z!*qcilToWEqjo>ywQ9V$V@%eNVZsxZnqI^;W?LGod!ALAraY@Rs4%oAeZC_k_nUOR zhoG3ZWLU6Ih1^q5Ib|4h_b@`On#s#dMj1kR&P-wgk4<-`HOwdQOv{j;Q5=5AZCCk} z`TdflWIdgsL3gwYlPwxknY!v?^AVR^Gu*xXQiD5ghiemWfp~L=!WgWA$!4G_Zn_oE zV&1kwPeyCQq3!ydnT)S4S(uqi&=+hvUq)>$+YH&bC_%%8DLMp>q- z!8F{Mgex#h;6{B^ql@*hsWxgW-}b_7t~VJH%4P8a2Xw0!821TQ5Ne@8e0{3gTU>v zt`MjRGZ>1(BI=t{$;1Oi00mH-H?A`n^v1z$p3-Io-XX9u*4YeF9D#z;1lsizuI@m1 zjhXcg#+;XsOW>-fISMX)y@kN+;f^(l!m?xmflFS%8HQ8aP(AJOhax8RO{a_#OQ)zz zuSryMP|G%kn=*V%;89L~BM15pm*F!4U+06XB+BLoz)F?@3HIFykw*kA0@p_R%78L@ zF{X4G?jQOvknT-P<$5Z7ZK85!;5MM@j$b1tpa_?sgm*)>{-AO1l!uLF#Y4q%+GNB_r&f+yq1zT1YW}X$;L3q5KY73 z%Zd}}UAQyk%OImJg!Lm3-Wx(V-iIwGLKCth{Nz9=LhA?wS4MXo2n60gf}5^9SO>xc qe1L2$z=!Y=wzrVq3z(HppbDR2`#H9Ev0W@q!dLjdgqB~xmwyAu63_Jj literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/MultiMedia.class b/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/MultiMedia.class new file mode 100644 index 0000000000000000000000000000000000000000..8da22a8f5d6c1c409b23fe4c8628bf722bc8d751 GIT binary patch literal 3578 zcmeHJOK;RL5FRgOAL-I9g;L&_^4jvq@+d8$2q6`aDs7>n1qpF-6L;4o8%K_}q9?9g zxpL)4Ab|vTeiUMyq}?Da)F6aJ#U(TLj6Z)KCza^!phRFgR$i;eMA%wq z8>}T&rzImE#wu$0GMSHLtUHRwt;K$z#Ul3wtH2O}(PTlu!cOb)>N@u{fs*hEl-q3? zcIF5;zV!M%9_j_09cvHLm$ec}M%iOAH&G{2azprBnZd9pLygN;HX}};x+Vg?#B`TH z-MI5i^Nv)TxX~RE3VoNrp61ju0z>oC=M@+u&=_p>Kq;xJaFCRbJ`M2@GT7ig^<*y+ z0n+A=otn8T>aoxqVU^SE5@|^p)p!F=ExoSYnzVxg z{I!(bUFrX)+vT6qzk0zA?1w{j7=Z}_8^+g%(Q=}tzysI+u=#OtTw08Hd=*K1iCxuU4P^!g#_Z1K&_eXZ_d6CN!`!& z@`Ffj&|=eDpR2+-0>KW5{;{_Ni6PlMu^JMc&m=_+V_UvCz*0_On05K_h*_5x9V2FO zeqtCi9&QVfVGIvOjVv}$CXFmUm~ob6UwPat!gpz)q!L9?foYU4<^n4)^MkNTYlX^Z zQN%H7CL@VrI1Q+IP{W~sgS}8juY`Uzv9-)PnH|n-J+u1~+dza7FwfCM3+_P=!1)CG zpN}2*0OMa0ti$*$ClLZi(66Uia1@T=h`@0;fzO{2PFfILD*{c9JtO%D1aM-XS zTrR-jwH4t?0S<4h2yOumZ>fgc5S?v9lbAqhpylJVR2-6vec?nAm(rq22^?A~aopI`WLtaJ+Fe)eFGB(e zIP;?rW4lp-B4X4~6v)Mnowqad#&0(9`~2nI2LN~s59+YM;JGznkO--QLvbtuZH9qP zQCX7)kuL71+Pa}Z8}zf-$v#F>Y@LWCjq%Z@kq(U%b*M4uUnbHERA_|5XdIHk(o?CV zd&Xd~)7@uK+td-(p~+yms5BO87;G7%O#`m8_NUj1YSi&DMm*F>Dr4cKRy;L&5MyGW zaId*HLLOll3qzn(ghyhCe4Qx!XO#VtvOlK0&LfSMEA4n9TsY#6BH&4iAys-Ffr$Hg ztNgq$|5x$K8f21c<9LD2oQ!!WRGwpie9YlDfV<8}HT+2o?lc$Nou=qDd(yfIkR5uY zGL(+nEJZ_2RMwd+blUJ&gF~X+>2hg#rXoC$3L~HQGYU%WD3-;iT&iPzgj^7p(f1L& zW~C}Cfhtg$F-We%_pQ-UIs14>&lb%^yEREG05b7rHUq}Li+#F(e!5T-;Pv8 zdXoh_y&laK8h!hxWO|LA*+_GR4*$|`@ytr*iVL4Bbgt0z_sA<2U!`<&h0YcFClp$` z9ur)XN}wt-_MibbT5t_+GFa{O&ONSj@kZ`}E%(THd6^{xG<$+(kB4#Jv835y|>W%NLLH6OvfCP<8RTiRia=8 b+Qs*`i{l+wrE{C`L=^5plX9%V{aWiQ^)y{( literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/MultiMediaExample$Criterion.class b/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/MultiMediaExample$Criterion.class new file mode 100644 index 0000000000000000000000000000000000000000..e1d5221dcd4b54333e5b415e8675f8e7c60d2413 GIT binary patch literal 6838 zcmeHLOLOBy5bklDICh-ul6~-oNmy8$hs+~DK`0KS!m@?491>Cmx3M&_XIGk0&5XnD zkKw?90|yQqC<>?o&ip8f9!rU3tcvBugbMhg(P(5K^ZK;?`qvKYf2G3(2)QOu?{d2{jOl8lnHN=gM+LkBR|#Ai z#=NVw(#vq2z{aN%`B33852&xAScJ?Sk;YneLLR+KYc;q6kJaIEc!I#vdqN8PK7nhE zabL|t^wAcQ-|0skt`8UjI5w2e!b7Hoo2L)UwkHgMTkV--4C!4)E>e<4c{okL8d~gU zb5IrL&Pf&)8coc@sxbT6Osom>!ALGvglP}6;Sdjo30a0FS^w>9It}t!J?L>7a6e=k zIggotk99fSM74UUTD?TA-icZ_X`r~FQdt@?>-VTd1b#n8S!NNCOV6p?b9wg8!b@Th zQLMD31M9vOA@!MbK02J9NMZ`ZqzrN}s8y6vr`%fAu{XiwHddqXg{7t+bB&sm#_GOr zm8MB98%-(4)1se(D-t&V>pb2PFUgz$#tuT!7Vjn5g3uZF;y;4MzGdcACM@O@(z5g~+5$R19 z@a#C6D>TTy>t;vng+-bxwEHi8i!ZEX&N=Y8Lgxw{{zsm(_zJn3D|D{Ve?p;2*JHx} zS|Ot%GA8g&PHQjI>`NPJnI{SCwrl_0EVS2Ieq6{hW;G z>*N3Ru0Mv&*4q+)?{`9G3^x^coxt|r=v`tr`Lw}Mfj39`%?X|8aW82YxE7;<4Ir?9 zz3ycw!6Gc-T?r~Ub7M6fYp^ny*VAz|9oN$F(qP{zB3*_@@VbuHTZl?M3Cwgd%>jCY?_23X*%pjB>3gM*; vg46o+F}$2XSbQjiS276GpJD+#^jd-zyz0Co7J=8`4Xn_&aK3~q3$XPk+fhVl literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/MultiMediaExample$GeneratedCriteria.class b/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/MultiMediaExample$GeneratedCriteria.class new file mode 100644 index 0000000000000000000000000000000000000000..4be4468c78dde1aed0b3684d6647051db2689cc1 GIT binary patch literal 16299 zcmeI2U2Ggz701swPS)PI`EWj(geILhp|zo`X(=u3n$Xm7Qa5WmC5|BhTE;s!yOYe$ zY-eVj1X@Z9wDb!oEum1LEwrkHkl+O&6{)RM9smg*-~k@s0U;qIcz_3ZK| z_t-mUy`&2G#p^xy-rwBwKj++;duMW8%C~tJ`e<5#}(@2$(tUSpoAbBL}@2Yzj%X z;Z#Ov=FhNlpg~``*+GMKrIO_bMGg9oTNTF$8XnVNCNz$fRx+9999*Y(fYaBFS&kJP z&|uB*$eaefuU9lh?k^ERvb zx9a)+*(%dbR<;d~cd8rZvqpvKLtL;zQ?NoLSV0Olq?<1Db;k|#nh}(%dcXt(|c*O+Iz^nuXvc;H!11!3rcs~dW7q0aLC zB4Ta2O!9=V%2uHJjXLwVh>jn4jdI|6dXxmiBf9154aa1sEr*!}eX7BsT#j&lAkvYkH}-jyPE%Y^KfxJzg}{&0rlLW5B6$sxV>9h zf~vtSNGO%yM(I;jEK0bKQpYY!TW>h#q&ewNH*8yjJGiJTNe?Mru@A1*;9`5Z-io~s z&nxM)8$^B&gocTG8-_jWYA`)q5{ELyu8DD7wvuRj;K7SMoawY1#FO0=T8?;(AJ}`d zRm0I>=VH^07k9rRY%4L}kNR#;eOEf>!iGtX6LRnkaku2qU@iiVMJgZY9ylM)nX4nF z9R>Av7Mx>@f1PaxwX3030uony*GrIq2cEQMxK0*aD6wDU5bTJDcs z%&o!HWt%yco?@H=HWEB!HSf+^i-a?th|p@>@L7_F!j0G>b5N`ykulCck;RcoO%LI3 zWKE^UZp^$Wy3w#CC3eMQq)izhR;lKIFy_ew<1`R=uBeMBcCn;K-#1=~_vLrDJIYpKvmZqd>*JA-&T#sAAY;m1{FNCxFEscE25Cg_jW+|?4R%waV z6&fmbRbFwgQ<_rx4lUWH=p-Vo01}0-#v7EOVJ#(&M9b46A7YWigiJaMmBWNgOih^= z0b(^u&n_8>mVl@}3(PAIxPg)h%yC9Vo zfe~EAF4dL-%BEOxk+$j>Rdum4s%j?7EB|k9*_P+vdH&-V@zkD!7sY>k zYmtNRq<+K`?J2o(Q_-t%u|)g5dx7uc`45TsAXp3Q_-BrP>w!L~a7#brxn+I$L!&kP zKY;v?Vc_K8h9AME*Ta5W_+K$f5VrEa15q#72HQj1m9T?bS_wN5!ow)xZEzKzPc*CD z8A*?#q&*#wonc4A7Z77DhSl8(R~N{%MAisY!a2PI4r2>VdNo!Ki* z8$k(234{VlC=sH214@`85N<{Z(*(j8N|+%K4x)r(1j1pIa2J7a6eWC+KsbgHjuQwc zP{M2n6?O_Go#=pc4@#ONRGNtrK13i`DB;6|N^?=dNdh5238x6rJ&zJTLLl6a5g7zDy|C}F;X3VQ)1l{+B4jFL=3rF|DA zFaqKGDB(1r((qkYg+Rb}Sye)GUqijH2!uCL!WjbLrzqhpf$$5IU=s+xLJ2hj;WsG3 zArO9t5?lh|4=ADDL52MZCEeQr=`SeBBUIYoP=Ze&`~xKfgi6DAS&i%jz7@rGSqs^t z+tZ5@&JhUxDB(PTumL4pAP}~ogijC%J5a(Wmmu8NdP3H-8zp>-Ko~*^4-g2~qJ&Sk zsW8l&>rm2z9gwa^Ne?YiY1mwDLJ6NC5Q-?_vrAMOHiz3#!siHt36$_KA-Z>>ghvR3 z8I{`t+`0eDHAQuDWG L-+~u-uW$bcsfw}F literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/MultiMediaExample.class b/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/MultiMediaExample.class new file mode 100644 index 0000000000000000000000000000000000000000..226eb11701b06d1f8ba3654cf1283f7e077e19cb GIT binary patch literal 7074 zcmeHMYjfK~6us-Xe${Q#v<*;R+q6)df(nj(rnS-)xJc&zcr1|y zc%< zL#49RXV&RciwOLAfJBZWV9Bj$H(F6*t)uXg9E2YzZD|}GTH#TL$!LvjP6svojlg8n zQZT4hlu^4E@LDz6un8gSs2br2OHCMXjU-BAb?8{7X`-D*lL|va>GB;Rx!a=M5J8cS z_%&~j3c0JEamuik{y~IVHB*+Ef-;nH%0ePtPNX~29_CYcrftYCC@SCQwy#{u+`%!U zWFuLjNq4mJkDJ>Sc^M>CZI`so%o_1 zg=vg8`+-J1Wg(N#l`NXfrRe{Uj`Hih|29$<=}i`JejH5|>W-du`4M|+k){gm{Y!s~ zPpxE5IPs}MrwSc@k33=VWm;~k(5XWI356!E$As@|nS!#&xCV1@xen)GfxzX)xG5KT zV6z=GULJ=2HrJaBZLP??Qx5aC82WPfd4IBK`@#^oa~v-Y4Y)bO?W0k%umW!rcyP4Q z7Wr&h%0>9zEARv^HJamv6F7^B+{gdZ6GO7tc+%Xez%>F_C#FK6Cd}|vbQ00coQ)SA z+68EL;=0i(f<^zZf18_;S%D7-+@F|f28WJ7L1_Z(jpOX=&|{4R^*vUbi(yOPyrVgq zFar;Uz{0_ab&2k=WFCPtj>j1mQrl3WcK8Dk33*}M*NOa5^q$ux+B@i08^cW*K0`9| z$QU<$kZKveB(RnPsFG-j@1rVN29#6xIIv^J7J&<6b7eq_ycnss4Bs4Z{F63B2D^y? zwu$zcfvbRyI{wBm14TFkCA=#_87lEug&ICRi}wYn;4hL2#`73Ufcs z&;JaUevji`!)qyiLg010uP0IP23)~U1m1)NybcfwIF}&2m4a|B72zFtcLZUWLmI-( zR0JAVJ)Xm2N)ESD5w62~sX3$}ETyq2gxkhnd4C^AqZ)ViWCF_A0ML4G#*R}!VG+ZYAnE~a0|yPsP83Y b<#VXQ7dU=}<82&QigoxFpO-N54t)J5^(DXN literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/Report.class b/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/Report.class new file mode 100644 index 0000000000000000000000000000000000000000..f724da9dfe2dea5cdb3ea97d5a2d887f3d0e0803 GIT binary patch literal 1709 zcmcgsTW`}a6h6+jw#f<|W#i89#%1kGG9jKA;st>;)Pck<5|3`;wH~P*+0FzH{4OMr z;GG|ZI8Fu)5J8cqDUx%N^Xc<{0smOpw|SCz^2i0G+{zUN9>qIN{=FyacOiG zC93$JDPu>Po9GqKl(tQnC$Ln2Qzl2z%i$4^Edfs?1R8^ZlA|pG^G8NW0^PyyK=d^p z2`TJj0&~6o0Yaasgg4`OYeTkQ=^q40!R+CJm%nBuGrqwXz6Z4P; z{@$3=gvTk<2+COehK)E~$5_IXSi&-v@JB4`G*R48sVto^8;_|)2L3j~NU98&o6zMT zbi%^F@df_&BuhmsEH!z?HAO8he(=tW9J{5-MGU10p;w^{hL7U~Nt)fG^lN;+i zh@wn7StW6WGVooVY0RVxVaVyv6j?_~o_#0L{R2W{{Z#pDieWHe6_f4_yK) zy-GLlS}m~CT?2OpSg9BJWXSa%!=7|)uVR)SFfH8o$or&2r=U`hdgue{&I-9%B(i!onDS<~4qE40-DN+6v<;;B^>C85kx z(l5n2QRGAiyDHZ)eFAGF+`; zSgB>W4mTKImQ8E(RAg<%@Str`s*wG3;pUSXJOsAJfyVesHK>h|CcY~Z_r I)?JwU4sR69MgRZ+ literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ReportExample$Criteria.class b/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ReportExample$Criteria.class new file mode 100644 index 0000000000000000000000000000000000000000..f4c35a856c1967382842d6efd2c9891121ede4fb GIT binary patch literal 4760 zcmd^D-%r#)5T1q8`{5~Y3jTOni4Vt1`(iW^V^o5MBnKo|yP^4LcPu7fdXr!n^jlsr6t-MEtMmUT|<`~?3DV21u z7|eE8b{N#wbc}UqGMFnFCPEFubz`(?z%4fa?6V?nIyu0YM>@@9BAnEUXGZrEOzjKa zYHkma#~3BT5GWJTz8D~1CaJ-()S!|YjHE8}Sfk}iJDv&`4Y?x=c$i^COiwJ3=%5Hu zP!J3LWv}8O(;|SpMCVQ>JQAw#(MLYga1P*>Gg1xyVuL%)1$RdowwgU@-5AIQy-pcP z$8DaWp&%;jOddIH_^19JN$#$2X?d<<+?5LBfPcuzD21b(mK<@Z4)i{9L0X2VEqD=l zV~jZRAnGM}!XOXY*ALGcK6std#MZ2Lz?fJ_AuoE@p>WEW*(Cayew_z%E=Vh z4I_4rC6@yxJtH~>T z*XXpY!iutnpQ=QIGc_btQ@dzvk%NlDEtS?5l~OsiGFX*a6Lr|r%(RrBb z(dX{RJnf^|7Sv2&(CO(&Bs+rI9&~^Fu;zx+GI-m&Xb)u6`dDSq+S0j+@SQBZoj&FY zjttrxiaI81iLe%J9qu!DenGzs8Y9mP7S0@^@EE8CL!Ba^u||=)Nn^e29L>@%fYx_t yeCf2lLi;D(&A=R83rvBZr)#@H!2)#3|L>O9d$34jhwu!R-~lwr#}YiOwf_K;US9S9 literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ReportExample$Criterion.class b/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ReportExample$Criterion.class new file mode 100644 index 0000000000000000000000000000000000000000..83ecb0ff2550d540fe7423cb2a93b40a7aea7b94 GIT binary patch literal 6176 zcmds5ZExE)5I!bO{1PYW(su7JOxCUTUhKVe>)H$hIwReRxgF4C8P+L{U6GclYp)r0$=8|M&|4Zoy_5<_O%=%4>&A zMD3^SfVHLSw`I&Dt>U&Xlkc(ArmwheKjyJiX6ulJalmhMlrUTg8I_?#;7T$(U{SyQ zeeWsv41uaABVQPlAh6aQjc*$zqW&gcOMB~=Ap zByj(S2)U5K0r#mV!&n5&x=3RsdjSvc(poijka{eNq@g`dk0%&O8MQXmYH$@^uEQ(v zDuKl>MI_8u1gffej}zQt`=T5LiKN+xZ2r3jOHWlFv7qPbzSe!1}4&6Id2{J0Be@LVrCL zA4@`aM-gHb?~H<^0w0pq-zKZkc8zxioci1gn8G-SnYYjSoNi$Dw6g4JrP+Nhytq@rm&G@4XsI*fe2hoSAa=))m`A|1)J;E0OoK<;zO zkgvfwLe0g1drGk*2Sc44p0SXF+0UPd6UQ@i+h+HvL3^%&=-`@bOglh1h&U~X%jWKM z99AC>BO^k-b?EUpIZr2^o-SL!OntoML^yDDkwj*j2^Yz82V0yH_mZcZlaF>254jmg zpEBP+{#|LLlbdu;$uPNv*$X)x`?+a-!y~R3-psOT4DaxJTxomBu@|>cX!{S6+~sKs zm|nAHs<123gi|)kOD1yq-O?ci&WD%hKYpA}txGH95-6vK+xfZgv}w&)os&%$P>8^t zf?7$gdXnoR;!;Px2{L0G#xJ}%2}XRNxH(ump~rbnPHo@iJH0`pi^tiT*Bz#_iQ zK^c3tt!8ZvmXdxwYnQWjC2LocdCQ1&1zy1C8cN?nRDx~oPq_Ni+V$VzrN0x5*YLS$ zN63%xI=M1&xHtYPl51DA;JxKr_hFX3vBQT5gJn<^a~N1 zQy}aYBD^;Rf-FRMe~Q)A1qdZuCCxE8hbx@M!v`msM7fjkU=dn5gwmN1+BpOp>(krt qQ4V3@Ob8$65T^HH9zH>>bMPtV721zj1U`e?n4x#EzlbCA@Wp?fJ4Pn} literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ReportExample$GeneratedCriteria.class b/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ReportExample$GeneratedCriteria.class new file mode 100644 index 0000000000000000000000000000000000000000..fe2a9701d8131e5c3d26148cbb3ada27c4c48793 GIT binary patch literal 10633 zcmd^_&wmp|6u{rKfuy0drTmZ|qDw_d1rt#OA+=IU!9rTFEmcs_>FzYyve}8d8-#zs zg9i_u{d~B3@TMR2qh9sk!HX9!Uc7km;>CmdW_Ocp=s;%Uej>#~o9y)EJMY)bym{&O ze|_;a033sA8u|##x{h9`QqwN1(VMiuopOQKnC&{Xg2Daq8h5?2!`#9Gt8vGhxkalr ziyb`AZ01mp8PksGF~_87ND&zEDHgTMg-a`IO!o*3uDRT92ocy^Dw(cVBrvdOmTl_Q z9Y)}yKR8k9R+$jb?cyYow@}M!O_A?H0{yx1Wdf;bZm={A6Bur(J>xjs z$-p);a{P*oW^?N%Gc=u7Yo22GcF-piqtKH)xq@W9Y?v z=*4{C#eBnyW17L4tJ&Pss?^gfnui2-tA?(M63`KO;r+Z&EPp>?C|(=9pkl{T#&Pq$%pQc}FPLRlDs?Srrdb`aQ^E44Zcff_~8c^EF?b$7mAU181= z#byG5(Gu6GwM?;*g3sY#%Bz^J=#F&T7g=|HVRvM>%)AS2EtyPiywQ}I3*RQwipju! z0u_ZeN+N3%yH9w)M@-{3fs>L5L}C)GvtneV8Kn#yAY`+G@=EEYw4jwp|HTyvb1<$S z@9WuvgdFavXE(b0)26#jEz|H@m)8gk;Ub=DbvZLIPRNRaM-y3SDy_eV^KOQ{WpsS2 zw>%iVQDop50$(Wv;elP|87L62lCnT$&1K*yfphntQS{kWTqYX-wlQnWy7P6*B5)SZ zvThH~Mu>|Uc!9u&ofYi$EdjTHhOyiW>>cz6X5Ot+Yl#!MkSmD`P%#lFoI-bYc0%V1 z7nUEsmh;?eDmvnioOc+0o8&B2D4yDT?jE}2G{v|2e=9N94PH0nNZ!HUD&i ztg#G5c*EyLri#=RL(P~jN2`mla!4d^=aqIBm7R*fwovP6?v93IZP~kT{a_?5#R3q< zw=#J5T_X|Uf$&cvnAaPL*Sb=Ku1X{cgKQC+g~`*1QZup@Nt7a$b8>NO^L2Cj>>{r_ zIy-0j_oenmop1>nFl*zN($f}oUFN3YI)T&w_5eu3I|NR2Ngxy|&ow(qM{rcmky1M%x$j!C8vlnhUy@OW5~xQwIQROZ>-xen`P4 z*o;qUeCmS?J`ddWoNap^Ly0Xgh@aT%|6@Tvz5~d92}4&$M?QnmZ+y;9{4J<}KfCa^ zkVh$a1a|vldtfil7R{m!mm=o%P|PQNeQQ6s=4!=Y3>`Xm`qDz^1GBY(*@}dDd`-X zkK~8gmxDb_mLGpg39rN;{4FKSs%JUbBqdykLC8u87oimKLn|h8>tjNOq=ZW`2-~HE z%P|PMrG!^w5cW$63o!^|Qo>>k!XYVPDU#h+)Yb_(A|)+%K{_fWy#}vG@}sp*WchJi zO1K(>P?Qk*;To>aK6nG(#Mix8KfMKS1I3zY1z!z(CHTrxgJ6kOjJ47#R8VT|A1Hd& Ap8x;= literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ReportExample.class b/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ReportExample.class new file mode 100644 index 0000000000000000000000000000000000000000..48ebd3446342b9145cc2567c003846b63f9d65e6 GIT binary patch literal 6644 zcmd^D?^7E^7=9O05>i?ywy5>jmR3!yCTg*@1+f&UgOl2sLYc8&oaJswmfr2&>~0wN z%bd{}{q7&-_}(2cU>354Os3Q?x0k*5o_pTs-rali{Pp*5e*nN7JTAfrfqO;=^_U4+ z-(kC~u5`1m5-yES>Y>W!6J=~ub5noD6Q%9y9*dKR7ok94D!V6QvRQw+wZj8T;F8iI z*N^s>Bi1&Yz;vS7i;xyzz#4r<@u;3+YaypA@)(+IHs3(Ht;uvxfS>hC&K`Hp+7r(!aO#SOSC5<;|}judmj*4e}|J{^d5f^u0E%AwTZi za`GZR+@LZ{!LSYIVyb9e{AvHUws{X9MWD_s3E zi+dZ7W7!n~@8J1F9tH2hb^Jx(J($5`2Vn%~a)kFC2sfPwAHqk65V{;(2)CUGG|Re| z!>ohD9Vfyq_}Iz8g)r|#_yj&hRda1C|LW1rrt09b>_oZ^pC97VRrCu7LgN^O`XPia z2N%L~C&HKDMsQ{EivytmUmb(sQdBq)2z-4^ZQgO{U>pde@C{bu2;7BxI9|v4{uWhv Z0OK%^<99eN;`p#I0jqd@3?r9d`5(nX6pR1> literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ReportMetadata.class b/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ReportMetadata.class new file mode 100644 index 0000000000000000000000000000000000000000..a3c362ff303a7afef3b319be8c9b3816226283f2 GIT binary patch literal 5971 zcmeHKJ8&FD5bZhS`$^&seZXLB1_9>8=Z=p6BO8NlNgz1M1_@DQ% z(C=LD-Q}>{fh*uGI?no*XnNQ4169aZOn8>Z*D0m5^!@jl>XMB=ZiQN zVW4qSJr?uTKnZnAo6|9u`&{mDsR77o=(lf0{J>aY3XO7CkEoy?$#7q|TqYX4&|xa& zo=}|mh}1)}iEi;#S167rl`n}vsLKTIYc1{&n79_YyaEpsXpDrfN*T&3oFVnkJ`6BI zp|{Un>V$qIyyO&$XZJkr$IG-{+uq~U<&MWBf+FU8%KDrxV8GjHz}qI^?P0(ds2lQ_ z2BD%pQ_db$$iP33Fw9v7yuh};sJ0f?{x?3OLHPO_X@VXo;ZcVL`ivf@Lm%q3bwBci zBNUAX5tryw5Gy%wR4A#r=++_?F&zXh-xUGM!K*{>cGO$>amH=r6?CDhwK~?`d>nF#rGblb`nEy zk`neL#wW+m!m&Y4VtnptI+34su4_5A#69|;I-G{HQ!o$b2+X$*SJS#^ZFI5d+8p>j zF1H!hp}OqG`q$fGQfNC}oKSlrCa~Q7udM)9*{AwEsq3q)MN|4$;XHx89A)uc`8`De zu@O*fne(;(lPJnGExNp)M8wFN#=VtHLo$cLN0q(FhKp5b6Yz34kt=)hfRYwxOxP?6 zT|3kl&7w1hR~v}EI@T~X5I4TkM9kKB7u7`2KbCZOOt4IEg^ky^eXy@n75h94pPpgJ zFdOpR`_U<0I~robWrP|bc>jqGegE2t8=3A;J27VCzWyMF4WZu8+7;a2PI|-&?wDCE zUDFv=OIP(g$)`;JsJXO|VLw^l3J22RYeIj9vqtf-l}NrzX1s%#NYWS|Z5Zj$NKu9ogLhYr_7W8u;V>G6 zWiay65thm!$aCeeot=g8> z4S{S?qsUM?Zu==3dM(O2(+{0C{B7reir8G^((=BFa9=8n0>0g+pj6=OvG{~bb)*lG z3#v}<_XxFWA(n+e1yY$Xi0|~FF_g$Un-};1py=}*hgdil=G^SNNfG1%tGXWbB!3wz->KTA0`YkT+WJ2g^?sZ?We&? zetx|fNolXIai{$>Mtz#trR1847m>8#jXXNi|DW=Wu6F-+q-m#So3g2Tm;YGgxZ2&wQ}_;dSqm&9}))dDBliXm$lz zUkn;;9g28QkXc99r#DNkCoO~5?W;O>1H*2eL2XC(O^7d~A9dyOeXi%spuVNZ@7sul zwP?$5kHPaR@?cOIFk!HGVK)sAfs91*KY`9As^A=*%b6cKOTPeWU!d}_QTqh-Z*(;S o^K|qWk6)l;Jx9SJG_wEiWXHR(MCS(K87#wnsL~kA@Ss%x1*Ri(!~g&Q literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ReportMetadataExample$Criterion.class b/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ReportMetadataExample$Criterion.class new file mode 100644 index 0000000000000000000000000000000000000000..f3dda0f5e2754e937f5e3b7db4a720aa1517bc22 GIT binary patch literal 6890 zcmeHMZF3tn5MDV>96L_hrY$e!O-T#2d9is(VM=+Kk_nKh(+(tL2ENI6immoex{>72 z{xW7@2EOw<_#F(ZyGwkY+{EYNX$bWf>vUQ@yV`xUI<5cw``6zAU;{p>K#9P%(Ox@b zLbe~WL)KQh*H#giMn`R5#qT3!Y)^C3{+>rl+Z}G1&n(+|%)%((H#W7fTni;DP$qCO zMhTegwI6gJa?cW|dP@4jq6C4}&TxF!Y9V`f2+SX{V8BNQlgT)^WVoBZpNLeXN}tG2 zZVUkep1!Gfx&4`QnRcszFgAT&vQHxZEt7u0HGz7M+s&a(R~pSctIC_o=M}g@;KI=6 zEv=Pagck^`{UFgNDmdgm^;8&%fVm~oNULtZ!%u0g2AAQbI=l?m2rPUiq_AHQxY{_W ztGSOlIzsaMgRsl>9zy`<4dt<5pK0Ox>C3Y13q#;uXKGPH7cZheQb&#Y;y4H^D6yN3 zLsgjjN0FFoG%*&-!t7?Fu_DY@Bk@=grZbF)L);q%Wf7WW^{>-iYS5?Ey*{Tt_X4KT z?-BDJu^y-E$l6xQ+E&8a))8yhsjs-9Qdt@@>-DKc1pYWeYGx78pDoAsmWy@kG`z$H z5xTuVW9fkv0ri-4I=Y-5(c(-6lg*W56}5^o>h?pe>f$j*WE=Om@Pwsi5OIx6m&WRW zXO*T2I~q+Y3>`?HA0UJM7Tp;jC^|Tv7CfOs9;!#2GW1S=6rolvWMv_t0!uk(B97@} z-CZb#(^+_-Fq~T<=k1W&zVa#a{o^yOku0c553~y7)Zumx%{>WQ-*Cw_!?co4XP62O zxHfLfxvUck;|{EN^U(x2$q{FwxTDaNlUZvdKb$j>@#(C{R+!47XM8&PILe+kQ*rIH zBkqh(XPBSP?NRcK4KI??#uIsZMn8X+9msRR}5xwe|NHCT%K^|W11+m*Dv5YJmiq>FF~e^*g@15pXK zwcp_KkE>UIffxUXFu|lW z4R>=9ZcKo%m5cD^1PI%?2yab*u#<~$bAo7omxEAte+FbcS;7b>d}y5H1InG`gF|>b zgHV1dgm*Fsj_Z@#@NNcS{;3e&%OFg?iaBVZ))KVgeWx9<2z&q^;ST*6`wKWS2OIwY DV8d46 literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ReportMetadataExample$GeneratedCriteria.class b/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ReportMetadataExample$GeneratedCriteria.class new file mode 100644 index 0000000000000000000000000000000000000000..d234b97a6500f008aaa58d0a85263d026105ff08 GIT binary patch literal 24170 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 i-}HY=e*RT{8uIg2H(&C*WQ2zW6}4`{+N^!w1#? literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ReportMetadataExample.class b/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ReportMetadataExample.class new file mode 100644 index 0000000000000000000000000000000000000000..ec4c5f260d4a9dcf8dc50d53c6e5a11fb0811a5e GIT binary patch literal 7150 zcmeHMTXWk)6h7;?@uhB)hBiRBZ9@w-P@7B2rA=GfG=}{l7&F(tW z{4!=>2HyD{{0@dADaH=o#F~kwA>bFSv^x9kIcL8;l0N6+b4AUT7R0`cX5L0Wg&&VOJJ(r*dkC|Q9cHCiNMUj=~bTWogK)*QFK__=^aWIgEf|H{(@l#*Q_Q!%KY-VZ3HEvF=$BP>;!Yj%`l+ zF`TMlN(F~k)GErT-H&*+64PLe$r^G|c*0WCi@3&Rk;dwtXO*TYBkK(+4DCsu?+D5L zCSC6#C?+@=7VJ|Y_tY+@471Zcj8Ls)@-mZAhEUF!NzC-I>CUu<`2?P68P2Rxob8a? zuJS4K`?XTZdKyrJ?r0Szr6b-s)LF5c-*Cw_!?Mz^fmjN5xHj>Yi>pp3jKTVxY(AO- zr#0eKCT=TqWwdG?st;$(WPCZxvK4X(dcvpvlYIDjlS^t}9&smpI>q{QW*;Rl+3_qT zZ9I|lbNc^R`SQ!%e;aAS)a3hoQd9lmm&|`7=O;`(ZKme)l9!2Fsg5z`Qz(;Bmg%Z6 z3s-7z0p`lG#a{PQXf{tbTy3WC@UF-<=eCL{}nkX{4_ND6D$OE`jHTm1!Qf1I292`>MZ*u9F!>EsT9*YLcSTEXkEfL8?GfO$Oj5enFsBE0E9 zxb8%F8{Qd082I2qxZy;gNz|i0EINF+=|s2&*PTAN5bih;-h=lst7&fQf9GQmO~c{K zsuSr$_-M$NK}KB&kB>mOF@$iu4?j2&nvflVIS`7_Is(C!(Om}ufsc>irYjFU2f`G5 of^00nr|=oJ3&`&!%*y9bfiJNA3fo)QE*EQXAMa1297e6!K<^TWy literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/Stock.class b/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/Stock.class new file mode 100644 index 0000000000000000000000000000000000000000..1e9c31c681b0f9a18888a0e5cb3f4f8385033ede GIT binary patch literal 1706 zcmcgsTW`}a6h6+jwh4ufv2ka3<+AQ20f{GuctIcyb?~q@=ql(8etO|)lKeB6XZ0?P$9WpWg~9v<=767WPqpwaIuIoc+$cx03$u+sk>h`z=X zA%%TPV4=6QkI-i-;Y~PCpfdwM*IMZobcpxI_}dI4sWM<{LYIQj z2@C(m7x+7qEETb^)Z`i0C{-G(^Vlj)%M|sts4z5_2|pAPZ#hH{+AL3P6&=#u+*s#9 z6lK!MDv2wUf$#E6VYpGiiK7TcN6a8CUV&#(B2isU~vaHMFuti7ZvVH51%Dy6jl>j z_+CPf4*{O%iha6(7C`U`+6OBaKEU#q0(%M1M&Ti_igvq1!5Un~F9KKKDxQBbT&rPN zt7W(WH!BPtvX&a^7}jeUZoztmVHU;h8V#GZ3>(m`Fw8X6F+8YY@Zb*W_TVmT;=6&? HJy`e-H)+b- literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/StockExample$Criteria.class b/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/StockExample$Criteria.class new file mode 100644 index 0000000000000000000000000000000000000000..3614f3de62ca116e68970725546e2b2f67e47989 GIT binary patch literal 4751 zcmd^D-%k`V5T3%x{qPhx1%EtM;=}Q>ml)%N7!4t)B&Q~VBtDki;jXaTZrUz^zsy7v zefN(tPWQMV!FYv`3x_Y;+r6(d-#6P%XXodyuipXSDLkyg6oXgR#GOn?)!7pVqN7c( zqjOZ&tIHVY>xs^hrEJ*VhRb$*>sIsy&#z z%y*5>$|}s4HT=&yG&)m4QZcoQ#`+ZG>$Xf<>kFmhnZ9TmR9WNn*VUs-wF!fat}FvK zz~#i{y04y~6Ki5YA5Ok-(tU)v-vo1$8{={`g_V^`&L7+Pz@=W7zdrVbIvrg^BUC^v>o_ zop7EZgXV^!UddW2tVLUedkmgk%qxT1&@Xv9b9}-hpxz5Lh=9flg=vPyYS}QFre6S! zZ&3T(YJ7p_54xLzS-N_R$IsEVIY7ZYw95bQl-IkkKx2#W3>M)&)XB#pJg78(1LK2Q AwEzGB literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/StockExample$Criterion.class b/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/StockExample$Criterion.class new file mode 100644 index 0000000000000000000000000000000000000000..01b12af56f584bafd6bffb263b8dd6b9d1ea0727 GIT binary patch literal 6168 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 literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/StockMetadataExample$Criteria.class b/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/StockMetadataExample$Criteria.class new file mode 100644 index 0000000000000000000000000000000000000000..06edd28a7eca7ecd65b303c9213ef159b14f50ee GIT binary patch literal 5447 zcmeHL-%r#)5T1pT`{5~a3W`rF@!@!BUwjh73qeA1s0m2o<6b-5EwsDM?jC`^%tRAS zeDsep&bD08K)f0n33xBtYwzpKe6ust_WSOO$ZJl1Hr(vGLXMMLh$0-j_TQKaV< zhBT=>+7XFwVu37bI28l`WJj`dvVoTXm?t+1^@s6 literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/StockMetadataExample$Criterion.class b/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/StockMetadataExample$Criterion.class new file mode 100644 index 0000000000000000000000000000000000000000..4b85a88701f2b501eaf1791cbc00b4b55c3d3fcc GIT binary patch literal 6852 zcmeHL&2!sC6o2bDaqKv0Nn4{hpa2ruq#6zXccx{89fiBHbcdAw{N6#u)_^=nPImcFhBJ8wQVH~ zS3(9gs1mpsfp{z!c0V87=Z+yzcVyrSgAxSRdz1CPQ6d=LAh3AIyfL3%j5p)risp9z zUMx}zWO7HovTF$7@#IN!z|Gg32g$VV32l=574tCUcUa(hToGsvx!IoBbh*{evZ}f* zU0#FB1TIW$zNM5@%kU(DjV}UpiS!P+OC9Nl!ejP`G*oinasNZwXuu_Sx(Qd|83Icm zi9nc}1g^AB>T2(yj-Ckky|F*wYL_8^^@enqx5t#Q^WV>% zzB}U7<&MV`x;QJz_-x!8j8#FsPA~QA^%N-Fk0^$X!fG;Rr+Z zIOGax8EB)%j**JSv23-e&~zNQd>`rNcIeI+LD3!2Ht!)7!J$0hl;K%M(+G`vE-P~h zH3(7%&snZm|4o9=WL2U zE7HZk6vzH|w4Jjl`cyfK+EiXuKi^1s%Gqohm*=B-)tgtn=sUlZQvZKrQ+auKzLDlt z?`;1Z&NsWtJ6#T*=28~-J!br?Q{k>GjFKMZzp2V;>Y!C2yuDw?Bvs{uX zEvM=&Y;%HUEot=SSULQ*ur150nSb`SNrp|=y8-^-Z+lE@u50i%ft&xXhl!2l<3>Xb z-koYa$4*71J8{>*wi-2T0D%SUd@n-<7GVkRDp13j9qY;1fR$+8Ovcq@Tua6a(Y{qg zx(H9;bseR*5S8HA_zo_8xqjsvc3ZeKZ7NCP#E6{~Et#-sB@D{v- O8Tua1mvChPw*CPL&PrPV literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/StockMetadataExample$GeneratedCriteria.class b/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/StockMetadataExample$GeneratedCriteria.class new file mode 100644 index 0000000000000000000000000000000000000000..dda5901a7e2cefa47c79aea5b78ec3ea73b26c1d GIT binary patch literal 17191 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

M-I+)yra1iHJz7%ciePM3i-zy*do z)x+N$v`VWD9emEA$An_av04(#_%m4rY literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ViewConfigurationExample$Criteria.class b/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ViewConfigurationExample$Criteria.class new file mode 100644 index 0000000000000000000000000000000000000000..fd054b0ee1210b4734dc511f4dd8652cf557c64b GIT binary patch literal 4859 zcmd^DOK;Oa5T0#A^B~YR(DIOwma2#J;#@dUgalDR6)8xxRN}a?C&{+gFTjL*&Oyt*eQ?Nk%d!!_TW_Mq~Bc)gIam?vxo zUQBN@een>S4bOUYe! zTo+}#rzf{?R}3<_BQxK%_^_Dys{vl^qHK5({q1%TcwvKFLPcXFLPcXFLPHF z)PNe?Xu>tP$zZA7JDEb14z1@?iuoS>HGZ8XeKb3Q1`iBcJspa8SJ1SC?vEc<+(=pm zTfHfaPR0|Hbq0-XotY3{$lUOQGf&4{IfLe=qM1uK7S^Jz!W{R#Z$*H zJOrBO&@c*UtxzcEXss5*sag62(D)3s_pQc9Xnv);8JMSQj>+*0bZwR>ScF#b{jK79 V8XD20k`kVuH2;sNiBv+H)o9@*YB z`DI8T!8;H9B*gK~B$+7F#9LM&ftT@keEgk@zhisOAAkMw8vxvbl?s#ybd3%=F%z=$ zi0!bB(*2G~xHLNHglhCXQO5Q)H=QlPpR6jmE&4;vtWa`om&HlMZ>(xzxyBC_C=<9e z0*aXIcfRR8;(;Yl3zQ6nn?hi*dpN#fwUGT40@FJz8uFuq>0}(7HQdeLN<}JCWpCu6 z8$*DIXI~mUZl7>2vu-UC#%Axcb}!*yF&Rc&6KM3gMOXH1y3%YFSyf(DA+Nv{0t<&W zuW7Ax6`m(>?>mWMQPB<$X`tdnM5CzCM5|uJ<2$roOC6*ElTumQmw~{XFdKQI z%nNh(2vuf<=^m2BDc(HfOBLQF3xA%h#<=C)9B>-)AYvLRk+9$~>vOt{In~Z`s-5Ok zdq1a^X{flNjvO(w!GKys;JXQCO&$SrwC!@S?P%CO2`{xl#EH_Dj--cHLL;DzToNR z<)hogV{Qj3q$~^%{#=^rXv3QY zHiU%;%`p%Lg$S)N5TZhax5hw73K8BOV>N97LfMsEbCE3J3a5N{=XfMh?l>PDLOX|0 zekO!Y4#9DKd>h`&Axu9L!uvUd@x7RW4^V3fKE%92`w@%4NAL+|=pF3O;K&qw`Zp#t BYCiw~ literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ViewConfigurationExample$GeneratedCriteria.class b/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ViewConfigurationExample$GeneratedCriteria.class new file mode 100644 index 0000000000000000000000000000000000000000..97b53183d04cac3867997acb16993bccb0042037 GIT binary patch literal 10864 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 Chy3aQ literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ViewConfigurationMetadataExample$Criteria.class b/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ViewConfigurationMetadataExample$Criteria.class new file mode 100644 index 0000000000000000000000000000000000000000..106f94c7c2b6f33b9c07dcd7313dcf3bb3cfc869 GIT binary patch literal 5464 zcmeHLOK;Oa5T2!>c@QWKv^-8r1yXvkFPtbsLQz3QDIEHckhpB@O|q@MYwfN}`%CyK zNFc$TABC8;8&#+XFOntNDi=F;KF`ee?abIaKYo7s1^`dtVH2(q*fBZ^Qzm41z>Zj` z^dwXnmquq{tcv@YGIpZ53HJs6I8bsdCb?!-D7nooiNGzfgC z(eP_7IlAQW%mabN=Rykmg1|z5eV;&Mpkm&HHi4yrN5bSJ+|*j>7Th4cPkRy>sN{&p zG*W3Ml7axuv>GKmHP2|Ly*uSJ=25~lf-)8zvI(baC`fQBNKgtA%mi7ZvEqhGWogQ6 zG^G|T@Z*d}80nb>)FE&}1}?DRZ}!RO4E0v1Ekzvr^3)&#(XR!j{~}$qfwNj zcq}=gLLR9@P8o8U{%*l5fR|dc6OTZ>2z!A%oLw@AOYzE;^IDC1h7y*%{~g0nRd<9- z2B~gfJ{emJ>3Np9Hx71@TGYHyR_0lD;d)tpZ-=XG$*28Qr+0lC&AVjTCF@i4YFnD; z@BCY`avNLE7e{p)^hw5AV)3f!a{pbifA<1;x$^>fx$^>fxx1{O4z%EA7p}uC0xSLD z+32bywBbfuOGBKeyv@@Q*Sid-RRnrN6|rQW;iwI-Pj5EtR2Tw#!y4yqvvJ!7fzFP~ zb;Mr@7r>Lsy|H6Lpt~h;a5qSpG2Ara9)UOYMMt1Di;uwaxy?8{0vrzFq!aMmK#3Re z+$<)a3-}A5^A%d}d!5hF{f<}HU7vSKI8Cbv35@WNKMS-N# z=9dlFfbIK!)UczZ#4;k-a^Y=F;V+UX9-lkjJ$IDuufKo$0|0Kpb{Pr;4zzMx115sj zQ+C8!QuSIg%cKi`qTq38`2GeQP?+%S(BcK-z%gg(EzqlDoK zC(2MFa4`b(SUf%W!ie%~k&^tK5s9Wj5%$0y^(IJu&^UEhgC z%7ILt$P+t<06tIN)Vtg~=R8P;RbOb6Jg=DJkpIX6&*zFjy~ho1>BOeXjb@frr5)+< zGF&EbVPx}trKGCBn*?@$4$wW)KjI#BI_tp=Ci?K->z?-E%4P6Wc-C2*y2)}Uqw4QY#jKOPRcTpcjfVqGR(=69G9cAUH{ znZD2jI_-ZW${3Og`Y&J{a+)0-uxh;$$`2hW((=smEQPDWpco+-I!E=_clw zljN8a=a_SnW1G~ITvJPu0W)r&8bshPLd>2t0!GuZx#?IsI+O5X8^j=#%Fsx9XoR2P z=otj_khyBTm!XD^_+EX0MMJp4P(2K}!qf@0QA5{AMPoiRnp9{y3_N~_Z1)_xH$+f$ zN3_g8rXo0!&p2i1ul_hfEsp`;E5(j;7@BLtxrA~kJ7*%6;!`7+D;o3Jc&;$aPsnb6 zz)fFzlzHCi0oaH&H0hy|gD8n@iKo*}Q0E68a6DW22@=DD;*cwC)5ey9fzbA#iw+DL z>xdKg|F)qm(W;5ZTlKt&OfO)07&{lgELdj053!2O#hb4b%7SH4Wqg%t+5Aq2*BdEM z`I}Df`T1y3CF3eNKaalNNDKZhz9s*okJjmBFb^5$^7WG|r}OkFlzLwlCMC(=&=_0&=*L9S>g{TDYwcp{=FY8x+g}45UFy6!K zvYjd1fcNpa9!tRo@F9)}d;}D)XAw3s5S&bek7q!*nTc=}u4UTrNrnx#GZ7jyAZ%qK zG-p7#n~88^284T=2%pXn&D{)ylI`E8JXyd9$9(wgtS3?KEFUa_lR_xH6hbS7V7WfK s4PT@XmR<_s%M`-wyC}j<)LMYAFt5;l#3JxDe1jRfh2v$MDZ;n^05FqGi2wiq literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ViewConfigurationMetadataExample$GeneratedCriteria.class b/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ViewConfigurationMetadataExample$GeneratedCriteria.class new file mode 100644 index 0000000000000000000000000000000000000000..1c845a859a952a70495abe66aeaa090d9b815a03 GIT binary patch literal 13736 zcmeI2O>h)N6vtnOz$PIIL;?Ad0fQu{8x>R}7=;jGa0zNc{NO_-yPeG>vop)gY#`#d zUOag5!o`aREvxk4#j*;k;9_~ug9kn6K@WP+gC6vt2QACjGrKcA*_Z5eYPSR{mu$BC z&97g-_wUc0&;Pk}836Xct0`z=aME?MJq6vcdZzRly~lR)J$8{>u2byE*?xJ^cD=mA z-JUUnpX;}+2_s)}bkDG@qukSTx~C7E*9%3HcMfukV-3&sJBG&{Lr+07gVjFR)UABa zvGFOM^%%5d%LWWqWHN^9^)hH3G4ht~l^o9Cv|qSCQ%B#*F46$lN4w*_`Gc&B#su7WKgim(zA+Y6%7?iUQ4E$QZ{&EQm5MjT0d8x^YClMSbus|(H> zzT?BT7y7>1FBx<=-tar4le)!V!`z}{PH29eUzg#o8`!RkeU}VVe#H>tM09ZZY*2I< z@PNNR$U$Gj+G+E9gs~Hy3KVdVd*?XEui3H!8mR**dttkq(Wk0A$!PR$owvH8CorMFuy~RptE76PGaX^T#DLxd9tE zWM@kSZh28k#DIyFRx)v8tRhT+K}_zAnP(WRkGUY{Si~{%I+j|IezHnR!`hfllt_{3 z=-EoS^x&GffiaCcop_+o%Zy(vrnZPBGJLi&F;s1#8aGLF#JnhrDeiG7kPAd=i50#f z>o1Y)&@Um}p&Y8#m@v3g*$D(Qy;Ld-H!=@}E5sBP&lOWtQza&{O45W7Q)E*S4Fe&j z>T>BpAtuQn6jM|d6H`*RK^)=E40p!xMJ7QObq-OB#O5f_+*vzxQJTJMubu%FjiQOW>r7K zuu=UCE89lwl9T0!4RH+GQMDS*d7Z)k#U0o0Aq(GX=r?uOdN=R@z!7v{U ze(xN`A5Y!pZGZEln5uvdZbH%YiZxyo4+N!X`ANRfozEA;2}25m3`sbmKzNKKJfc7tBMBJ=!U>Xa zRDp1YBn&GMI7v9BK$s#4k4hu#v1Dr+vq{q9iy(OP*Do%pykEN2D+MB1o4=(zwD%yFwDO3WQHdLQY|%eNGa%0)akdO(^V|z9N0d zD-gaR36lzh??{57K=^?qOeqk4A_>z9gkMO4DXBZ*IgR~Bk_w9;{Xvo}h27&{B*9Kj zz-?XiUDGls;_0vn&VqxV8}U}lg%X^@JFN5g`7C}i{JhZI4zGw)B;Ia42QQ%2OaB6< C&!S)e literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ViewConfigurationMetadataExample.class b/opensrp-core/bin/src/main/java/org/opensrp/domain/postgres/ViewConfigurationMetadataExample.class new file mode 100644 index 0000000000000000000000000000000000000000..80271732b0bc26c8b2435b4f91e9f8ad9926cfd1 GIT binary patch literal 7183 zcmeHM+j1L45bd!Q-J-;fNeqPB#7RKnB5^U7BqkwI63Qu=JlHspf}%#dV`-AznXQ>w z6MX<5z!RTB6;#1HA4So-Yatn}t)*%WaY`?m)okl@_nGe2>gbO@fB6jnR^e6&<_O#~ z+G+Vr$krpa%UVkJS}Neu=%D4Qct23a_B1!GZNa~9E4d?jp=MSnxxp=SnPqpLFhB5k z2?_)jV;GOgUh97M5qB(sQ%bvB-x{<%78*`qsWY6m z7Dn;k(OT&;JV%y(`cfiE%G>2Gb(9|nFXo5_T6I0{o2#^1+3IuZa>rws91WQBnDsba zLC%|doHrBBn?uf5sH?c4Qd#OV>-4Eb1pXvIUdIuTfo618%_y+uVR%Ul!Vi?TG`0?{ z@TkLN2DOSZY6k(YR-*HpVzQ1!BphL>2?MT?L}{!J9ji1=N~zwU z!q8BgSH+*OY`WtdBUKSHJeZfea283N6ea3-S+&W@Q$RN_-l zF4Jk`lX#|M$j>NB-{-ckT*}~&8B2BCG%tS*+!bx@9bIfKYD1LJ_fTCV=hlWnR+_; z{XOM@K9f-sRwJOr+ zl*7DjhUy!>-`gzMzAywjIVx@_vn?8K?~f~lWq5_a-NWUyNKMOfA_(962RwnZ^~NL* z1WsZgx3M!56|zu&*w`+^MFJP5hC-k!%;=-27ovo@5IY|IbVrR7{YHI_Nq@I@c~t6U z8QvstdurerWH|zJN)!01p5v*Hbk?Z)9v~M-q2UrZ?P!kb$xziLu)Kd`U824$nMdG+ z<8g**RyS3s9e!6tO>lXtJ`*XZC|0jalxa}jHinxLd`MvP2=c-D875MKPY7(~??Xvc z*!P?$SpqE7Z*uf9p=J>{GqG0!RNM*@$03fpW*E9vEB3dT8!@y zcmc0#i50vE=kXnZmtYxRhX`}Hmms{Hg3wAucokk7Lm0)7hHxbnfyP-+#;}qSLpv4W z5?oG=Aq`<872$Pw16fVDt^du(D4Rw~EDutV-h#KsVi_@-hR{6#;hiyr!(;GM5t@)4 zVUU7QfYt#BX^j4mf{UTa^3OD`&7#i`+ literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/domain/setting/Setting.class b/opensrp-core/bin/src/main/java/org/opensrp/domain/setting/Setting.class new file mode 100644 index 0000000000000000000000000000000000000000..f3a2841526b1ab81827d25bd6e56ea8e52113e0c GIT binary patch literal 2864 zcmeHJ-%k@k5S}ZA{-72_Km~s+sHDZ@YKTu_Oblv*7Bv=0eB9n`%fj96xx3fczsy7v zdH0Vp&fc}5q!*zHZ}QOF-I=*>zMa|bcfbGq_yqt@;c)?S4m{DyYlM`G#u4q&hE&~# zjF`|WYWOm-Yi0}=-9{@N3y^nUJ_!yenm@FUm}eZAI%a(b7MiD?mQncLwgao5Vqtj5 zc14eC-VWGHA*7*(OQ9X8Hs5L~J}OMBOdrFido+j{jsb16z=2txX;1OU#yc?coC|JV zV8UAcz=8aZ^jQJs9hf`K{8}lgim>2JpL`aIX&LmGPdph$JV?@#NJ-=o>Sv@}+COB( z^dm+rfNMA9?gUh8;!(?!v>6#x!s%OuLM%W4YZyx!ttf?x5W3#FtDHn?Iz+J0u2KvTqS49R0ck&2{8uU5AmiG|NPT-Yw42j?^n%xJVr_F`?U2crlTwwNjK2xPf5dKS-NmY(l( zg8nzW3l-%msB~3=3zeV@bFf%}3M@IWR2vr;D*|iTw2qS5$Z(3sEE`KQo$^uZ8$}1 zGnG$k9ZaieeKjhkRrH-Plv^@Z9(#kL4<_K?W+FVCfWuY>LJl5b|8lSan>gmNueHB3zX|IA literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/domain/setting/SettingConfiguration.class b/opensrp-core/bin/src/main/java/org/opensrp/domain/setting/SettingConfiguration.class new file mode 100644 index 0000000000000000000000000000000000000000..b99f0f7dab560afbe048515231047e46bda45116 GIT binary patch literal 5099 zcmeHKU2_{X6uokj_@hbFx-F$CAKMhDL%{|bDCDDQ>(JJ%+cG!}!|=c;Yt>d+?|QVd zhx`&A`5DZ>47~8fA7X|FhNIoBV`GJQJ86f9Jb1mjx;i@dN>_XI$KOByN<_=_FiROm z>!ETh9WMRKQ{Ly5K(#7CSNNgoR+>R%4~5p!Z&e!ce>L!*$W~8rEdxJGQ;beVBRvkE zM>|i2t6>U-lHA)CDumbL+9o4*kI@_khno9(n|nPmy|DiKkAMD9`-@RQHifU{6Dbs< zVto&=p%vy{Wpv@o9vnKN=J#bNcRX>^_X8b~2pOHI-wOl(3kB**@4|gX3*MQ4EpaDHougg#aGT)FbpX;6yj8-D!T0L#@R<9dw zYtoncI-_HyrENx2)u1V|bODU^;{IHzK;`IlmgA3oCBne#i>BiSov!qv2pq(PEOf#Z zr;y)j3#Tbuk1IHJx%(Y&31<;&Sx(ln9Is_L32V`51|oEjK&QjC+jcYn#P?mS-7o;6 zE1NA)HoVIJ0T(lnoo=AC6FK*^^cey6C4{a%cVdI^yVy`BZtx1(zy6C zB4xfVeetl@*%4~XB*dsRC?{__Nl;>((rpRNw2@jEji^d!q`8*RwINM-rnEFpEJr0q z-URyS&<++5gM=C;mIu+TL~G{J_w3yS06jX8o@U%g8~wxD)ASFwi|DWZTc8%+$<@MPbGl8bMFF;-WiV&>FZ@CaUl(8diQf1v8gmg(!t^Y19|FQb^rhX literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/domain/viewconfiguration/BaseConfiguration.class b/opensrp-core/bin/src/main/java/org/opensrp/domain/viewconfiguration/BaseConfiguration.class new file mode 100644 index 0000000000000000000000000000000000000000..9dd5ddced68cff8d88b54383a02140bc0706eaf1 GIT binary patch literal 2371 zcmeHIU2oGc6uoIX+GgDc-3N>@@b*H>L-N8CAfz#vG}H~m#v~ry#O*v1JF=a^eilzi zAi+C73UQsRTSto4NeJk^|4Q3jCOI;UCih^`+|j zGGRii#1CZ_A8__QkfO)?siKBU;XkFCZH-2%P;p>BBZ#Qz`!Bo4EHDn#Y%isK=0LM^ zKD=)f7yU;LtiDc#;W6701Fm^DVw*xplTD%>nC-mKQoK^AN0}3Z&(S1_c#w_n(HL2; zJ?4U&Ck~Wb?L!ADTQX!-m__LMY|oXFss{5;<>MQnn3mCig(Q%1!lR6eBue7kv3^M0 z`oR$+Aqyg^5R}m19jYfAXp47hiQlcp=6ri0!U0va6}AJu@4D4F-nDgd)8Oa zD)c5I&QK>wCKpWb5r3S=j?N0%F-Q#{Ui{Dd|t4UAMIzb&mc;hLl(WIZnM z!1Qng+cb^LDB2^tsWx^5QG^P6!gAsf%G|Nx&ADWK`E9%eGj0vBeW z*#H+799U`aaPa~(VhduiNd>cCzXn`>o2qr=nda~iCeBaTURyYnX!J|^SoJ~N%O z^uE|?7uD5Z)q!Y&q&tZf6ZwU*^r);RiroCQXfzR02)g?+RRP=P*1+XLh0C(_uq4@} zVN)BrP);@Ct6T(88e*%4wInN7L+mgQA$Dp&qZG?i>q4!}*X}@Lmurn>G0R$&bwF+` z(bylu{Xg6rS1?-ucGSpc6Ud^d6w zEW?c~b`w@GQe?O_hGA(e!);g?VJIPMu3;R*%2KASx;=qPCh`O(Zc9qtONprU(Hf@o{@yj>Ws(%kEy4UuL3- zzWbw$b61qp-UCe({F)a-xK_Ur{sa~W6i8kve{O?kgaTLgCH3Ew}v9u!O8?q;i=mh+^l&ZhO5U90Z8zr|j($n@B%N=8x zwk;JXO`yzW_vCTniIBoRB`{WR>=P)qRF{`vn!xnwJJ+>Vx(pY{_=C4nbEASD?@~{N zkqAuLCCNfz6Wl~>H(}_W3AoQngptyg;tuMuL@nCk^w;+|m8@bp1=K3as6CGOP^JBb z{bRf{y>xU%8(|a(PgrVVoHv{dX{?Stt2FITbiF}^p*ZmTKuGN60j}UPivydjcIjqp zY_ft?l*y#|ec%k_`B#64K^k2T{v%b+p#%=p;Nm1yVUECjeefJl&fMuXPWziU>~Ouu z@EA=FeC4rVpJ|cAC&{8c6nL`lv`1}1=ngfX+pVnS%+(u%WXo`kKyU^N7+E8bnfZ&^ z6jI&Ic-a&dWaBEXum85UDz2VJ&aR5J$6ty>oAu= zC?x19hdhKwxd=Cg;INj9urvgRXSoP;2o9}WgquTfc$I@N2Fs{j0dB!c+986f-iEt4 L6ZbGKVpRVL$LJB& literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/domain/viewconfiguration/LoginConfiguration.class b/opensrp-core/bin/src/main/java/org/opensrp/domain/viewconfiguration/LoginConfiguration.class new file mode 100644 index 0000000000000000000000000000000000000000..bd34f29d0b6ffe7df8fd83d7af4661c746166015 GIT binary patch literal 3127 zcmeH}TTc@~6vxk$LZO0Gn)R2Orq(%nrZvKj%N0GvB^{`T_t?;BgKz1Qv~U%1tI@d7JIBveIr@ z`CJ<9m+LB;-xYk%QF2STfo4`HS*|Eo$c5xo4zdJZodGq^4F82hVAwR&-U>5jPwDzX zgF8DlwNHR-5|~&Gq!mrRBzJ`oHIKiPQrSq9A#kzs)+o86QNOka&j{o^<*Ie<5g4jO z*?CO5j}E@-Y^3Ih{t= zN{6nMTCSDaT$`qK#SO)J(I&G_gIYxKeV;oviNY$BLfcEB!qSPrEmflFD{U$M2X$Cz z3$1bbGoO54(wdY7)GErTJ@EOdmbSe7$Gj5-?cAcJrtb+ySZV^?*tj#Ku{v<9()4|8 z8|^F3Qei0WV!kCLdbx#P@SO#oO|CA{<-pkR3$CI}hUT}x3FP^&{wX$6=REjN>N|%e z$U^}}`e6V@35*omkNEJ+9jxGPe-|`sTvr($qhT*l4)Zpc7UB4CGHV+GTgaQvbOAj2 z$6RjLQX3ieg3VsIPGIWz^B#|T#F#%}vc=6XzdXjlHq>f!!^PS5D)hn(0q^)&QE%y( z!>9^nAE_EZiE&#bP(_u0q1g^#%w(ALV&|ho6<X$@PMV z7a4AHP$IC>>7=pFal$!xNT3kkD_U-%j%8sCUU;h5TMbMBUPkcx*995qh8`T{a1{Rb z;%^4}Am2830s4QN%i(wcF5+`Ax=ME88$kXu6g~_MeT3n!5o-*eAsO&*9G@WtSHTsy z8qH0>B+j%GuB8wPse~Iq6NF4ik2ItahEoYsFr6U8S=>y~FrG@d1)~WUtMwm$JJ@E*~S$v=S0nt*NwEzGB literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/domain/viewconfiguration/MainConfiguration.class b/opensrp-core/bin/src/main/java/org/opensrp/domain/viewconfiguration/MainConfiguration.class new file mode 100644 index 0000000000000000000000000000000000000000..34a2f3e9d3964feae0b5481020dcf81c2273640b GIT binary patch literal 1063 zcmb`GOK;Oa5XWcTkcSBg1X>>DvF#~b>*D9S`;gr$wQ%c`ojkKWgZ={E!#9v4Z`l!V;!zZQDV|uw{z$Of~U(B^r zIX>14RVw=aKx^ZwawwxW^6AelRc_tM9)spRrIowSU}JcD%%HJv5^TXaqE}sJLZ|V8 zwZ^ug&sg)Nwpf~MfeDu;FH}~6d0`E`l$UpT*g2jdPf%vUQc@x0TahB)CAp$gxuT_9 z(VASlJTX{uDwpTN$r*Qq!uJJAw~C@UL|*U6R~Y>jcv+Ro3u7Ip8(a#n3ZEkX(NEY} zRi-9^JHrKcCk2Kfbm2l5Ixt|cIUM~|>d0B8(>H$3GM ro!w;?Y{FI*y9`$-vQD^KLkMdL+i-n_5D;})Lmi=4OSnOI0=W4d)d3=` literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/domain/viewconfiguration/RegisterConfiguration.class b/opensrp-core/bin/src/main/java/org/opensrp/domain/viewconfiguration/RegisterConfiguration.class new file mode 100644 index 0000000000000000000000000000000000000000..f75c7f6948c39582c29f622da324a1eaec054711 GIT binary patch literal 2894 zcmds(-A@xi5Wr_k?H6E6`9{zyinb~}QSbu@i6F$7>VvH$^0wTq*VXG?vv;ldZ~0=P ziN5vsTHg^eV{2t4n!4!*`Zi}D4cB?ct(KrZcOCsTv$*Fou@luMAx_}g8ED(oV}FncOfZKY+U%*> zrjEhPDx<=v6Cei!E{9W9SNIilf~R}C3RRXd*Cdp9jjU$-n+HGcPhTCXzJ2+3RDO~iT;jL?#bgj-blNmM@Xw;;}2Wl~G z5z|ucq@^6DrQDa6Ma^`Xr#Y^#HK=dYH6KyzsL2dJioy()WnRnD!}6)Xp;x@o#6#DD zWi6lEnn4}8*&)-8qspYi<5f&)zN=Bq|I}oev^?d1n4F4p5sl6(w*Qoqfjmr)Ko({Q zOcwi#N>)*}!X5Ui)i`9LCd*S6uxn6zp9(Jj?1KQ@atxACrFRGYJyAGXPE*PAGo z`p-87w+YxM#}M?PbE~bO)Bf$-c-P%%|4pICoen(T5tV&61@{PiK1C20tcVE6sfq5J;Zn%oye!?{cVN6LVz+!|Dlk~s`6=70IxITan zvr58^0eo0c5|#$=p`aw(9KeSqCE*qnBPZF*W=WBYl9F%-W+H@ME>whNCE+eC;|&b& qSXpr|bcHV~O4174?~)#LNj;xbq%{R8hId<5#Tu;Rm_X?vJpK(*q3r$u literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/domain/viewconfiguration/View$Residence.class b/opensrp-core/bin/src/main/java/org/opensrp/domain/viewconfiguration/View$Residence.class new file mode 100644 index 0000000000000000000000000000000000000000..3192b2e79f10faa11ab8f650ab5bb8ccff4482a1 GIT binary patch literal 3352 zcmeHJTTc@~6h2c5y>KZa-~}%OqPAYTnvj^NF(E{gnxX^{Vtg>u?a&TvXErmlRsM#5 z#zYf+_eUAev`DwB&}%iifjubY5`xCQrQl^Auv&WZj@ZpNJZOyOwWeO2)8%^ zQXw!FuzeNTZ7v#3Tw%D)f{5dikA)QW34x(vX^TL5Mb(ks83KhKgQr?6orSX`^Wl}$ z+^C?<>(p1RPz0UjX{Z(QX_<#KpWAG5TIYU%rPOK2{5{s-bOBW=AE;FBs#G3OX@S-i zHx!GaEoS{DwFt%Ehp0^)3gs_5nahr0`AEQBR-zRuZ7I&6K6Bd98mB+&$>%DqFc7}5 z)I_Ku)+deCk#Ciz-3=<1s4z5=b-p7cGTOlrY_lk^@$52Pjf{08m_?a%C3JyfkojDE zyAt?Nt0<#(Kjisb_XzwZ=@hSTKjZqHv@}QBkJF^1o!fs~r~l`pa{4Db&e!_HPJJFG zVP*`*VV1y5anLuoTfI=lo9IQKds#feFUq)d<0s3Ul2kM zOun9)`UulsJ6PxN>5u_`=kYn#&4LSXu@jqvOBfkMxSW8norrK1W@88`MD21&LU@yi zKw&L+EixLhut2ZX830Mk2z^W9YD#fG`9_)Gh@jxaBm&dI;Qx NyLcw)$AI0pEU0QdeDGlTa`e0c;I{x&Xi|x-JKE8Pe0M}tQfD(ZlMn}ya6SDc7 zZLp@&-KI*oG&*T^RA%20{GUk4HPKBqvqH({3R(gv6By6#iJ9y+7u(NyWC?_#!=)8# zf@=a3t!;-VRtwp^L*Ud>iVi)#AUA{&?U>I=sceR92#mHK872SLNJ86J=w7z35>DWd z(gJ}qHv$J@*5)yRU=xA>StU@_+_>!{^q+5iVPMlspFnW)gR?>k`zL{s`pgP)nO7Yi zz)=EY+kxHJTImWLC&BBd5*es?gLi18dWncLx-`)W!|a*cG^{SKbK2oi%rrVBEPBDZ zoK9id8=Glw(n9?f0~sgdKU9H?9}Y39{Wyv>)UTT zPv6f=W&a@?h97FDTU5m26{dx| z-ZYl&xq~_N%8A2WZWjvr=xBYWpHc-T3B-Gl5<^Q85;HrA1xR!`(_I0sF78-T-QFT(i&I9&B2To{1EbuU7F z01h|32s3c8P|fX*y5#AHSuesBXcQ2(`@x5B*Nf1Es|AGJIo$Ii{0i3!2)lE5=s_5P c->{EM_^bcB>u1FJ1CN{dY~R7_GR|-P2a@b&Jpcdz literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/domain/viewconfiguration/ViewConfiguration.class b/opensrp-core/bin/src/main/java/org/opensrp/domain/viewconfiguration/ViewConfiguration.class new file mode 100644 index 0000000000000000000000000000000000000000..b74ed33d8cdc2ad448e1766b652098ab59a8a0b9 GIT binary patch literal 5147 zcmeHKO>-MX5bben?@G4g;CuiMfwdDrCW#clK!}|X$BMCxOicU%IgVEod5pBHnq3)u z;csx{XHW%IaN)$A-$HRo@n%=nO4d}owpHfBL93nK-q+o)dwP5ReDTX~L^Mm!EE-@` z43t}_bLka!`5rI$s#@?H!V6TRQ1K)Ao)q7?zV}>Kn~I0h_X=B(EOtsP8f0`K0;qAX zT6nU(E8GyGKq$#;TS5hRZ?jZn#8w!M;pHIYUbw|;O))fi|Bs*k{;~8Aqrq^$As9`R z6R7o2Nv}G`=<3s^7s|RQd3!RD+cmM^d43o<6finpUI~0}O~H2+?n6B*D+2n@rBICQ zx(IoNhn&$;`2+z!;(_Q27zTzkFR(mZF3TW#C?}r{asiK|Y;258WLn1eEx`fgcU81slWw7OhzQY~8Z?YL(rbSeFoZ};u zJNL^Gs_`B?Lg_!mJBDe!SNj(T_Tv#?si;e(bc`TVHaI@Y`n&JDn7%k>Fsxg` z!Ei@ns5sFaq{oTFbC6XP;YKvJUCPb$dS=s2Mzs{vL#hm?QDS5T2QH1lxl+dk&L(ZO?|w2%s<1p-mq!ntFNAn3x!iz@Nl^Dc2wKx*BXmrqhK~+X$;Qqb{~?Pcxa? z^eLmAmj@TkgMDd>a337CBFW_9Ky-k``2IAJXqXImDz^r03+$kWU^u=V-=!S3ZCYUT zR|-b@)S%Mrf=qvGfgsR-K#-k__|d%OquZ1O=@;}?(=&`tC8O?M5jWF0o0ik{ioP}9 zcn2nKb@kSkSK9gPy5Cf;SdzM}Ug>Fr(Sd}~#j~4bQRY(fHn(n8UC}s(zRz3Z~aVDzehH1;HteO{NBcOG}fYb=-o(`qZvqg5#BQ( z+%O{CqU#+913-;^Fd^iO2)B>n!!091{un;oF(MS`PDd08lkXdNm^C7Nh#VwLCOnuB z?ivw3qL178|HP1!y9Qt8jY#)su8lO`MoN4#Aw4uA-KPg_q|e$&2|o`FJ{65fk7%)t zRBR(9KADh~jYyAase|dnm(LBpl#K`_TIoPYd@v!b84%9V7pU_AD$^7E6Mcifgc5S?v9oS2l9K=~*XmT(Cm#TQN_RH6t@rbr}I^tiE?bX$9OwY#b4FGB(e z?)(aV31Zd>B!*OwgKf>so40SqGyCnwr!N5T814tKM&PM6Nt81oqhof;B4x&r(p*}j zBg3__!YOkWJ=1#NnBzlrg0VNh0|8VBY!;arljG?1=$I#tK&_u-LJGG_V7>F;fI#KB zN_hZv0?j%4g)z$1;36U4-%7)+%1(Jo6P0U`F(;Iy+Ne>+bNhsb_2ChxDNizH5Tsdh z!p5AoQE+!AxH}izrm5nVO66$ITyjJmCi4#(#Vsad?Ok7c*K6vYLp42F& literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/repository/BaseRepository.class b/opensrp-core/bin/src/main/java/org/opensrp/repository/BaseRepository.class new file mode 100644 index 0000000000000000000000000000000000000000..6be58c4e5a03c2f742a41c5558d14ca92a3ab25b GIT binary patch literal 976 zcmaJ=U2oGc6un+Y(uS699bQc$vhG}vfYaPG9-}T zogam`Nkcza;U)69K0f!{kNo`g^*aDOg98^f2s|}93Nj{SaL%SIP&x@z&ZW_Lpn0y0 zuu5M9FPP!)=g@^s0$U|NWikogjn8>x3Do;hDx|Oj0yY2eguv!Y6>}FF1lkMsE3K8T z!&O3BAEf3+rBfc$NM*T5nH5UXT&r=)Gjl|}MtH_)%%hZPB;_pn#1c-sXtP(@>@93| zX{@-RQdycY8=X;$kNM{u%`HF1ihD)Hy~0!PA5yc-BFmMwv?NZfNNL1mAwTByk8`gv zvRcSw%@wtZGHNe!?lp$O*#A>Js6(p>*Pu^2v=*-^txbyMBs7fDPUDanKAxp(az#36PUj5z zWz4_~eCMa|BN$e%j%=l|!Fci^j(6|5-Dme!>s$T#_piSLz?bk;g-Z%-1j5o?!npp5 zoDkg;N4n=z9td9-)b|1=JrU|1hfywr{amBMWd)YvEe_#F`t#l^YDop=Tb9E(lbZ^> zQC~k);Bv>asR|VZ76<5UAv`e;Zz+|(e&B)zo^wKN&GKBIIYcs#YrgP$4t0aaTD5X; zOf{QY4iO0QiS-jXqS`7lZKO;a1E#B*?a@Hvp440-tz%8%X8N;_h;xW2-;a|KQ&6H8nAi9(Y>)4=#pYw>fZ5!KWFgAXs z=RGZF6Xs-EZYRy{7LoLTx%8YP8xuCIC}vu{(;_`BJJSk&T6V_z`R@>ia+`?P*HIPb z;q3*u0*eaFwbD!CO5Ge>3lq}K=-RkwGESfM-5wPO1aE>0)J)GJ&LI&jk~8H?#%&`s zNI$xX&|V*+@=Pc4t2E%Dmc>r0GvC0Fi6w`RP| zJtHpaS0lXGXQyu&eHO-O!*~|;$;UxG1qd4D2xD|5ZGV4X3iZCvi;opdXFD#fd77K>;dI@1O zYu3%dw>*ePlkF&YOT)-2p^KHEz>Or^+paIeE)^$K98wYB{FXi_#;~?h|2}84oP96& zSxQXqFzVQc#OY%ZYGvgSKU}%3(h`gytw~|idlsg z_PQ(#6>vnKOGv5kEe`X;HK&4s_^h5(*ur5xN~sDvh0#Ch+6pY}u^_k&j4EFwMZ%@Eyuan9oPhgm2&p Jw4npr{{T!erN96H literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/repository/ErrorTraceRepository.class b/opensrp-core/bin/src/main/java/org/opensrp/repository/ErrorTraceRepository.class new file mode 100644 index 0000000000000000000000000000000000000000..24fea3239a99254a4e3bb14acab739da36cd1acf GIT binary patch literal 1734 zcmeHHTTc@~6g~sUwkuc!i{gzDZ>%%fRl;W@bvtFEi0Z z-~Ca>v)iRxv?PT1=*w=-nREHh?fd!b>vsTn4owfH2)wX{2MLoZIAq5x(54sYR48lG zz=%{^>9jcswvExIV;C17MoJH62rT4YF;l(ZefLmsN1(F7W2vOuBrx4*?h}}Kts~(< zl|Zeu&LdXfDw#goQ$|=FAB%``ouo2mPHII{qr0(4>`UrbI|qVBg2&9DQOfuc>j}Ds zU|R*)Rta{EMp{^^w4(`g{D3-i7K0SQjXPuAt*q`=hN*Qi!`6Y z-=&WGT_|`ct@~HiTo&km4EfslP=Wb5xCS)>vm3>g)*E4Ym&1v!XLnl*r4qaSq$^B^ z;VBYW3^ix*J~J|t3uWcARMFPS+lT<26e%oMb)A4eS}p6rGJ%zICyEHg09VHnn27Kb zf%z=;t2oXxpk1ZW46{jNo@!h66mxxpu$K$<#yFHsG^!W=d#auD&uN^cLVs54w{_oe zu_Loqtdv!il$dh~fxWSQ4q0(Myb#T9F*`=Ef57$NVb;D86MOI&xiu@-gQsVhcsN4> zbMK_Jc>En?3_D8z2^pCmU>3LF3VsQAC_O8*{x_(6T=c)d+z-@F!9s3H@Jrx&uE_|0 z5tdNCf$|Lg>!`U2w@|>2z-{yzy}+H^=Pth7JNM=O|@S4tidCA F@*BGL4s8Gc literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/repository/EventsRepository.class b/opensrp-core/bin/src/main/java/org/opensrp/repository/EventsRepository.class new file mode 100644 index 0000000000000000000000000000000000000000..a6a144e17eb41fab7f43727e31bd8d778a496943 GIT binary patch literal 4871 zcmd^DZFAE`5Z;lLUEcIKAz>nIgn18(>c_? ztTXLQ`@KJ^)4h`|2}fy6Pz^JDh@-vRefHVi)7@$R{^$2U0pJeY&%p@-tAVtuF6E;7 zobJ=ACwo=TXCjb(RWjcTxbozn+T3SC1y7=Z9GoO@+E_SL^s0|K&zY?VFvGu2q=b z*<)6h*$$PcUu1&gr_W*DtpgTXv}`~kzCRkW3K3!E1FZ~ z5U9{IcYRMP%P960cPyI<4c}qbi23mp(d$uIhpCuqq!?Suv#6y8J}b<&c%Y6@nFOY- zBo}E!-lkXaT(MtTReuMli3pZDm)xjOb57r~rBRXbwJxc>*(Q!|Uc^xfNe9 zLzJ4nfX=tLU_bTU4wE|+@00|JEzhRTE|px%!@-4TTy!@ar#{&3;#HSF<4h8`lm^<; zq1Fh@ws}ub)t895e5m4D%T%Pcjuy94v{G1)9IU>EdeTi^$D#uvu#^I^GGs*HT&TF^ zNw?kaxI75(?yb#=;Y6JVtcl4`25WhIa6@ztn%++Fm=;&Ep9m_)?j#*U5JBvsswKry&C07z0X zn~cH2NOaRdulYJtFBua%FFm~waW^Qmy}q>B7T5dvqR~qm-%h~{$~ly73`YxpK>lg5@Egqig`+3nH2!KGz`rwQME7KhXiea( zkr$18E|Slqd;uqY}H&MO?w0y`uYTL1t6 literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/repository/MultimediaRepository.class b/opensrp-core/bin/src/main/java/org/opensrp/repository/MultimediaRepository.class new file mode 100644 index 0000000000000000000000000000000000000000..3e1d7a4dc05f029b33995de46470a535200a8146 GIT binary patch literal 1148 zcmcgsO>fgc5S=Y0c1$2`pg_w1>Y)`#NG?but;BI-FX@)`uC=?V$S*?z z3GSTuMTl7^;1s1&PaM4VJinQFGoJB}Uthifz%%FuutwmyHCa+Hp^`Ip&Jt}Vi7vUa zrc4YkwG~dAS#mU$P82*B?A>25fOP^Jm6v2{lDr+C@yrnj2bmN~xP1cGdQVRXtRL!} z2hb$YuGue*(I$i&g#0{KhFdMqc}_E3ltMBmw4$ZaW62Bqf=12JDW^HlBr`}VS@w}l zIPId?cp)~f#dc|~xur@wS}>QLQism`Q;Fi1ow4rN*ByIJ@gkIw5Js zln+1V^pEljL=3i)Qg?C1Yw9#*)XhpBHLpw@IwRDoWXsV~Vcq{s7(oa(TW|~71R8_I zC~Wo8`s2@K_x*6RQ=#~qX))$z#PE9)=%hMh@`M@T?FHESAXI)ZJ7ku>&I!;}(bBqY zeVjceC4rrlMBfplG>2lMn422R+PjoESdP1oZqZOrO~zjduXejmTCYYmQv{BeN}g{= zKfThr9blPtw0{Hy@DO*(mk_{XR8tEGfL_?hd7BBej)b*1CnFp#+aQ3=!9M`t8NzjF zpdFyKw?Lz>5Weq3pP}^~(KXn>({li?%?k00-+|lU?{{De@w*j%4

Kp0*dr4m?3S KMEn6fg5BSL`C9S- literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/repository/ReportsRepository.class b/opensrp-core/bin/src/main/java/org/opensrp/repository/ReportsRepository.class new file mode 100644 index 0000000000000000000000000000000000000000..2eca86a3115aa510b98d58deffcbcd1728ab5109 GIT binary patch literal 3540 zcmeHKS#Q%o5T50zleEy1(vt$F9)Zo@9Y=c3I7|h3j*NDlRwnEpqT~~Sjw-W6!HyYZi9;9T(J?yKLT*sSD%@p<>>~+bM^}VIo)WT3 z2s_TYXCMV&$+IsUzjlf)-Co4R8N@yM;*J;2uJ;hbaW;WJF7X>ZSWnTBFYDf%z^+4cCC&Vh6 zjO!q4j-wedjPiyvNnmO)^qNT-L#!DN#_rYsuLW?NkE2$SuJqd(ydzjZYxu-#LL@RDD$5a zM*SDCe-182@+FingBi(JP@W&aFTmBP{~Go$!1YMJfpV@l9%iuEVsf+1=oS=F9>FY^ LAP;xo9xVR?0*Y`~ literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/repository/SearchRepository.class b/opensrp-core/bin/src/main/java/org/opensrp/repository/SearchRepository.class new file mode 100644 index 0000000000000000000000000000000000000000..1b3d818a23adab546b010ecd878f4ac5c5d27947 GIT binary patch literal 1225 zcmcIkOK;Oa5S|SsPE2UpKqzmP^pbLjFK{7I4~;-VG9ZyqsmIM`NVeF!)_PNsUxow{ z-1$+6@dMJ90u_RTA2a@D=9}4X{N?M1PXO=`wmqmYc$8Wh#6s!dP#lTC*jZo_)TvDZ zi-}2I|AI z^b>21t-&Q$*?O%lrY1VVDVHWrR3w}-nkUvwB8=0=+^>)4$fqbHVF{E7`Bu!3cZg`O zB-&dM?eM9=lxyR7ES#KkN5S|mA#%rqspnqSb1&o6`$ejvvWgR99nXOary?$e&eBhi ze`kIINXh;d5~|dl5zC$7g1cpcetj4z)aL^gN4AGT{~_ndS*6b+eZ26$13l9YXJ~&< z%7+?UZooP;8B_@PT5c>@3BQ?{)EiAE-|EtcR5fgwnx^3((8YO+Cj^I4~@?`W`ph-2I$(%J=tHS1y{(vn%iy4bS;0| Rf(|_!l=V8?gxhcz_&2$Ucjo{A literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/repository/StocksRepository.class b/opensrp-core/bin/src/main/java/org/opensrp/repository/StocksRepository.class new file mode 100644 index 0000000000000000000000000000000000000000..c245ef723bf158b8ac38e3a518348eb8d8be800e GIT binary patch literal 2152 zcmd5-+iuf95S^tLC#I!03bf_2q+Ajx@e6$+RV9J|RWeYKQi;cny-l}ucCGcMB436C z61?*@d;wzYICiS0Y6_L$A(qc%=FFMh@yw53U%mmrQ*bP}L|{GAp3`PRItT2CIZC%2 z6>=Hr(9t|pkuXYkorY1~Ve~#TSTIgtHi-zBY&q|m2i!9R3L9P^q%fNV#>$ml0^=`~ z&n+ktn903gYOQnuE|amJAEf4y3XZr>J=G3Hz>H9mhFUcP-j1G8ySTH@sn5NDX>a1A&MIe#+s{f&DB^_^%SaJX3-9nHZ*bU z7!gp9$(X*$Xm7#kfWW+~JQnOSEn=J+7xskop9ev`yRFrc@VOQ~f#qSOZd^r;K(QfOl9`T1 z&ec;LH{7J-YMU65C)x73G-6M1O<-+E?2uaeY1hx;KA5}^S6J_EVOc9fC@QH=0(R_} zh>i$smV5TRLu)6sowRIK`f^|Y6~SNuODCDKETz-_8zh)c@3>!Ep`69frLTkTc0+Zv z$6txKX%>4y`Swc2K7s9l+ItJE=8m)t>n!3qTb|c~hq&?L7PFv2U?RzD!DH;?M0^ddXZQx~c213hy8Vc<4u=|39M50PiidgCt$flKeob^sOQ|uXcW}G&^ z3<)H7=XdZAct@PEv$mxq^=!1TTpoNIe{*jB&hgCo^^YHa27r&?!xpR%7#bZ75+>x} zF*{}hrKbaxa%prr&^%Q}Sfx(}52SdK@!{m49J*Bwsi*raO}TEt8iA|1l$gos;Op^Y z9$5lc_JkDnHi5lvcu8fuy@v$W?x+cGL5IL*rR1*GO1I$!vibW1sku?{F`v*#C8>y+ z6-v@nt8vT|^9c<)hew=FcoZ{@pp-@5vni)L=yU(n=YHk$4xK1&s8p6F%tlAl;$;3T zMW5=E(WAZ#U*Fl(zd%%>StO~_mLi5mOgh11PG>g%n<2UD=1JV-)>3hq6@CU@2&~9| zj-%8n%BVd_dC(aqX)GdPsmU-ekd4wj|xLGIpL3lL^eIbH+avo*w)c~ zx}O>A-XMxH>F8Gou89mfpJrA)6^_zpX;nAttI0Sz zpSlus=6_SqJm08zc`-+Bh61bG^G$1%R#e6ktCOc@PuS-RSR`GlNHp5_ zS4;K#XLwP0>AuX7n@cDMOApUyZe#lm?s?sYcw~|C370M_ZR48Z%&dm;vB*R&Ga!IA zyto1D@DhRTZdkPi3U=mggUt{(PxrHA%=Mw$JrLLmRm9?lr@M*M!8Lm%41s%>ZBd-< zhwNhOBVj4lR{}S>VOjBZhrMw24I)ROPq}uQrA-{QaHf91FzCvk41FmjE z1JqNqC+vS)c994pmFb9oAsk1q&*D`z9r6wnfzC)wC9|1ERIf()Vqdr$mjCm;ievO3C$|m>I*7fj0?!e90~yforAJvqePa}%>2RUQ8)p++Qnjlz zc>>;n7hwiw;GSEC;R*T#+%p_mvFwgF(KdWCX^|`(5{C0@KTZBYBfmoNX@nT7%6yjw>z6T}KcYG3Nv6 zKIJ~Eq3p?7?r=Fr;6%Rgh(LP5t+5P@5t!(VyXgC_pM?oB@#m`JGvPM2S&iCm)8nWC zqEgRyahRsKMRUf=2BS4*H!K{0dX~Lq)ft^Zqlfg z>{l2{rAsX;cRiLfDoB5Bb4f+uF(29J2s&b?zXW*6|DqJ1NwM=-}+_gP$6MYI#pfs1IihU35^6=_3|e zKKz$g56kY;CCh8AQw}T=iSdduQB!Q030&+{SyKL2ADX(=NpoaPvAfv6{L|WWs3MW5 z-%+FL%^6x$9=a`kBo7j7pmKz**Aa0t6 z+z`S2inOq{5q>OhwgX!(R0!na0wyvrO~8onvv8iIe%IKyXyYaLI0jCTJ07{4Xmm`2 zBkBjWIxQ`s7ro8W)la{i;!YsjVRj(d!+`m_S)c^I*I>F9HFbI3kGf;_2D7&+>x(*sW!=el0e1@bG9!;<-^{ z)rr%4BwsN1${5D|Iw5B@;;vQqv@|-RMMxi^(swZy@}}i)&5O`^c$1IHV&O3^S1&|2 zv%PcOTp0zjaEp*XG(0;5;`HIGqY*vs{S;E6>IS~e?(wiuI@9)2=j5w(%!!LTv-1dN z)6t6KFn^(83Bj<*`IJEAkZshZc*yp)6oJz{&oZz;AhVad8CXOOy2+n`&#)T{377$7 zbhiC|2EKUi&^jtK`0^4L0uQKK%V4+&c;bvlAn+In^dUPGy~_&bgNoQtti_$0!5 zU4b>N#JT{J30Q9^ur4dHF2alwEA&UC*P9BgD@v@l&`T;CJN|lGfpt}hm4^aiy@Oh$ z;EKXq?<$b4E0Ky_NF@c*RRz**CDI4*A;zwk1=kb^Un>zlf*Y|_AIC@?4%}2AeXBr9 nL%HRd*_f%H;Qd?}Gt}@le&+FG;{7m66p01B literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/repository/ViewConfigurationRepository.class b/opensrp-core/bin/src/main/java/org/opensrp/repository/ViewConfigurationRepository.class new file mode 100644 index 0000000000000000000000000000000000000000..d7242563523cf7895458fa2bc37f82826973314f GIT binary patch literal 1347 zcmd5+!EO^V5FLlmO+skeK%oUnP0AtVkiGOoq6$)#(*hC+k&w7J8#i^?wO6(i$d@63 z1b03PG2Sjos!atKBo1rs8^3v;8IR}3&oAEq;1C{rP$2Nk=+KXukp4NFGGFPjuM#ee zPJGQ1WrS6F<_`q_c&y~97*8~_LdiGtJr9ZmHd5z^$+7=>c+NvhpwtN?A%#66aIJYT zAW%G3Bkn<&KyAT3(OT&e+#rR+w^DPXqA4HIP{oOe(t~KC)iC0*c}gqg{u!qu9!5+f zDPiFUHs-W}F}JdqTZ@<*bfmbUQdt@^8=g^%&iqq?!7V#u`Yo4!%f-~XLh9mV5hqGp zni3~gL^Nd5$qzaG9r-09imjyNin)SCt)h(DS;8yjKp6W6%Ksp#%Cu_H@X0T|mp4CE*+pYm?fsp*wBp!0zXV_B&>VXPbG+0Q0@ z8LHpWT7V5)9S88+Of7Ce)!`Q6+bP~cd>Hq)$ literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/repository/couch/AllAppStateTokens.class b/opensrp-core/bin/src/main/java/org/opensrp/repository/couch/AllAppStateTokens.class new file mode 100644 index 0000000000000000000000000000000000000000..4ec6f11f4cd29ee234ed47fb2ad9b3190ea07f49 GIT binary patch literal 4712 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 literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/repository/couch/AllErrorTrace.class b/opensrp-core/bin/src/main/java/org/opensrp/repository/couch/AllErrorTrace.class new file mode 100644 index 0000000000000000000000000000000000000000..b368d51638c8f76a8fa32d73cd04ebf5c663711c GIT binary patch literal 4499 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 literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/repository/couch/AllReports.class b/opensrp-core/bin/src/main/java/org/opensrp/repository/couch/AllReports.class new file mode 100644 index 0000000000000000000000000000000000000000..d503244b121cf7f2769b5ba49ba14975e72ac65c GIT binary patch literal 9646 zcmeHNTXWk)6h0f$%62nNoAllSYFgTaf?enh>JZ4aO{=zPlLlI@Yk3>1SdwQYrS?IV=D6*R!7i;3AkB z3=p{FakF4k%PBmj>$KqVwSrq?j>l^S&T6h_`7W;)OgAtqh3RVb9=37c(_oOmzOYA? zI%|bHrN_+l3A|F}oWK#o2u$X%$XL8bFhv5pCoRYFrwF_~Zp;eMxzeobIM~_c#dh5$ zRtX%x7dXCUvqfj!@~l#oO*@Y3Q{QqOkH8*dI`G{m7H4I=$?1)@OO#Wa`HXMqbT^ygDccG|U0s{tc0IO~>~2KxvMC*zyv+~pYN+dyrfb)%YUqPr<1RX7 zdsp>bcBR7fGBc|b-O+2*{F<&YeGIA1H>k}g)aFBK$MmwxJRL`*+tfEJx{na-X$^Tv zL*QKH#a!iuXZenRkr$RNrb`da1K+CZCKa^lC8jq=(PD^@|C>a!`(NZGS&EWb)_qr} zx?iucTy}|DHs$p$R<~TAnUxvpg)2Q;<6XK$AwkK=Q}$LKZMxhf4j5hR;uz7z4uc~` zGS8=u@3l2ur`)0#Cvw@1!LMzXXhJqML?yDf4td$48&bk1Pjw)kiK5w^^~k^dz-WlvTeGvg54HVlq@^Pj52WuF-#_zDxq@ zI5p`2*wIkzSskYM1#k?v!?uuYkuTE}DJ@?mqpf7EqW~1wc&|2DB{H_zsH3o>M6P!p zZ7OlwR`%y`175+Jy-Uv1GfHwW3EV@8E6j87Osa!5#a*;;d`A8|(?)p=I(USKCyX|&WuQRF1%@i<%UKDlK#;3iwJL`^-MoTrD+stH^$q(xIw z05+~tPyI0I9|~LJe-C7h#)C=x>ENPc;`25vF0oj+jmphT+uTnu z{9t7Nk1+ZRej9*8_%7@O%3*vT3a@i;1dfJn$KW`&G!X`{EkZaUK{zQzcnx01JL}kU z06lK{HHP1tsN(Js>M05887b-;a3)4QD@9Fw9habIt3r1 zrgWU00r)6ZlTcWsrfG?POKp&5W289=(!2!ez7**iDyZqx*%&EN&2E&8p@Fud>vyzn3Qiv&HSu2csngI@NR^8u{E-gBf*Z z*%aL|TGV<)cbPGRycWB>7872JA+Iw=T`RxntcKws1bfp$T6!TcQN`nKp1JD}7)inbL+->Q$dt#G2E`E|!@-b||i>g|0^(&rLOLQ^_ex zO+I%}K2wK8*%%~39ij)p-RA6dKXLsHd z+whs}6e7r3gS&?B)Y%SqP@{K*3`INO+K5-ld``#5Q^tlCWy`qs+3d|z)^Bf};CHizN)o|Vn87wd0h*2}BGQ1dea3_P?tR`(`VTO>~8vBvsD^M-PIN2)h zO<1Ll^%ZUa!~N)?DpJ(dUJCCi(w1hPBr*#(2>J2t$2Z4u{sD}%MD9)r?C?Brx!%r%+ zdo$$8KLY5TGq(wu(%|_-8V1e8{Wm=lflG%;juSAG_FFHva|Hf4t=taKj1hRhyBzP; zakdZ>a;|&X8~;~?jA_Jwd`oD`1U{x74?7E5N8!7oI-LzE#nvhdUlaIAgSAuCFrvCu zg)c4kmdvONnq3Zeg5Jw8a={ zB#yA8K)RcPbSFl-8zUuLeW5^lphUU{_hYWURB{z$FUr6J1?qwl^&ymdxJuZbS0Jn^ p5Jq4D-#P@}blLhg_G}5CFXIPb3qO-sjVtgNR^dA^;Tf#M=3kqWh;;w} literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/repository/couch/MultimediaRepositoryImpl.class b/opensrp-core/bin/src/main/java/org/opensrp/repository/couch/MultimediaRepositoryImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..3774409f988f13ad0160b969561fb64747bcec98 GIT binary patch literal 3307 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 literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/repository/couch/ViewConfigurationRepositoryImpl.class b/opensrp-core/bin/src/main/java/org/opensrp/repository/couch/ViewConfigurationRepositoryImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..04aeb9eca9a84eb22e128a8deb8e6b8aa1b8d708 GIT binary patch literal 4802 zcmeHLTXWk)6h1Oed?8KRl$4ghbejfnxY%66rA-KvCS?c++QuO>Jg%j+y+zv9tX6LQ z%b0-~c;_GS!f;l0EZb77beb|@rVp~E)wkcCJ!j9iXZ6=Vzx@FKoA7lB3Ko19DyQL7 zE*g(%k2a+0G-SX;sDg%Kfeg8ps^4&AWD)pIs;!M<3sw&!p}EfvM30BO<*{8Mq>e`j zEqK-5jkJ8i6?3;NSf9o|q>B1XGd0!eQA9o7=1gIyxgPZ*WMT;_Nb%^?AGexV&k*3fPBq1)<- z+v>5~)`%-vNN`5Pr`qWfjTG!@fb$=xz&O-R9O}lh`b@%s72FS`(j)?Dj-McC^aywpF-#VdFAWa|e~idCB{E z@ys;&|Fcb4aNVr9d;R-VR~PyW$1u8eOB!gP2DQP`xf-i zu*^<+OqTz{3y=(jzReL%0Q~<@kjIa62pFH4g5!==~uY&Cq5P6HT*R=z-tA67vlRWT!Yu+w(D>Md%l791y~)iz8ND2tfudP^=1a^ zY9{L~SR1k4&SXt&UC&@8nXK

*r&)_0*c=Fg3>nI|^Bmto^(2HPBb5PR~&p-1bZ bxqpQ1AL9kEgV!R)Yx15FMu>X||y$g%%1ItEX0~c7=oxq6ig15s}hXqNNf?$2&<}y!K*yEAq>b zK!Q8Jh2MY}Z;Fyb#Q||xf2^P1_|3fe@$1Vs0C)rs+R$L|*gKgOLYeGBT#C%Pab`<2 z-j$id(s~uFn`XL_XfS)NbU=4DEwK$v25a>dEzCGO8D5|a43=ITzhdxY@Nca93>qhI z8MK}$qr!6rn>&MfjMLzh8SnRZ&lxmd+MFKIWzd@g4xO`Z8CDtl`OY}>R$pSyr7cRO zMNro8(%GTL!awCn=WK#JkQ5#X(x@UmG*!W+FvbQxME-{&<^8~w=gQ>DkxV_MqY*kZ zlK4l?7PS9Z(OJ$@sfG7^q%`_#W6V_i_b541;P`-2$PZ$Se49#{UX?PPmolA|a+~KC zJ&!^Q5#)pi$_9QaN!=m`l`)OxNb4N^oiXY3i&8780{2ykjuLNtaFrwn@tE12ne;u% zW7v)PtW1t0WnvBqLTgd!uy`%yN0krpgiu_V_`+F)1@0t)6oic1zKQXb4`{+0g-$p* znYLkz!Rmq=Niu`(k@B8w8=J--JOpYH>b}Oo7Tkaq0L|?<)Bgr3=+KRG literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/repository/lucene/LuceneActionRepository.class b/opensrp-core/bin/src/main/java/org/opensrp/repository/lucene/LuceneActionRepository.class new file mode 100644 index 0000000000000000000000000000000000000000..3aa315b0608634d93cf7b85b95f64f63cf755463 GIT binary patch literal 4685 zcmeHLTXWk)6h1Oe6e}(%fp80#CEOA&_Ddfa+$odV>EIcafSsnp6SI~!_7-VZtX3xe zWz4_~yz{^#KZoJ0nJ|&6q^(#YQ?8|&wWBOxg0=npv>#|L#o+v{3v~ys=YNl=7`G2c4_Kfb zcrFS@4t(K1zJ=bXD}_K3sX7j<-sFPoTj=ZVf8^Rbc3^vu3C&~H7gL_{QN;FzkeZs1 zQU})k{Y=Xrxndz&u6Jd~T)5`I#v;4}rKDPe4QK7odqS~PMpG7&K*kA=avG8-iM(<8 zIq@1t6GlQ7L=+iGLWA$=n2{Y!b8DXF)*{WVBF#G_lq@Ca6^W@1CPX6#J54Yj7dbGk zEi-T}<67%-#=;LCCsJvGP!doRH5oB-7QsW1oRUi`Sf+XOEcwEf{7}wuFQf-Z?q7KVV0N)c%SP@p(GWC3Zbb2 zoz-g4^-9(VU^CBBUzpv6PQRPX<|xVejq{o{|hRb;1Q!(y!;~scQG_w^ zmxZ~2Sw&H9(Q0t5`1h5fGmDvGPnMQs+iQG1I6Ut64hG-#dnNCeGgw%=hcf>p*e;ad z4`#YxwVf!`VABNi3M;0DVkb9qL)*|EFB2X#;e{r+u<5|ouD@9M6p8JaRn&%$()U#skC-|# zb>_gPF9RAK&+Bgfu&yT@S5>`#v2I&lW#V$|+L-Cvv##QrVRbujzr?vm-Sv$EbV{B- z5?FuFH^qmR8bj23sxyUw(f`NFO}~h+bE~rkZ#eZoEEba%(qJ`ntn|YQbg8-)b!Ek4 z1+s4q_Q-NcUzWg2!+h36N;GUagT(+pYa-U&>nU#{4tPVEses+#raNpG;Vg@KzISz? zcjx6(?2|nHGivYLusOPw3|B^FBRWO;k@IHP}DBN)2 zLkD)MExWLXp8|~by6~~N!hYhyrw@JeD5kdq&AY`)I<^0(z z@G7ES!|NKne$M3LeZjO{!t_}Q(+a$qbG$X@di&hN9en;S9sn&oni$D@@B!??NAStt D`II5^ literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/repository/lucene/LuceneClientRepository.class b/opensrp-core/bin/src/main/java/org/opensrp/repository/lucene/LuceneClientRepository.class new file mode 100644 index 0000000000000000000000000000000000000000..5f9daa612936214ea08264e84c0834bd783f1b24 GIT binary patch literal 8920 zcmeHNUvt|;5Z?<)9J?t=Tgso7KWZqDK(YDLX`v1Q+j3eDN>Xekojhe^=@MTnOXehn z1;WPw_{yGJdD_ez}hY=^lvKP;J^PAyteg0Gs%sO2`p(Hu+? zm=7K|HEXZ5(SA&Im%vM=(I)V;7L?>ZXQ>Qcu&LXnRyzK$?qvnu|l4i-P6_$*`#- zp;l5?bM=noA_hI^Ass>6&k~)TYwFf^(4uWsK+JQQnVH~=MmO&3Pkg4ISXj_;q zVz6qqr+4J`FsHP+5p8nLx#Aqp3dFkt=Evd*pg0xo}|4=EH>0aR$YWS7f=V%S5$?y1ld2P?XC3OyGP=w|C@5OKmo4Y8Do6RxM^g6p{^En#d6#2d=l54ZMixsFr@NFp{+i$qbeZG$c`*0d&v5MPJ4dm zIMz;4PGvW-SP+}k@yxgy!DvTlRmh735HWN#%{MlZnwFA@tkRfpM2r<@D^!44xHJnn zxJ=;cqB7ht5NeeD&4)P!%fNN7+ooLgQw@R3imhwrRzLOhZ%(=$hMN)cQ*3t#_YMnb z+{L)KN8RdSjWd^Gf+KKiQ8`%!lq1wtd|%`0r}rPE5xcCJYk!H+ch*TvAMY-fD=A z?_k$x*gBoJ8o14Kf|Iy_Id3&ioJFK1Fr)sUg$+r&Hpe zdnU7FF0f>kQPbGcObiPY50`%KZ)c!yJ4` z;L=DDlmmQXT47xC*ZZ_g;h7QR)r6o`7p1l0U0Jx*maacMQ^7A=29+(o~4_ zP6SeU4APAdX(2?K43XZAK&p*FdM`wJKSUbx^g#sDkC8}A@L`DbQHV6;=~e{N&yh&Q zr$G8;3{ol7>63&y{S|>U1)m1~|EwPepNG+P2k+m-55OvZ<}voZfP1hEEAS0eLH-|} CkzJ$! literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/repository/lucene/LuceneDbConnector.class b/opensrp-core/bin/src/main/java/org/opensrp/repository/lucene/LuceneDbConnector.class new file mode 100644 index 0000000000000000000000000000000000000000..c204d89417e888bbb6d2aaa0cd994015c5e4fa71 GIT binary patch literal 3359 zcmeHKTW=FN6h01VrU{i=3Z=W0i?`fbcFC|ypPEt>1$HSKT4(|ikIuxKn4Q=o+mp7x zfS-f}61?-H5NBpWI`qN>f%XCMFcaJJ`P_VtzmxYLUcUu^6@2G=xQD+BdpSUZV>rga@R|K?zJ0AO77zq2Z{t{lAQsQU3aVf0@n$Y)`S#x zoxt*v*HDq)%j~InP1_kRZb)O9^m%Rh8G*|EU7v?mC}|uh6F9lCHCiFCupLP&`g}tU zgc0q4*QHdJC2+)g^~kCnp?Rl9;L1VlW2RZ3TdogmdJ?ff{42P|O%nqaM4Ujep*q}w zQv{~>9lNi!(vxtSlwLlSni~}ic!&C`ABrHcfreV4QGK&YE9F*?(+>9ohUUM*v|{n%F1*e=qJ;)bG2w9l;HqZVcG-4Mf>m4T;KjZdo@n^yg@#MBPa50$nw z!3#xw7Ke?tIsN3tVOV5E@c#qRnLMRGAxEDY=3!pwz5&v}ELW0CdxQ>Z6=l@!g}hQu zZ-@F0X8pmM&)GSu-5lJgTyt>sAiygszFMp~7CK;BFf7?h`75nGe0?3OBMnUE9?L;` z!i*Q?ZEm6<584QrIo|)&wueT^$6EQ^7$Li(`!>hU@9I%qYqmFr=i6#0$E*j;^d7M= z2i3G1UCjZdOg0t>HHKX0Kp!@@Hph}VF0cYKFgFDgaF)Q_lDAJ)se1{dPJ2S~&8Xkz zx)rB7fmu)aEO<6d{o!KK_JkpD*ZZbk04cP@Oni<6t}l7%ZII?^En{Ail(l6q2G$(7 zNMQb$93)U~imqff(rEcVYpvCcm^7BP^&CZOtyXP)s4X2&!XhbbjzQvMWMtOIob&%# zizDjFa>kEQi`ct1Riu6Xw}^}EY?>FDo;PXN;x2W>rC2R<8`4LX!a6{1eSl3U(|&Ky zfhBCI4^ol?H?T8}Q__Jyuo?aW*E&!oFqKVB2X0~IAEqq_{`#!RO>z|XJ`xETw2;*e zP#|yu|1ba)a5MoWoH;lv;%pKsI4a@jB>qn0vw~k^bma}qJfEF?1!vyjtN`=)j&Xp` zFZiBH#ufM#&LwLLaDFJagy;(>`4X-dQ2Sx2za1g<;t^7da5<52Wn|@5oL|ES;5I&I UpbXbh(*;@F$%32tQvx0ssI2 literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/repository/lucene/LuceneEventRepository.class b/opensrp-core/bin/src/main/java/org/opensrp/repository/lucene/LuceneEventRepository.class new file mode 100644 index 0000000000000000000000000000000000000000..3d80976f69f92a2df7ef2036ccc44ba6801e27b8 GIT binary patch literal 8549 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 QHsKw34~p;sd<5Hn0nr`jS^xk5 literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/repository/lucene/LuceneStockRepository.class b/opensrp-core/bin/src/main/java/org/opensrp/repository/lucene/LuceneStockRepository.class new file mode 100644 index 0000000000000000000000000000000000000000..a6e51f11a212310eaa52bdfd30a4ff00b108ce60 GIT binary patch literal 8891 zcmeHNTW{k;6h2ehrb$z}6w0N`Wwy(uEo{Q2fJ9e|(p*F&Z&Q-AXrC&_nKrZQc*1yG z+MmJS;FX7!K!OL}5O4e+#2GtHvb%2VLR4C0RgN!n`pr4VbFSmx|N7|{0N8}jQ!quK z;7TjsHMx_2Xdat+A&>H+#~fGo@{;w0%axF)dE2v?!}5lIYA9hnst*QJFiqfw|KGOh z9OY}Rhs;t0p0nF60$&;zpPlMpseGxxSWjLoMe5Ew9qHU@k?jXxCI$ zhbqKiCq2~1CA;x2a<|s+f8<&LS&&zP?M_D9?PVwPMe)ffToB>Ega@V%~uqj)hV@xF0tYD zw5ff=RVQ$n5zP1=HG*c~m?G%nU}>+^WvV0ERQuM3GM%<5+a>1mBc~)RuZu#jtyAt& z4|RFS9rQehLi(;q>zIZ{f=t@rZj`d(@Yhh1J7HdG^erbuX+vD1mV#IQwa4UX#1f28 z8N9I5Kn>$QE9x;_#9_6x>dc>+w83eECCv0ld0MATM0sMKrsC&k#_uI4We zW80?7%9#GC^H=b2IgK^0Az9R_8}YT@YTH4#dMGg*>#WXqrGZ6BcF3fwm$V+}a@W-! z&?g9H$fWz3Yx%@tJ)N(ftG^%$PHy7Bp6kr@>?rTvZiR5AO%qFokdaY;UaiHI?1G9& zg3{HCrtw2We99#@jQ2tr$ifR*NWl_;@D&4?(!&II`9sY6sCAw?)FK+AJ)*QS}W*^7s4<)hbQe)HD zoGwV40z)6~CHkdC1X29R6`wMRaZk4`lY+^l@v9NPl1mDvLEC$@07(j_pnpo>hpQKh zpUuS1l87I#4YQ;90VUHLNq%sN?aL&t_xCC@>7)^Qw(EJ(8u-6zgc4W@@p6MY>h`&V zqb}!d0+sPDNAFn2u@eHBhVZ1tDqNSpD?$GHRMqNlOcS_cL~oA`xkO~+Y?luU#F=B$ z_Hc%I1nKX^;nU@+W8ro^){wYO^%ZB*lvd|71$PLnMo*T4JZ|ml!Yc(I=_{;TQ}78+ z<_nO5PoMalAcoHJwIz34gQxbq1E28N0eIJ4}1Mm29z1x@Xy@A#?@cH|A T0DOi=7Pb2Ug-({yL6N6nbZP-EZJw@+_$sed^rp8t7UkRR8Bk4x6lbaQW9&!S^8M8Lq)hP zH#ucUYUgo;YUSyoXB)hSbjQOJ;Kb7ZMn{*d+>mZD%~wR1TLMdSX2*&nmZO=I7P7N* zi1SWHPRq3gp2@#oN8CcQUrPGtdFtd*W;BW{VhTl<>yGqk$h!P5nU$_%&NcPO)P347 ziEb^xZsnOo=P^^VMs)--3T`Ir>!#v4^lv##55^-94&7Vj>dCTJ&NPe# zzD3}HrJJ<$mqRRpZ9KLPi?~KH5S!SJPMMGULU-CvexcdM{tM>O-trh8d*N zq04kqd(V}_Vpm$@`fJWZ0$(1uqjnE)$i2Nm;QP_;&9TT5*tBiD{|_pwiLC)??fx=c zkn04#J1Qca%C(CT{z(&|Nst7VY;2fYLj|5dWm#;5OeYG@5!(-YZh+lP-mUqe)+$!-B(V=$gxm7t8DlXzzgD)?SaC%?z=3ZVK69DgwV%ug`+TWb3p zzK^GOrr;!APh?hb3ZBPr1P7Wg;Cm0DfWKu3r!5FLsI?-zG=N}y&5LjbUbZ6Gc5&9~ z!z(!u&RY>)&4Ez2BAm^E(6Az$0cz#poFx{sR)p8!`~X66FBY#`5U%cn@TL`^W)V3f2%)<1*uKFs!WI_1cf`CJMxNJrE qz=H6F1p(kHT-)QNW#MJcg7lRIsQ~jSx7Xpei7yo42HeCPaqAJd4d7S+ literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/ActionRepositoryImpl.class b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/ActionRepositoryImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..16b626aad0c7beeba07060a9af61876e1317a7a5 GIT binary patch literal 11589 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 UU>R0m6-=<8032M5*%Cbd7xahev;Y7A literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/AppStateTokensRepositoryImpl.class b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/AppStateTokensRepositoryImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..01257dc63c195436fab3f35d415030d29c6d076a GIT binary patch literal 8074 zcmeHMTXWk)6h7;u@udz)(*}B>ut|Z~6l^Z#mV{2-Hl+zl!X#;Ccw#ov#@WV}G%Lxi z{|3)I!%tuaX5gKlz>i@#vg24v*Ju@#w#@KgOIn@%_MGpWv)Z%!$6vqv1^~BUBM&(O zYo0XgZ6@scW7c7HM>gw@%WY4(b;(`F6TTz6b-eMLl6&=r>u&qZ=R3|J3T+)rthU`& z9>xhw_h4GgZq_&V9&^(tFwthN%O!zXBi4Pr*StjF+E!ruqRm(Bj_|}@i#KfB!BK=` zdj!rKjlg%F2+1v!omdvO@NW|st5kOhjNfxCo`*>SQ^SE*q;zBfrbzkEM>cBhv^w0P zrqgystA|Qm>EJMJZ;_UYI|rOv+-xx%fV#{)WKB-zk%-z65w#%^wE+?H)N;5-QBB%r zzIi}>MBz_eG&qWaNRS zI<%hzl`0h;4Qz|=3mXGuAK&0T3tE0ux<=On&kx_A6lHc8QGMVDWT_a-qDT@ZXnCAQ zNpjH~?yE^*xG31MEX)Y{VW1WGl5eDQ*^G< zism%vDM?5O{O669JYKRy3bsm6h6`mV!VDHx6=PWa^k>keusWJDa2>f3wD-8&VOa1G zm@yoawRV{l;qy`BxPKt9&@zndYC){j#+n?9zZ)vmjF_D$TQUa0x>SH`ge+*(ZG#>O zVGtWCL00SI(-(R<7M)lRBg>6ei$I}LHNsB^vRT{~O`G|FM2BBFYF<9U`E4Y6j^y&$ z5uNdOO9L)tKBb?pGW%qt3Bnh$u*DSg*goIlZKo4X6O|L;Qr#`U+k{MJ7cQwNiGFtU zoDzdSMHii5LDH~Lx9)Z~aN~i%RpnH7l#@3{zEoxAyCnBrc2sMmQjD%FX2}@fDfrjx zqG8!tOcENy#_UfZ^aW-7MBrMum0N)K3HdR*XiH`Jb4hFscb!F)oB<}Ts+eUJ-~$3b zy#yZ9nKtQBC_*;PB-=EpTWxBZ8LOD4^OZXWIu zn2e$3;XZ+jv8H||=HUT>%dr;`4f60156r^JFb`|7le&IMlLv!9RXZlpj&|I2+Tn1xq+ZLh&)lp5e(!L|Wf4)6PDR~2ZNlxVNRb=3F`?3sf%m8e4sV3hIJCT~K&>fJZ))iHo&s%AiB{7ZUMF_sRkBi|iU)h=^38Y7d^6{q`TO7B{{(jaiNZoB8U z5AkQg1eOBn`&~JP)gAWXk9&B~<~|NbaA55ceR1 zA@5U94k8gSBVx{h`U7s8p%YG!FaxScIs{G0tF{#R2YS zimuVUSQ|ToD9S=BWI{XxDixE9lHxKok}_&W5zh!pZqpS^38=yBenu(SQgJt6T5rt< z$aV^P*2k6%{VO1eepi5QPLP{pvTC@Y5hhKtM1&zzf?@b&JgmKO5Ln(P%&`BXFwM|# z%u^|+m2r!i%uJRTfz)wSx|BrH7^^d_e<8O)gz zp$Y7?u3IHASFc|*fblso^8K~hx4PZ>Hkw#d9LonE@)t@Bm>NCfBLWX*B}gtzy^1Ad zTxE(K;fKt`3Kh6rL7MZKWuKdaQ2Y|}hTuV;z@t>2X`Pu+6S$Y~q|B@$=f3K5wKKwO z5on;$B`BSH!pDq5!N^pZh0o)_@+G&gNN6dEf!f%}zKTBfL1djo5sg20`$1Ifde7ha#q2@ojn39a!V*~K)YbMFAY5b@EQgCg95 zC2SQT4~6l!IR2KQ1h=t&3z21b1^<_^*T7W-zokE5<;S&Ge}mWl!rmgRQ_|l+zutxSuzzOL`kL5$KgH&H7MsZV o0aRu<7tT4WDVz^8aW29~;~jiF@%$6`3j1YLtp=aM=cvr)f4;NOegFUf literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/ClientsRepositoryImpl.class b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/ClientsRepositoryImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..74d7a85645cac9226699c656177d528552a77eb0 GIT binary patch literal 11808 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 literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/ErrorTraceRepositoryImpl.class b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/ErrorTraceRepositoryImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..70a8a0feb7bbd205f9c9ae7a054effdec79ff674 GIT binary patch literal 10928 zcmeHNNpl-T6n>kC(|7n*3IF(Y&b-nj=MG=ww8G}M z?@n88BMm760|7*X+V#@h${MTq1P(6Dm6s%aSWe*OUw&{-$=*<_F38coIDoeu&0{v3=poAY>XcPq*%cWh|EU?qTxFRHT*4? zh3*yq44EzRS&_?zg~?=Ks9+Q`+YiFev{xB7Mf}kf&&T}7*kt~yQ#Hn@_m5gIEP+Rg zb>=VG=Ith%GFhXVm$wQJS`*H&?63`XgPRuRTi4mvPHm)WF$79M$y>}LVZ}>AXuDp; zfT;^&%tLb*a@j|ShE7wkQ+chhxt~e)FvMD?q;)F4|0Kr`b<(DodZcBHMAI8N zI+fRmn*ANS!yShhDy7v)3C0_pe4i84XN$O}5o1Gws%gv%;(Lpi&xhjkr$QUcl$)a6x|s4;P25hpR!(L&4fmpY zaSSG4sMIP;4p1;xZV#?Q8F-42+Zx+a?I&UaNcIyW_}{Kj=qy^r9n1cF)H8+U3_L^N zw|#KO170WM#%a^7Vol1xvjqOw2ZIwSPuJvJW(9mG3>(zW3OG8NxO(EpT*Hj5ybLcFB8i^mLz=^XSSJeM|O2Z~)e(ah#CP z{#`W6TB23gI<13Qop8-|SA>qYoD_8t&R=(*gAf?pIdv(E!iZzkHA22h(4GIUiQDJJ zk>j}Te0yZ)xmvJNkfAzMh^%J9g)w@wOyKL}yqV~Fn?Sna*m(McYo06lGOiT2-$JN5 z!P^P#!|}))2xw)*hqm$WWvuJH#bWUwKFKz=n9i2j>mbHs-m9 z^y0b9HIs45E2~>+_!t*T>Oz&Pgy$KH_|Aj}=K+`d`2JKcoQ4B%5L;<%^*{#Oxk&pEUONm&@P0qu z7jgsmJAl7O;TV1&$JS*;A^4m70S0d#JNX@)`UzV-a2CJC6M&z`@w+dSf^+ahaP3Jj zP^yi49G+J34;n}&B|(XK1dK3AXt%)l&0 z*6tjiQy_e~2f}+11W~`jDlxA>_+}4;MYJf4nk9uU%L=4#6-X)gAjsyMEv#GcA+`Y; W_!)#Oe1sYF39LXBYM524u=Y0r?Qs_X literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/EventsRepositoryImpl.class b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/EventsRepositoryImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..19b6d42d76a2a70298b090d11f03bcc081f497d8 GIT binary patch literal 12187 zcmeHNNpssq7JeIm~6M@&}S~RZ^AQbIX6oJ(syn)zrLhkN_yQh!$nbPRivH4KyCUe*L|r zUw7l%|9$y20K5QyGhm27Dd5$jLv6QslQwD55?9k(_B3^_w&Vu56 zleuAVBYskL{JH_d1dhqq>(s3kudUu>)sVm;CWIHL?=w!|L}j)Sgq|Z2qQ*%Ar*Aae z&~{kaZQ6moT4yt^>xDG5JvTsv%1k5lHf_!vb@$I_Q#Pqp`syV?+=E%XN zb!J+uTBoR#>C@^4tub>Pc`LMeDp`(b-D@o!~Aey0PQZsD%ED9KLWvUXM>0l-^G4L=aV1|>yY`g1> z+aj9jY7lZ-#Yku2x@Vas8nC2akuawu=yajR!e!U~sKGAUtZwCH>%<=Q%~{B8OsLnn z?NHvj%35*%QjZLNq)cia$Pkayc!pfh6pCxl`?B-Jrlpk5&@D&>m-o?0vvY#mn@7 zYzq%M<{k4ne~XF~mqBZnI(n}RYKcML(~RPZjaj|7jOg(<9hr_#>Jc&khZ@ReyV6}I zR1PbHEsc@Jt#9$>G=I*4jw1uu*SAf=M9~i zB|}ClqusNW0#ZmV3rWhi`I=bC!8t;v_Liid)*=HpDjPoTYO)+WLCE)eOQl8$rkPqg zRd0ra@3f%kD#z}-5-UBL9jv&~U9FS{6t06^O$-LF4{Ghh7FF{@OZmY!2(Wh z`73b`qn+zC;%Pj%EW6k6{CVNVV$bU*@>eRew9Z_M@-XD)lF+XZK#8hwG^-j`5esZh#m91pp*YVWc z4aFfmf$0I&ipO$>T`(p`=_YOHhosWECHM z;(_8u)pIe#aY>Dt8|TRQ;}Oe~AC+`IfQUXEL5v712k#P?&CbA?vo3+>J41*@FrlGE z4n80-pWVCEwSNtSgyo~jC^qa=)G(!?$aFi6CDzPA6}LLFRm+}~QL`#%X#38hjKJBg zRLKE$o})EK7QF_q;&HUtj5#Tvrp|c9(Y5?Cg}{3|+>BA2fyaxQ=pxk*Dss4zoS5V7 z{$>=9V`UfpEx@G`diiB6m&DA~GQhz(xHB^t;NjA#rx-KfBOFq?xofRv0EWnZIbs7E z1Rm<5#(+(X71@-;y8$@S9otHh0l&x3jD&d%_@lVOurlD!T^~qArH}z16F8R{Gf2jQ zC?njO26%JEK55r$jpoKg&cj z6==^W(Z)5<&MVNaDA6v!lgRK>II1DYD@UC0H=#gvl&H^W==iJxt*JySKrz2|P@)RYi){U(0`(tC)L(0OjtcExO0?e$i1u$K+HZHjqe{omm8dVl zjpTDn^Xj8B|t9+|OeHo@>Tfd^Tb>cy)k$P02$a9?l#uM+hVT#ix8O4R-RP>DMGUV*DIYDI~9pf9SS)O7(~i&3vBQTsAL z#+0bncjvF>@F9*UnzyM!msJJQ zXG$asn6@sr6$rzyhS4|#wYE0vuz~jgf5pF3SXtG<1s^zs(1cs?JNN_o;Gf_x{|AUi B)C~Xt literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/MultimediaRepositoryImpl.class b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/MultimediaRepositoryImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..96b32a3071f97ffd18aa071ae9799703dd3f84a2 GIT binary patch literal 9712 zcmeHNOLrSJ6uwH*+D_94p(&-MFfA{qfXySknh;3ShK5es(jAcX4o%kHs z^AEb<5AY8-2hM>Vi~bYV>{xKPnz5q^Q95#%P|C@|_RRR|(|vrpx{~JMpFjQ#026Sp z1Oo)-BGIUOl>7B{+NSkDH0wdg{78g#!NMToaUeQ%yoj5EMfHW28*`62oZjC0cis!# z5)2VIkwCcAZ`N&iljr+98tPALoTGt~r<&j#? zBNr?uV3CDtS{{uXYgUXXY%@gbvnc50n)Gr_Dp$+HOm*R27>L+PTC`&BS`8}QVXZK$ zXUjedX7tSK{7DmyLc#s!s-Pa*2*iC8^GuqkQK3P!;=rO-+zDA4H+g04Hli#KM~Q_T zKzcGiPI$%rH72+u7F~&AK^sUq7Ow@4b(uy?^({x_lmebc;>LorHoGObM@8p4>r~a> zspb!SXgo4(?1lSt2VHas>YqUR_?EzoOA|xbkF~VF!IsLt}3?fcqI2 zQ~o3s#eV3i!fG}^iXO!Vf!a_1C+3?t_aNKIN!c*^MY8(9@%=d7Fzp>MervszlT-~E zpDyQeu#A&Ue}YMQ^FQd?U@B0vm5IG3jwv!#nPQpfH6sM=7yufG7_-T=&;FudkZXov z1fCj!3XBpMtJ-RRB2E62a{uDE&3$&G<*hKWL~%=kz^ENGsC$PBF7LY!hvGGkTOrr% zVzzB?A7v0%V+1UnTDEd63J%-7WHDKWvxICKY^n5Gn9$k4k(Gnl5@$<{8Fd__Of?&z z@jGRBfxvH%Au5k&QH5K8tzdr`Mi_GYISp}d6aPZE!E`f4&+?Kf#$7yAe zH+>qn1m=)a-N#c|rcC4btrGa7IFA*XrT5~9%(n zBec+^AAwRM@NuUcOHNEks?tVFGG>+GBLcq~*r3|vaZ^6$W!qf1M^4J=({}>S|i7Y}G6m(+AzjCiTiRazaiIJ7%COgnVznjUuNO zQ!E4PE2hg((>^_Uxc+F58~52?tPOg`N^3D_i3T3^$u;dcHEPtUojk2f&cz9=_PMUr z9D8Q-$n<39PIZVy@`%0d_E4L;E!1yp-pBkDA?xtS^%`e_ipE-}1U8n^`dX|6H}K^H z8LJZ9l2MQgG0->VwbIW6kAfsPk7XxFu9ukSG$_q1qlKyAz7y4GS9<2N-ru4qt) z;B9y(H^vhhv~?}od+>fP+6Nl64GkK=C748h?_}_l2H~4s5T-K-a`dHR;A0KKx4R(B xphYRqE^Bm|)gV34APvFQgsXF1tWV)Hya%|8pHa*J*I@x}!soCE%NXS^{sLCR8=?RJ literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/ReportsRepositoryImpl.class b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/ReportsRepositoryImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..0b1df8051d9bcc84478e8ccc9ddbfa977076d770 GIT binary patch literal 12029 zcmeHNNpl-T6n^bEkz^YuarO-+3yBOtVhI5vWAK_d8E5kn!WPDwwmgnzM(G(TR>6rX zxNrgv+~CHIBSjTd!JQkw0;(wfLWN z0>BxlCZLDFgvat(+pwJMs!=hrE-Pf+5_LRQ$}(DVJ~r6{?vu zUo=oHtz_hH8wIKzL-I0p@-kde!B8e3@0ez~)YH&7%{Kh}ismB~^=h@VFK(FG19NS2HxfTB5=c`IROz!F}08voT9(=+PK#)bVRkVmT|6 zSv*XPCC_I@9z%%wE3T=H8y;;wm}jFAfjXKgP=CR(?v&}YMT=%yG!Jjs;~DjtMJx0w zvuuM^FVSjK1))m>O+u)Joe23xqKuGh&%zNMVgZMeaKrh73Ra}Q)>oKjS<|&=@WZAVs})Gd)>kbp?$H?>Yc*g2q6WW=&_D% zY@8ucBuLHrXitx$Vw^s)ISh4FiJfi|s5G-EK2X6Gl?GKwr#M3tr%z~f{)0JjLrDu6 z(?wU?P$QnW2W}Z!b{u zSLZ0h7d?xVdH8NW32zhl@}V1?df<+SmBocn`eI{Iv@5s{`PvkL3lBDjR}QFc

;? z#Ll$K?78xiZF!tPJ`417DUsK3AN#RVn6$^4q=l~ra+3D8-S$j_mCrWs=`G_xU`?jS zByMTuvB)H+H?P`kQL(qBe*>vO!Ka(_=#c#fT6|)>I$3oL+sa=nQ&z>LMEgr=tlVjC zwe{M#6BrD?JFgvT2sg_Ox3DA%eQ=wQ$h!`PHlBWD(mJlJ8#P3xTdOS!N?_{sLkLnw zOTs+XAVr5wmsRlay@)E-{*`U$s05bs4C&iuw|~-C8kbiKa==PD#;@DWDyfpq-bZJqst1;ZtZ;52U3QH~AZupjuMY z=M{83EkP?u(J~67k(Ho*E=79@UT#?Yiqzuf7@v`#ej!CY+X3op64bAxsBgfzhORlO zt~@$~KaNOHzmcMjb};5|Nl?F)qK?6ML)VE2T_+`|-%C-aJ77SD`hyhpJX~n#IwRFJ z)!$-`dkyJb2VtQFp&28K5`_MB5Z*zHL|(ip(dAtU(mpBD`|yFXE+-`jz3^czJKw5n f^AY6n9$*ds_v2h=!ZNJDDipzi5-{{YA1eO>UgutW$DmLfPp; zgX!8sU^)0Xj|ww-Ae>8xJ@!yYVIL6~t}VPKFtVf~?!gp+sjjEXS}Q#c(`0n{mBjF< zxWywHsw5S0ZZS=@LKhPAfL1H(+nh!`j2RkFQx@*BCa3cl@p?Pr^=`!LorurVNO40k z1T3%f*WD@BopJR+n1wAONtL!V-;r4n(~!AP(@jo0zI-FtgZi(D znp6wf+|n%JZ%Iml7(1wa77=KgL|ME{Xn_(2BIY>5}CTYkM6n5eww?0FYll z*eJrQ#FPzT6(-^M1RQ}A1ZHbN_o6LA+i(~0RDh}dJWDpYUT1i>5|{~8$l}*b3-{fg z9I@L1>&26wtOf^}(Jls)$fsy=Z%GTwQ4N8OT2Q1=*R{rBdrQr<&#|!(xU<5_Q&|&D z$!w<4xA1rAdDynU@d!0mgATJA<8X-#4VS29ogD*Gr$qk!=VG@I{5@R6tXNZ-4*65z zNOqcu{&C;Old1I_W~;4;1e?%^|oeq4cTumCsU J7Wk<1&R2E@=)?d3 literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/StocksRepositoryImpl.class b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/StocksRepositoryImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..696722c73cc30b6efd9f8e8fdb1ca89c685e3940 GIT binary patch literal 11561 zcmeHN&2tn*6n`B8yBh+5APPir2%;OstfKfqVk8LxRyKg-Ls6lsv(woO*_l~-W*2hz zY*~8o;?0W}uU2UloV-~60saA2>0e>_x@SKo*$&-1Yywymm1U-<`#10X-s{)>-t_PP z{&Eih-iA9V=pir_@M6xTj+eVdYc%KcQqHe1FW{9NXB9tiLZ7eY@FFa67UbqazqlG) zYd*=lm2wJt3G9=@%hW67t}NYR#gM@6Ky;p^l?vko4iu)V*x*WpsBw(I(6y=;Ixfq5 zH79VE%52i}{E&u@?*)iZn5>5W9fva;`yPn!SV(Oe(gyC(I^1;+am=o9$8*970z0xJ ziv)V7eVe6VfWSaY-Wkq)o`(Ho|5pnhD(RPN%(jZYTXD)#605>}6wM9JSbdrK6=vD2 zSf(hHRiVXIT4L5P@-|xMZM4PPXoI(5%l27dp=y>(!{Uk+A_}`(L7w6$Xp2!{i%}um zs17rd#c?Y>4=p*O8aidGNCkz~60;h*Y;i{+Cq*VuCC$5I8a?f5!az{rj#pad)Ma;k zzS^xJt@*1!v_jvaR=8GSk>7|bOU~L2^WJiCLR;v6I5n6TN}qPT6~-Om)O0BbIW3~Y zvv9??ttlF?)_XH8QkQ}DGOpto>Rojc}p<}MW> zPDATDamXl#&xtpr2jL~X$`v%Q2FEX-T1Z`Z89-42O)?i{1MxH844r}az& zq78lA0BMU&)-@OHgu?ALugLi8Nere6ljU-D#9HRQD-)j0vm?%y84tv=DUyBH2?DY4 zmHh>2eHl|N3|AA4+Zn!1zb2bZ((ZUgAMAw#{jeLJA#gBTXjN>Y*)b+6Is*mAW0$M$ z665m}i!=lV3x1K77b$ndeZ8?aTye0VbguC5Ml0+b#9Vv*gi=iho=af7eRyjt){q^SY`b3++X!I%}XS?Se z-HG)X0~r0;p1<<%Hkg@_Uk_v{n(Jz^`t9&7iO_Lh8eIlS;t0CAW4kPy~AzPc7DI!T=k z!-|0e8X?7ldqwX3yfbnkI1X$+i`NJ@pkYnhI$+PvD=&PNyv@k6OHYg1gy|2z=c|Qo2%YA+UG-S7li(kY+@|TZN41s0=D`nZU&dD8?WpKP&4fom=9nwv*@Y+oMrX&g(5j`N^Ikz{GOMqpYmhISuL;8ep*k(EXa zq)5X8ff@bVrK}IGkRbipX#3EN8RJpIxPc%O!nZJ!ibs>{SUb{-rjO_-S&=i$(HomK z0!KGeB^7Ku7nP(rzsievIzd#o4$G$-PGZROLIiGfSlv<_$!KPY(M9Y%C`f;yb$|nJ zch+dRiXt7%d+2WgGKPD+i@3!Th48f$6fygZ$A7uWPk~S(-n?#ENI?ltX$c-v;D{@n zjwx8hmr1=-;9^u-kP_`Eyr@O96lf=u zXu}3*#}#NZO0*O3GBW%MYSjZ-rN%A(Mii(eCF*MiGM-eRc}lcV$TekrLn&j+DsL)K zzf_{Wg~u}+nx9sp3eSsd{f+|lTP5my2A=c20_{5`+8B&CW&A)XO(n!f%@(%*7B|{x+{b_+t}^%`BZ`QrxNKi_}o~QzZD3*@P&*bH|o;d d1d8_nHT*k-F?k7WScVn21!eG{f*!~r{15+GCRqRg literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/ViewConfigurationRepositoryImpl.class b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/ViewConfigurationRepositoryImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..e2bfd9e2c29c8b9b0bfd4d7041ff7278daf0470a GIT binary patch literal 12532 zcmd^F&398p6u(mnNefayK1Jx`OH!4_4@9K3+Lj`Plmh)wRM2TMO$YMci}PLrS-8-h zOSdlEcwD%2JjKmGy$ zXMv}nhro;{@>!d5CwrGxY1S3RtXpP|C(2pD%C5(KSJblj#V-oxWfwWSKj}KlyjT&` z=dN>eRcP8Smr~G6U{{D#qE0b8yL6Z3eF6un5BHm)`KwzLbzbPSHk%rx5@4*EJ`Eg5CRej4@ZLFza>F{zx-Q%v zm@w(m3{3^1<+~QO{92jSO&ol)q#$fU1kr8T7^)U}4LUS){LmA*v%&-qT#+t$zMy$@ zQ|7O@1#5zOthN8Bgg=HJ?+ebV?7HAK6}79ZmXV}}Hde(V^A{ZcNrheFtW;2{C#kGq zT#|1RrRlkv?KE=hW>rn!PRD4;q?)m2t4s)9U>Y%rFpc~idX-bu2*q)<3G`oBn7*jc zzP}ICprUH!T>u*M{@Dw}mr z!lFrF80Lo@$CXLmzO0Q4i4cu^652~+M)7231jEToqiAMk5E2q(dy041JqhaLFib+v zkoPV)U2sHb?4NMkFm?h8toT5WT?aL`d!K+G(o+vqajtAaKiF>Mjk&6418NZ zZM{SnmM#NGyzPw#;3u$RETOs-iwtf!ojptd-W;|{x4 zv6q;br&ul|uqWr{X=#xP9y~W1d;JxTCC}MhqBUDAb#B4E27%Km?Q+s|QNBMHt#Tu2 zI6~krgW_k@BjFril(-W}j7SnK6bS6kC>R-9Ov5okN*hPRlUFam0)3^7m3@|mlceYT z#!;V0#+ITiI&W#hCC;-=PC2n-njKC%>>j6iJNv~1Fwl+a2Q32W%up^^S1`f#&GDi` z{ffX;e5BDlstEis%zw`lGMJqAbzxykfTh09jEyUXN0;$!fbCW>Ue6HnRdS3;s%b*T zAYLWNC>kI8$S}wY1P(28r+~Ewi3TqXFA?}BIoox?+q+*u!Pm?IK{7iNwM8tw;7f4= zJ2Sb!&qh`=%88bSxLooYA)jq(cAtdcA#gCT??i3NF8j4PCh!$i!?0;MPsp83Z6V1m zAGh3vhadT+FkS;uZoKPJmWEM6zD>|9`gcYW&6-um=$s;fK2qE1Pv;5jBrr9$zE2O& zozlcHaW+rN^D>}mPGxaT8a9WA~>C_ zZYkz*OMwleZF<>Q10ik?a+Q$V21IsY>t+C{<*CoKjAt-dn+|O{G@3Fm7*;N#>`vg^ zdXXTh5%t52I7{Hh`o;<_9!d!7=LS5k&AAnk#|uwEE%Kz)y?I+HxE2;(IV9k>S(a4X z4^!m7u@SkkIXoWKcjQ_gw^nJXf=ch3b}$ip7$103?J{SAiu_6~1@Gd4K5iKc4@W7u zMc`DNNK17h1s~wO(7=&Wa69;h+lCZ;L}0hXSPCeftEA@0k}1gJ4oCWTb7m>PIjy-^ zTi;Hkph(~h#)SDIgM`i0-wDs-jXw{L0aiBgK5!5IY=v$3l)|UrZ#r!4gZ_uw2Jm@1 z?7+{b!h6J9@Ebt?Pq6dWo?Sn{o?pX$`|vYB0sP&MpMg9|!2viJwjF|JaKvb=!`K#~ z^#pPu+OrC@LrS!xFsMbd6lh14XvYoEPAJeum1w8nIb`@W&Z-A8${9EL8&aTBCF%bvS`ZBz-I`dbRGjH1ZtOE6OCF;30bbVcc`h^0u7v6viS`Qjg zpna)CdlSaAXm2UdzEPk7jKc&*j~pM93WV=s5T@231o2*vuuBSr?_&@y ziUR3pB~lJ%l)79~ApEXC=!NTHEZt~ma}yTu8DIr}_hW`xg!kZm_z>>E$FPL{SAgYz E0qZg({{R30 literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/handler/ActionTypeHandler.class b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/handler/ActionTypeHandler.class new file mode 100644 index 0000000000000000000000000000000000000000..ac0c8f0395527d998eb87b2a4266f25948dc6080 GIT binary patch literal 5536 zcmeHL-*41L5S|Sed}q=o1QKXzsYy$@(AK7u{^BAeiUM3^O5g%gUy$~EtGlJP*WKNV z$e+~5K2>U^_Pr1NANr3}9oy%eg&o<6j*3DaZ14HTpJ(=)o%y_f{`2ea0B{Yi8!$)U zj*^}eP#!u@=?-;-96BOmp^}j!StJzKLhd>^&_l_TGosy?-VB9C<4bfc*yk)0>|3xj|ntxi2*a9MPM;;(x>6j*_2YqCY&Ix`9~qTCj1>X zusjh&+^4Z~RwPB=XMwtInXT;+vj)ubsYIiQdOy%1v(_+LdlIcZjn>YhwI|W8Sp&h8 z6$)(yRC^;!BN}@aF;C~wFnBwjNjrAZu8W=e#)C*mZ6!~tAAQTCVf?y2v$D`$3cENc ziqnVjS9tiMEGKl;d3{FXe$zQk-V!uR3yWGBZOm4h>=j1$cbJrXP&P4ntS!v5I0<{2 zY8J3iSHRYK_qT(-7cZa+tlk56^O?t@WOWqz%e&drl83_zy!-v9xCHLeC}Oh0bnA{t zjAvt3JBs=N*QBo&9S@lr`?|-fxUDtGvnDNl=_Ad3RYHc@IsmD)CgWA%s(vcfqcvGz zM>I@I>@Dj16uWiZvUs#AQoS?nQYJLvjRly8Hwmn?-KkJY)3Fl^sYREE?7MN$XL389 zZ34@#@TmWoN*@27+-&F(R|LB5;pALe7IK2FLtsHMy+tJrm}Zi|dfP2D!cNyspX|6< zKTDi8_bP}o;0!|LxhHV$;W*ShVBK(sD~>_jjFnTO05JyB%?f*`3Fip;yM|WGo+v4g z`4(9Spu)aZwag-~z{*cSmFa8N$qBTEOs6fFz@@gk*Nrc%07jB?XS?PwJ z2o+Zvzs>J*CaLsBy9RuWyHcrx2G|5n7U(zN3V~+UzYVyGMg@srz%`6#ukIW01%VSe zR}A=yz|!;D4K>d_t`vTd$EFG{0Pc+89v-0DBX}IgvytrS9m5fT`5QF9Up9Y%g+K7u z94z8FwgEhr@Vt;(!AV$7?wx|uh_`~{2L7`OXK@tUzlGNfcOJ(n?%O4}OQpE)z`K>W zaU3b``4U`fA6)AIxED%r?R{|HKLG9rCAb?UxDEIaW1NFa&`z%Fa2c-vU*oZiqWvTI P1RVGjKEs*+9KQS)P>TL7 literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/handler/AlertTypeHandler.class b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/handler/AlertTypeHandler.class new file mode 100644 index 0000000000000000000000000000000000000000..faa6b57a917556b1193a19cf19df6a4495c6dd58 GIT binary patch literal 5512 zcmeHLTXWk)6h50em8}Mnrled-K@GHZxJU(BE_J3erIV5{DoyLOGkxg8THdj@NLsPG z&NRP>$38McXUaRnkKm8MaJ05;O{|QRjA07o!O}`T`gG3ucF*~=zyA623jnwZ*DaVM za9hd1iztu1Cv=y3LiRk7uvp2&lPnR6Ya#bM9O#~8%Inj(8#3wL#Dm`1OW5Y{h6ObO z8%M+XnktrqB5-n@$6VhaaH6^PkU;I0=rRi$1Qv~tA&q<9hLl3q;S{O=@gPReM7Ybk zP9UO$hg5SBJBbvXkVWdcV>fpC%;~Zqq!Nu18hlTC%vr@?-BGaaBv>~K)*S`A>U0HD zPAs$&Q62OhjcDv?!UCN~!{FUCk#6dwTNQig8;=qpwPT)CKZH&|@L>)!%kILArcOpxXERji&)i%-Wb{FYjerOCI-1@a}e=-~zZqlZ43<)9r7B zF`kWCyhY}{vR5b8E7W42O`XU*C0r4KX@RRI@v;}D!y$;E$!sp|8n8mVS= z9g|>c>n$3F6x(#wf_S_ljLw;KCmZVU$^y*8s{~e>{zM=R=VB`rP>Vi~*>{7e!{kny zYy!)^2x$0_N}gViZq{_4D*~JT(PW&d2ss_sBCw#C-lmd9OfyNK+4QFxU~9`a54QZQ zj~SQkaqUnRypBkD;t8C)KZrGt*jBvD6~_>6rh3WfK8(Qjvx45L!#P5Jub>dKCkpCf zzBNwyUt(XSOlEs4UNG0ravVM@?>5l$<=9D{S z%lDYn{iND$F^~bf%~ScYvR^BhJrk_rZQhHi9!Ru#d_)82)n|o*AHN;!NaSi`D3vb{kwSN=O8SXrehq!MQ;4T&7z76L~ zanm@4xbGC;ItSo7hrqp1fa@NB``#gN-!H&jFTkzAC5&+nE<@9t*Wd#@1AK+QWmM@O Q!pGpjC-50&{u+Go7pRc+ga7~l literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/handler/BaseTypeHandler.class b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/handler/BaseTypeHandler.class new file mode 100644 index 0000000000000000000000000000000000000000..18864668ba85e6fd2791eed4c31e43d5fd0fab6d GIT binary patch literal 1405 zcmcgsO>Yx15FIz6X_nBG((-jOJ++tJ3nz*=KwCgc;LuQsqq93CZg*|V_Ev-ge+vmD zxbveB<4vM0v?4`9Tr7|M{AS+Fc)tJm{1pHm!u=MkFgSEJO$s4Zaw^V6qU|Wr29>iW zv1qiDUfW4R8$Yt>lCe-(jy8EJ91bQ1Urg;5G#PAE47pIFg{Fb72W&M0zGh$ahFkJQEZz1jTbf@l4PT&onx&wC9EJ>6m+B!}o?% z)Y&LmaY$Aif{d@qJ&jEkMqAIrqm;ysMd^4dRB$;&K9~33uy{t5HCKt?RA=HUxLKMn zh1RQo34nXe1^3iYQTy0ub@Y))Lkli>^s+FyOr__pq<*6wQO?^kyyR1|-90WHFI9%` zq{1xb{nGhR;p$mF;ZmLJGvtEmG5(c-LZaH`*w;%(Ct7AHW+O0_7*?%*juSa`{4(7dz9B#WidoM z5cDY-Z1!|2@)JSfkUcwW`muBjp7;LA+@V1d9qZDjcqD_%t>5NS^-o)HmqDklmdw6% zjzSMJ%)tYoIYdK|!9BPJtJSVaa@XjjT@A|y?Es=L5WU^(e1i3FWUatWT34$ZQcL^J V6a}|ntGeH=*4xAi(4@ONKLNpz$ISo$ literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/handler/ClientTypeHandler.class b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/handler/ClientTypeHandler.class new file mode 100644 index 0000000000000000000000000000000000000000..95b38681f243a367b0ab6cb23628d97dfebd37f2 GIT binary patch literal 5536 zcmeHLTW{P%6h4z~>RmUGG>~v9lxd*thKtRm+`3UE8ijU|OG7uU#0%1_ceFdj_L!O3 zsQF1e@`MBuyz{_+;Ey1V?Ko>?9odPtRa^34d)9mW`JDOAob!49`uDd#0N@&2w_uLI zEvOrcTC{2$qn(>09N*^kzlMC;_yI{VSC(ShWe zM$*ub8Gl3#qVY#D_e~KEgLjgdbP^|>y4aa-B8;UnG<{P46i}Z<$?N)@=Ak_mc1chS zrw`+=@bGb2?$cH0^*N14P3I(eOVFs1lu?5=b}LKv3ZuKbTq!Xqo0uZjHs)E9ggwIy z4{;4uz}9;AH-o;PET9Uk-gn;CBcI3V>X_!Q=w{C-5e+Nw?)D$z61c#d!inzZbt_l*d22^n_l7^K#kjOT@``l(cp)^vfL z(vX)}76c5tb=|Ufx+*fgGwD(`G~tB>n1>e$thBv}P|DJ=lL)CrPelCNaoFc-Cz)*m z%bxUE@PH|i{NBIWFe9M}biI?wxvVS{1YL)~g63wMDHd|W6@m4(H`NF`T`zmGkr5&9M!P}_4C1RqIi(5^W3auvuy>kpfslV{XvO@AlJZz= zky8Ow*w?C-dE^yX#VM#V{hxJm0<9r8Sqmm`we1~r<4(z<$WyKfZxQnM?2@Av*$1A@ zg2Gv+#Ivsx2&@*_@2*eCUL)k^rW2!2TVY-!I$0!or{U zYYrCioY(*!OL$($tl&H>r}tihml1CT#|`{v6<)aDWovB2%PBkpAl%?i39FHhrr4ldsnGgwc#{zmVTBvP8{y?fckNih>#f( zOPZ*767opjpxw^)jMISoAyWuSnE!%JIo(9l2m7WE=B5t{(+B&eZ_*&v0h;gH8Ew>Ag0?XR!0r&(Jog?1XXgC*&bsw+fW}HTyznaX!}Ay zmGKQne-KQ3>rxHd_=$J-rO%UW71j@2!)9}aHY`eNa1Ett=;~9hamvTMPPwsBLQZQ; zJA@!jy=~~m5sA_~0FJf4cUTxQtRYR8(UHw_7uxXFGMt3B39R?Ld6mq=b7-sRiifG{ zr!<;ywQZduu;#@+3!gD1?EC)5mYE4n;79L`Rrw)-WzEfFrdY%cR|K|t-a>{Nj=UnK zhhC9rGQ+zE$wWKw9+H)1CUE{~Dh=j{k=zwppd+_!>CCnO=ttKpmcXzL=Lz|~!DgZ8 zQM0NST&Tep?$y8w-)mrH5o(}z;2KE7Wk{eiu*l_ zhEg6_SL6NhPT~YM%0iF&WnDK3Sv$VE9#tJ6KzrUo_8z_}-6cZK{pZpx7*!XVM<-!- z9H+|X_k^t#8^w|25hfiP&p!)~3e_8AP2Frip+Y+qc-C_W* zRlG0fC^!Ra*|&G#Eb^^myM=$=g$-<3{QLMUcu!(G=RH@!yIRS60Y0eZwSMHhA6D>Q zcnvQ-1nA6JW%O|gK80TP?89gH1o#fGv(SMpxB@PG0bil= JU*q`K{{=kKM*RQ) literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/handler/EventTypeHandler.class b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/handler/EventTypeHandler.class new file mode 100644 index 0000000000000000000000000000000000000000..baa34a86c428fd5e2c140b4cb3c02b7cdd483ab3 GIT binary patch literal 5512 zcmeHL-*ekU5Z+6j%2oqO18EDTpav)ov{EVMSDon$?W81(N<*D?h6f(b@{N71q!V{% zPxBY?$Rjf_1Mduf1pf#OtFvWmVr8Uc3{xNvmQM2OyWRcnc0cLYKY#og0B*u93l<36 zQ!?-(%46>d9a2xoo+lC(E17tbB|>p6BIO-Jp8*X$8=ShKBMulbWRs<0h*(QLmiDacEhao5}OA@CME9{;T);KFVkfzv9v_>VAEeH~RJ)$Fbl z5=?EqOT&<2o32_APj-aSIn(ZBLmggNf<<_dz*^Iv3Z&6mY^4Hf+2=9)au9Wx+)I;9 zVAU4^4Ifj<)9dlgn(lK&VB0^Qj58G>r{h`#mK4*wRMLoPCJ8i~{!9aG?fB-wmY?-8 z#J^r0mJ-#w>HpQwxU#eLe)2wZCVGqNC0=G%mP|Id;+<4)Q3 zJt6fVsdifoWWet6RDP@-)C%UC30Cno@5NLPB-(s)Oc`?EYf{V4Ns`TRLAZ_DWNjx7 zM69^d_!_>=nWQr4?^|${z}XqTEpQ1e8m}$5PN1IkYzuCn{fsKG;3h^hDMc21MBq%$ z5eq&cuyRnWq0G6@mBM%L)KtM`z)xWKtqxG$;q-7CkCyp%cM3-U_D@j%de!~`mVUvj z1z5&oY6JLN!Q;}%3eLi+x%U#hjCgA}uHirD-~x_P`&aOs;V$BMg!^g%?n)uRmUGG>}jzw9~ZE4Hp||xpkvTv`X8p+&0aom3Tp#^^SI@_{Pj^ z)chnKc|rmS-g)3Z@JA5G_Bw0Tj_gF+s?a>xp7kDoKIeRA=6s$%|M~TI0JsX*445Nu zTS?dUnF#DBY?s-g9NJ;T10^F{@+ee7hjP!xfgVb(>=6qF9+&nu{wMX$Uc~RDcMNC{ z*gP884W@VwionSY5eR*qz=`(yV*-tv;eZ>^BCwb^>9JsFZ%P@;CY&Oz`9}e|7J9pU zK;6)fgvYc90~*P&?{QyUqh@Po#OZ*$9+PMkG4}^HY4W7{(W5R4;@9;#%|d%A?Bbvp zrVrz<@bGzAPUx!h`i#bd(m5^O5;Uqq%BV&gvy~Qmh0%juE~OZhB_@xxg>@DeVNWy7 zeIDov*jn$tJLtRd1ggO5J#;pox;#o|N0Gn0n>{T>Fs#6P(0_tc;2w)2E-Os8Zik8S zY|Ls$Q9t0C^wpwco2#*>d%TL&ZWyjPSAA-EGVwGm}EZJToPDsJB3Er={o6?9VhE& ziPPr(3Ze{n3!(Dd6F9p)4z%!jH`o%w&uDl6T< z4Fe^V#&7dGf=edd(VhVx6F6O<+yIL}Gway~e2PW|Szy5DxTBQ@XTVjAXMf!{;7bCh za;_NgHG!pPwHs=ldqOGvAdgKITmak|!#zAewMXzciDx6((>sA90P{C!ez$D?0tIoZNc@-bB0=95?WvRXBsA*#2$2X1Mb>PI2EU!CflFeHY%V z#Es)fanF_D(gSemA#g90;93XZUOWWur4rnY65IxSfHBU&WoReYb@&jk0N>!TjH3M` Q_ylbD46b12zksj)1$;aK3;+NC literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/handler/StockTypeHandler.class b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/handler/StockTypeHandler.class new file mode 100644 index 0000000000000000000000000000000000000000..94be6203717668c247f854fa0637140fd3a19328 GIT binary patch literal 5512 zcmeHLTW{P%6h4z~>fLQ1X&~H6VH#-JaIv|RTQ{l%RoVo(H0`F9c;I2yJKCMro-s4C zQS*y<w#z)F`<{xqG&=S)kChQt={*k{wy(MI22A!suDy;`!K0nMm~W15I8Y<7 zaXhTAnc+Do0%zBS6!toSGp)4;1Zp=_k2}yHu$bl;GTHYwv{t$f=ScnU`w}x#;V$pd zKt-_#nH5UXSgUTxBXf;58#@C|dpro4#-Nx5k6546RV3?<$-4Vw-Hfa|Cc8>|iW@4G zr4h5ifLcW3k7FL#JQ|XBla6$gB;BgmqufLkD{X1|r1>GF0h7t=x}0XzPDETniedL5 z|B?)!R^(W&DzDFEJghtS2X6rywTd!oF{ar_$9hT3on5ZA=oR%#9%>thSuzGYmRTNg zX-i_bZ$(mm(Q|ewUGT1ygS{8I00_6IOe(}bo-V{gJ%;~ znMHNN71gVv#yxI^q3!T;Wh?Y?r#gj7nvH_)TM?Q9Et-uZXj-K&{wGSEijXX=xq>*u z>2iaGA;V?5azQ*5<4G}^P>1IhU>=?)u+sAP4bo_?w-W=k=nKie9Y$TQcaqK~uO@1XB1a@k^=iLk3Mh8=>twTp;AH3Jx)QqM$D3hyGOl zCGl0tWJbIUYQ{tV2*v)SFW>|keQrlfFM%s9f3ga<3ueT4z}4YRLjIiH(5NEyB(E~9 zt2nUyl$Z%#`qF3E9i$a-(#7qqwTaTJg#36ym7ejee&#J6fr~AF$`<6syiCYX|E-u) z>6A^kQ&FFEDYzzg)KCZfrbz6^%0aJ??wMc}?})x+cBnDt`(xUW1G`CWKW9nS#|7a! zdXtqc87OIlvG^IjDY#}j80uw}i)qQ52kq<@DYQ@FL=^V7rF@yacacD~W#<&l&DKwnwjk(qxPlz#;2mhC=QVg2&j4TI VZy8k!sh)ff*>K-60kIfGKyIvtL%F_>m7riW)A()^5aZ zj~`l4Bd~Tn-mj@<87cy2ZgRoREdr-n%i9EMtFq55Xb_l7>9&=LH zo(Wv+6vgnN|0NdwSIE6|Rr!3H#-qY{P`m|fj*$*^3}Wm?uI@|l_jj05yk8WfEbRuC zTwIS`Lk$a=FeS8;nsKM!^W$k%Lfie$TYKcQD4x(|P@}jQlz{H{9^%BfOQVRX66nUa zG67EqR@sZ{4p+?Nq?y@ddK8#0E6aGdO1!6?zwt*O7#`??yx5Hi@;hlVR*>a#SYgTUHd8yU7|P9GuulWMyC!J2>GXi zGELtoSZgy`Xykk;!RP!e!KXnefn}pn2CdS(CTJ$lx>z947%($#?F6p3y!|fUDVQ|{ zg;&eidS=-su-x); za-?%a!rvw2&;KvsIWx7;jtWQ=GNkjc1iY&uzPg*Ku|MMi08+Y zNQZXPI$q{8HwzY-Td12B*M%>I=Gx#E#BI(LRsL|-g7*oW%hiMhZ36XFELiX%f^yQt zg6rtcemk*Xg}~X2B^G>&ujN8w!RG|#4+~6`V0XFJxbF}%XlMd%3*ufTpd=-DoWZk| z>}{UH5rF+W)W2V_e}&n{_-h8{@El_Rk9j=Lj!|$97Lt3fzo)j7Vyp&^1cOcm-5DbjCtQF;B6kk>rBAgEZ}vI;Jq{f@8tsCFAI2Ua0Pvw hfveC;uFLQqUID(qV*&qJT!Rn5g^w`qAHyf`*%K*RZ9f12 literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/ActionMapper.class b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/ActionMapper.class new file mode 100644 index 0000000000000000000000000000000000000000..3fcbca7f55ebdf2fafd7c85c8698ea408d68c77c GIT binary patch literal 2112 zcmb_dZBG+H5T3=twWUy~A_%@5#Au7!^My~Akf6Z?J(O4^@#FToDT{Zvm%VL6f0>CU z`rRL8oZY*V@)9{BA9`~;_sq;QGuxS8zrXzefHhdNV2r?KEIlWnJai7}fI33<91*cF zmXRY_Bx0_F96I=-dXmM6j3OqTO;2$V?wErG1p+h1+NWX9`OrCJo+40O_k135wL#!o zy|GWA@LF`41tkL2WAv7kLKb0?6gr)M_OBJNWi#Ezus_$-KD+U3&T0kgZz z^QlBoM7=Mx$Ltj(-AqY0k4ZN((#?eQirp0~wnL%pfGY36R_Kf!MM!qk8P)?0c-Yh& zn>k%4%ykZFeh3r$+Lbwq>6KQFGWgiUQV zj99sJ8LTV9-Z|XPy1NRH%VTvFelC+>g1sPWjw(HCK4l-=~u6 zbE=&7L_buohG{B@s=Eo7RMTp_MQ2^+GsXT1+eX_Awkvr+Up{VSqO8g;ez=+AW`tT2FIoZ6Lmu z`5t9Cld;T@1Qz;HmyRSoLT@n((>h%&O!EFmtSArIb~xZM$5NXMh2@i*dY+oK5EHOm zqenvH1M2s6(x(CvSjsfVR7Y6U&VD6OZi~M3*c+}}KAW^M*>q+lSnwFzkf<$a5|}#C zZ3~{_rqhMB;JJRo&Jn2W@HobcwTELho*;lL5qB^^1ux_{OyJqV(`u?Me~04dTKOwf zexh~^X7H&ofWKLz(JQwG*Fno0FlXdVm^X3(ZW+0l$|bmsc6W^3UBur5+k9V!6(b*{ a@?navYl%@C=D7+lP?n(pkKhS7@azvn=#SO_ literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/ActionMetadataMapper.class b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/ActionMetadataMapper.class new file mode 100644 index 0000000000000000000000000000000000000000..3a0773c4268adc0585668567faf9f3e4505a4c39 GIT binary patch literal 2320 zcmb_eZBG+H5T4c2Yip%gM0rs;iP09dC(0*FNYG${9!e~d_;GvPl*PN-%igx3zsy7v z{mzdv&Tg;tMU)o#(3`#4XJ($6o$lPpuWvs9U>(*ixI$njmYx$(9y&*~O&uYdj)+(o z%gB)|5;0dob{t%&rerZ9qligo%Trv0yG+prRdm-VEl3fVFgISOzQ0Sw#r4%v)*GTH*Q;3m--)0Tl6G6m%s)N~)6m_2k@k=|G z-9Kb@gLyuc2#Topg*KVJg5)a+`AVOBrANNfCBI@f1dHuZC_A9aJG2!#W5*Ga9dw3u zK?5FEG{?%AuDi^55DBSlW7tyMw>=u_aCK()G8+PF=M=L*9%CSr4F4B8e1zM_G>H7O z;@e8t)K;B{<+2yCaYfiXgX`bjUMAS(vARru7b(E7%{gqwsMa2pG&sl2L@_6KI9|6* z?)RLmCU-a<(TS=x2{;ECxSoe;C=f_*B$wb^$?aczH6?l2tmX5m+p_!<>?xYWXcXZ7`oHHWqvbBlh5Xk_S|F-mwmW zY{}JaSuGHn`tMrBfHmF>scK2I zU;8(DVEUe)Dg@?+bxC3tJj02t55|J$dWD@pAivAw7#nvV$3mPYfTJD1DFE`= z@Kcb+cMIQE6K(E0WIh*jUm^b!wO3#UpBe-ByJ0l?)1e5npyf@NGx8SPHgX;oj9g6Q t65K(%yT9wc02Ry_qQJaunMaVOc8h$Yu^o-knSPtGgs-Zt0FFA z9l4rEDi%iRfr|^%)jURI6mjit1YDbKyLKQ)V8(6^nC!YA+lSmY1PW_@Afzzs1TNL; z`vh`tREIlIBv2WnH?>x}0GCN_Z%<+X74&(B`YMb>z>H9mMq0H49>ye#*ZQtJ4uG+zzsq+5{-?F z)I((=jFdLiZtNKmP@l;pT$|HTW`6+_a)w!;jts~&!~ccaliNIEVHBJemKsGFHG_zk zisyiON_J0Cc7p8!FrJ9b1<;%$ISV}_WQGFlFwMdSy?KP z0aJnkTq(mp_|bf!Ug8rKFB#{T*_3c)$(+7itUnN2nbwLZ%1r`G7#N<|WsuSw}!#$QWBK zfl?a7dMiV33q$xu^igOfw(E&-^T$Pb$v>xw^exeq%=9#FTRIiAHcY3vj_B%$cv4|y zq%Z{%Sm;F^Hj(axw1tuKV@1O3?tj8UijZ%~zK8`@*j^$mo8Cw|ryT$>0mrj`R5RUY zK`%-7SU3WUBhOgpgof(LuUOKS>S>?970F4@*b^L%G~4?fc#QF^*MSCs^5hXa@DvAH zQcwq;Co4QJglvmA#>=#e?K933z{!V`7NCrma2oRX?%>->>MebT!slw~E0lktcM4|k znP32av(}SL)+$_s#9oIvYvDM_j|Bx?Ss@lO!2kE VV$`~QuD}blCCI@ecmggw`vY(Ggx literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/AlertMetadataMapper.class b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/AlertMetadataMapper.class new file mode 100644 index 0000000000000000000000000000000000000000..c3ab4f1e9d0c1f486f4d33b7c5eb42e65519edc6 GIT binary patch literal 2294 zcmb_e-%k@k5T3=tm0BoP5D>+c7%iwhfAC}p2^x&(p~NDIkK5~}EZ*H-_O=cE%S<%t zyML5%ZhNJ@iqawvz1f@nX6BpO>FoXd_2oMNti!qmV+3AB%C&ta0{e)ym@QSqmLU%! z721l2G7?&v2}{j1jt#5y9<7wGOB$)`-tpfW_E_LyS+8E!@iIkLaux@2Ux zXQVW;zu{<(QmGNJImp6P9;Tr{U}7VgdvhhHH|eTciJ(!5Ct<-60e{={Yh3L!9Bu@P zj&zxKz?6vJ6Xmokn}L4bP7))qSaMR7l8wshYxG&?9@l&r^bW@BqW6^WnQFh`Z32@e zCvL~eDgq`%5aFmt;~-5V7{BdfB}JpW{6i-uRML!O9QbhY2y>#Sd}~P@j!&ncY>CP1fG;> zQY^dLiYL9fup$DMWAw;!yv4j`T%LjO1eUs*9{)a0#XolmetT9kYw_@En#C1@GPOnHyuxT>jU>+%y5YgXsL5du>dB&4F@y{dg=fhI7v z9E4nO{gA-nV(A@$BTrnsSVLZg@lpJ;=*3&_2kaxZUlFL$_?x4193b;%M}NbN>c2OF+NFt!;Z z*_~im7IfgEY&ez&gx+GtqgX2KTF0j5p&L+P!qu4D$t+`Nz$s>dJPy<{t;Haq|1!y=F!#o=y5T`gVe>UPX>f(sRVD zvyf>vi1jMQ>sY^5Jff=og0%^Z7kzWXR7z+t%0eZN_z+3A%OKQNm(R>`K0ei|#=gww2 za*dkN$Ib%|cmyUhyAIqSFr87QSvhbEhaS@a4%{(M*oO|>!)E9<2!V+;o+NmN*75t9 zj1s_M35PU*Nj!TaFp6sjSBt4O_Z`MQ6mnl-;wNek!4&=*8^GUjt1-h^0ZxFC({R$t zQ!r!YES$FTOe*K#Ec%_Ze)DL59^CHw0b> literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/ClientMapper.class b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/ClientMapper.class new file mode 100644 index 0000000000000000000000000000000000000000..a88ff4e844e6cfdd8791d0f7180b0956fad95ccb GIT binary patch literal 2112 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 j1ZvK2LDk4RiM*TOYq7+rb@SbTCn$@MgM07*YCU z`rRL8oZDX03Pg^`hu-YXJ^Rcvv)h?pzrXzefHhciV2Z%YSo?0sgme#CpSenRT@`T| z>&VqSQn4^f4_sWBuI4c!qljyFv(Kg3wrdA+1ZM5#fXS}=v3IYMFN#EdQ)qq3vij__Vy$OP(hz}sIS6E1k4B}X{1#<;9>lNmWsOvoOZY$ zFpZ#y`CnL<(-qX*NHsUcnj0g{jiKfh+EF~FQW+XD;~!9iWc(;Xv6Ez24%{GQBhlE% zNIg_0!boXD?Z%!F0rid1ghGyGquJ-N*z7DmBoVX0A+Q8S2m zsdx^kr)2jOWhdA!0ON_+Tma2ElC#h=LS`ty4$~|=gC@hC;Q=@NU#KnQAE9=%2$>$d=K})8nwMOsW*q@}A!Dww zotDxV)>|2RTNuJOqK`r=v0YDuTR1MtOa3`cq;H9?WTvNa+w!TP^W%Z z7W9&IkA)+!H1dpfPH3o}{E8)Qsh;-vTaldftUbZuNVC1)fkzn6dL3vGC{G@-15a?E zB?WchS+c_OLddp=W4uhe*goSt0i1j|X#vW338x{C?+(7Lrry$bD15G#zC!sYdZ%C( zp9u!=H)lP`WUazgNbEJ3w{`)pTe}E1ti74qCAfwAZrgo#5Wfu6e!mMV*4|I;gA`v& VEJm%{=PEo$TY?-sgva2*(?1GYhGYN$ literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/EventMetadataMapper.class b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/EventMetadataMapper.class new file mode 100644 index 0000000000000000000000000000000000000000..fa89e75aa9b05d12b3a8be059a9259bbaccb43ab GIT binary patch literal 2294 zcmb_e-%k@k5S~Tom0B!T5D>+a7;RB|{@}?H5;YjnLy1KaAGg;{S-ji5>}?zRmzikP zcmF8k-1bU)6{STUdb2nC&CEBm)7ks^>&tflSci2BCJ4NWl;;GL3+IrwsUua>ks%Y2 z3LV8l8F4LD$H9eeDi$F!44HDa+DzyjrfGv}x?^+}OcIziPJAkw&b#^{^E83%hUas^ z^(KJ}rSd+3$rrN0ESM%x=%crkk}3-q$>g^W0s~3E%^J2RgOK}Fb1Cdl$-2*i=&7BX z-aBA+gLytx2nwn9i8h(Nirgy+_e!68rN_O}<-Te+B#UezwH;9H9oQP3v7->l4m!iK zpaB<^m}6x`*Ii~j2&K}tF>Gn>+a48hxH_|YnWccSbBb9Yj}eebhW`sqo#56H4MP8< z@V1sVwRIh|GE*{K}BwFV)o9 zZ0;-z?h}|v?OISFFqcv#Sy}K9FXs3_EO;ER@caqncX$+Gv+m*ek1_=C2FEW4fIK$& z6lCz-!nd_VoBImckHy?)$p1j?1kBs5I#ezL=SLwfZn^{*YAW`jIs5$F-Q)B1?#ItB-vD3}HVrsOU?-H0*?WqMROho(Yj>^MNOS!b9N zG~j+K=Ge;Vdd!S_fso47hLPf~=}ILp; zu}vjRYN}Dd%B5NHw(tk1a6H}RSpjVxsxEPN6b3mmvqvTMrnt!+Z#HN7s$n*t zQ*JVwvwQ?|XD2VP3`MwDfd!}%nBPho+DgMtTUb{~?ho2=i>un)XKx~}$K*c6u0^0` z3x~P~RPuPAC>Ip-P8`Ar|63w(W490FGUp^#Bzt;5nGby@9)p zL|gs}#SgXeXQ+Hf?KxP)Z;S!_Eon_W)@yJHVz~?}TCT!nE!W_RmRA$G4%g7`y0*K4 l_?uwr^IK5Y@=hY}Ciq4yF=|tPH{c1%G8Et*JOB$G{Q|~}xR3w< literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/ReportMapper.class b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/ReportMapper.class new file mode 100644 index 0000000000000000000000000000000000000000..f43f05e843484b2e233bfb5115a703a87a30722b GIT binary patch literal 2112 zcmb_dZBG+H5T4c2qoq)&A_%@5#Au7!^My~Akf6Z?J(K{F_;GvPl*PN-%igx3zsy7v z{qB!4&hFjW@)9{BA9}Mp`^?NUv)h?pzrXzefK^zv;2MFASb9!CdFUL`K6QlbIwE3W zEF(vjbXX z8wUgmZ$yV#P$EzrqBo@!avUZ|q5Ubu2*U5Pj_rvc;yzVegmxrF+h;-i$}X4o51HLz zo=+u$BI1Im0IV9c8NH-JG%XUYw*barV1FF13TcI;{93k0JXIKw3;9*m9 zZ02;GFyn!)ifs&giu<-lLmjTo>@2erK<%7j7RVz9GR^RRp~=;49@8N5&x>m-VN+WT zB33S42J4Ejdk(j=?ydsl@>pGkpUWheU@wT8qY67z(%=F&xnkval<&6l`@4XBen2_6hdB{HWf;N-;6gv=snkzi&A5h8l zK2=V6q8F;ygESRH)!l?ks%bUep|cM2nPUHhZJ})j+mSq=a`2uF2$brsepamp0*XA0 znZ)iokwr1;YNFo5AfDoV>xi#q zzDHS3XDl-$f%#t4p(9C;&|ApDv`!ZblYFp?73Bfj3i~|fSZed2uzYeu_fs<#Vgi?wirp6E%Bz2*AKXOgQ-CY>1x7CgaGrYmPbQ?Kx9 zEO>@jlRzzaL16O43m{P0=5dSu literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/ReportMetadataMapper.class b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/ReportMetadataMapper.class new file mode 100644 index 0000000000000000000000000000000000000000..38276b450ad7b5facc1dd4d6d5e76d17b2e774b4 GIT binary patch literal 2320 zcmb_eZBG+H5T4c2Yip%gM0rs;iP09dC(0*FNYr409!e;Z_;GvPl*PN-%igx3zsy7v z{mzdv&Tg;tMU)o#(3`#4XJ($6o$lPpuWvs9U>(*ixI$n%mYx$(9y&*~O&uYdj)+(o z%gB)|5;0dob{t%&rerZ9qligo54WV+VTv}WqB}-uL5jeP@#534>3pmoF;5Z5Y)rH~o8Mp7rALX0H*Hfz|P2qNxN#YJdGQq+AG#4qh! zcK?vs4d(e&A}FHX7usa@3X-oR@H;r~L1k8tal29bYO zd|L^d+Nu+=T=pV1t_YiFaQ(a6%LKbTR+s7TA_W+>Ifu;{)!L^Zr3oVr+6E4D8yzxKwx>)@|3Tu|E^UGSmVu*s+L6i zwSS{GMslxiqJ6O!b1;kfUKXPk1m;^2j)jPD8ejgc@yT0yal(7oQDM?7ZbSz schK&xvAc)(Ww6cueONK_VIm(T_>z_wwQQcN@B(EHQt%j_f&**60sHgi3;+NC literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/SettingsMapper.class b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/SettingsMapper.class new file mode 100644 index 0000000000000000000000000000000000000000..a6fae8bdfe2737ec8f2b21152e512675018512b8 GIT binary patch literal 2164 zcmb_dZEw>s5WbAAX-l_`Zi9{S5++{S0SzzvM5jqG4QY_UM8_mPx~bK9BzEMu)hhA7 zkU)a({3yi5O_~BjO~pPmXP=+Dd+zMs{rLIi8vty=rU^3!?1a*_eZshXLi)rOvTKWg z@=yl0q=5*T5^`YULUkn#5g7zj+AXRSB0fjBsW1OjN z11{9+M+W3}M2DJCG@z2Accm1v02htir}rFV2(M2&mMi>#c|#N=k4OXs#QjLR)LKW{jhJ>LrQJwqH-@y=t&X6f#f7qbqTFLkp)-0KAlY$eSP?W} zyb*D1WOO}b#{57?Wog5nVxHv^9))XDE6MCPVC0-&7RVz5GS2XSp~>a#o)SOs&Wda) zVG&CW0$M6ghjs+-p26=dhvx%xSg6j&({za@=n1hi)Z>6i;!kjsG1@e)vfchP9w+25 zjjL?rGFBxUtONy^E5kfg49IWAZELyaq>ZYjB=)>!)W|9hZ&P_lus0b{b%aa2 zBO+O}kCpST=yCO85T|3nQq4)&#JXnv6}szCk19F=xQ9^^;DKa5k%QNCU_i0vM9-{Q zM?jwOkV@>mb7>@fP#GSyFp#TQ9~oCdy&em?n%a!mInf`ii9uSd%Zchqw7l~#+}0?& z<~G_?lL+H%s|ni_Yrsk`=#a4jjM2Q225XK?M)WY{+wZW(%%^+2&q9X9*AETLDW6BZ zSC5d;0MpTWq&3?oUN0)ZA3+UROEf9rF(%c&PYo!wL{GZ(C5s-xVsg2|xu^$-2@i1a zMO8GR5v}m5On8LTF#((K1j!`3(OW6+voOR5cZh8`%o~716z4WT86WB_}sEZ5)~+FjRnHxPdl jEPZ|p*0sDF%X=}t7DYcEQx@-TFMHdD{xTCy z^t->q-(j5FUTM7&TPh#gxtn|DnP+DAcJAlzuipV+12znpBCs1t*Y+t7>|@%dwvbI* zge-_;XiFA~h$|sGHeRTvWDz36kV(77l;S}%+GC0~sG@t?Z9s;=oaXUp(6ryzkD03o zWH()p2V89txKyqj63Dz34Q4=&K(UYBmQu(pTqc=c9|O!Kyf$l?uJA+dQN=}IhEmi$ z=0`8geD2_gnGNQ8R3a#(?q}L$<{HYk68TnNzSWa&b>**_4Z$Ka5X$taa*s@fWb7nF zv4dpT84Tco6>GG{r0y!?eki0ebznirwSJ_{{n4Dr2sACLdQsMtX(~G!$ zLjBM?OM$6`Nln!WSw1&elp})X8G8Rke6etcN9tl3Cu>AHYJ{dS`nFFc^+(X0GwURj zK#(axx#OUUic42&|Nyw5sG;wel8e8_Z*hjTx|mS$hHdlKWJ4 zc3Fo&uI$9yv|2&H3=bkE@yy3c(wQ}&*ag%uv8#9+D=9|$dO*bLaO|mSCw`Hun6$>5 z0aY!D49`d5H;1)sAxEi~d9a$LUNyrp1QuH%j=O%t2FkF8MO23M8I&gALUNBsn?1dmJ&f=x##H@GN7z9{FFexCR);EZ+N_! zmeWhso#%S+8SoGXcHDIXtoRC-+JMJ6=+i+4JSDJ@_MYy=!XA$z+|UO&Mxq%4_%VRr zApiw@5vE}V?+v_LPrUhWko{E3e}Tde^iIJX{>K==-&O62KQ>Bm4Ptv8=C!>63)(Ki yO>LJFy9_HBcT30JM*JNx_48F&)An9s? literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/StockMapper.class b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/StockMapper.class new file mode 100644 index 0000000000000000000000000000000000000000..9bee3aae3fa5f9c552b8bb965193f13ee25ed259 GIT binary patch literal 2086 zcmb_dZEw>s5I&EtX-lD7VPi00WB#s=nT7MZ5 zNbsE>g*dyZTDFO0Vjq&TFOQ#l?(Cd@{r>g?09Ikufhhv766L!g6Onts`plK8>&lo% ziHcptW0?po)xgDp?kb)jGLE@&TUz>uTXyU~j=+pv9I&YCerg|ZUlS;-`GJUpUMFy= zR^KC#dn-HKfg*v*7`>sCR0X(9a=W_`29QCYcc?GJSOiQ98PQnDcEH2rB`p!=tiM{}ub0lY>XN1g9fNiE&cm_?DP?>qM?Q&+iGo)wc$tEjH zB{E=2P=G6CxC#{l`L(nk&DFed2Wn|0qHfc4sEQ{d{;?Ofx!PgabO=;E>9b&uDPiWR z^QtdRg-H7R)!evXRg4TxVG}jSb9T86| ztc(<m~K*Nl1OB{HL z8Z6R*=LE`=+m6#MktBGScCdXWc>;Lz;Y|xr#zQy_d7L{qTS>j8?@;(sEq#UZPxMZ~ z489Ep@R_w9bF)_A8W?*W=B%BE8`dtsO>1wZb`fslx;u8=UBoW|wcqc-vb7IV`!L1V WjK!#R`(A+;XiJcTNALt(c=iXL>V}vA literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/StockMetadataMapper.class b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/StockMetadataMapper.class new file mode 100644 index 0000000000000000000000000000000000000000..1099297564b7b2f3dbfc1e523f95c585cffaab1a GIT binary patch literal 2294 zcmb_e-%k@k5T3=t(OM{05D>+a7;RB|{@}?H5;YjnLy1KaAD8QFoXd_2oMNtihTEV+3AD%5wtBg>y(-)RC&;$dHLh zg^psOjJTGn?chQ;6pIiUhDkR^zO65HQnU}K8EXWcl^w671Ni_+VN#@%}fq|soVs+b-LCAfoxfFJ&=$W0% z?jA6^&ODzg1clT)q77!RAoohbz0%`e>2j}hxUblC$s$`wZ3k3)2ew9M>^MZS{m!r~ zXuw4!=2#ihb%z-bLaDTE44az!wns%AZlBrR%u>MEImIlH#}LRQ!~cb*PH^*>2BCji zcw0-G+PWRGT=pC$t`v<^nEuu41!7$u=?ipsj^tA&XHXfUP&-u7;0!mTgdEx5a9uL8 z+cQ!c+23$9N2$~Z*c?p4R34_GKwx4$nR|03w>Rl(T5-{+#*?t%a>3p;gMFrUDGoOR zMOS*%-=m7h?}>8SlTD#tw3EaLESB69rDUU8euF;i%x9VngWke;UG$FP0afj{tW6+W za^rTamJu+)MZ^@2@!~*Cvs>uw)-a@}c?%OLL}uL=etE#~gsdC?L#r6B#v6j_rb2V) zpWyX$+SLuTE_MUr>ZO6$)wJ;mZ>-9l4|pIvU|XWaBaSC! zniR{fp2w5kTv!nS%QbprIo_gvGcM0ScmhjZO^<&cr{bTx1adXmR33Z9L3$SS9^+Ybg s4Ya#y?3NLK3v9E08&-_Go5*_!z7$K0S~kyBc#1Ly8MqG*!GXuW0bk?T!TEPoAuC`Yl$sJsE`DH%aVJ$pfDS z(NjC0+dE`-oq0Z02nwn9kv5oJLjBc5fAv&^MZR zy=2%L4B(;~Ypf1Q-BHGaP%3Skz^3ND?NJe@J79LVvOj<^ImIea#}LS*!vBS)R&n!~ z2BF_if~}=ZZQTx8J~v{RD@CJ^;(s!qGv4KqK4;1in~@3|AZv)`?NCL70W@b#I}+z` zQ#2CwfbvG-98T_8J9kEW9TW~gyl)U)^mF$ZBpz;cZr6;HIN-;CS#mka_6UC(JPJ=%)trv&o5vZ*}wg2z*} zn3|T(F>lU83-04N9{1jYYJ7!DZovwHnN*YokFZNA_sLvNZu2O@;oigJCCU)MuLS%; z0hq*>VgfRFZ{gi?;>~}B?E7N=GfaL*?-)$ue~bbA%@|Mo6;g!D5Zfy-YwR3cHFh4Z x8GAjk3$TcBOD66H;%|a&p5KC!v3C-CH^G-X=3;9YW)ODp}$oY5J5 z_m6ViORuylg-VBqcJGqiZ@+J|m*nTKuipV+0Tvt>BCr{2-wm0N?jCC}SLvFoA}(Vc zxtd2R7Dnl&iw~xzd5oS>#I?I6_~&IMKZ;siGb5B-nOK$%+jjjF_p^DkQslM8U*9} z5t8i&!xCYDkmZD9xlia8GZ98g8)^gVMg-JnGD)|?XGyE93eH3|}X%-#>bJFw! zVfWXC1En}d_CVPE(LZTrPZ*blF*uil^N=Snx|r_C6GgAH3vU=LWUZ3y(s@rv{jrdg_aKryMaus>BBiFSE znQp$}O#+#sm$ZAOgbt%Z#$4mkGjjwN>zQwPZXgxkhz5$x$M(64*8CA52ZFq0_oyI^ z4N;TK)HOoA>N{|;cgZSCh+1fq>Q;QKt@wyw0+aO!kLXUByQDrlf?uUK=z(Ue^xS(~ zd=c_h*$}b7uCN~sE~|c?oOt%&jtMxP9Y-Z24HndsGXF)3z;t`0qp^!?;on&T*$q|K zK7T2a?wsq{b*<}(J;xomkN1yctsE#PPuMaJJR~sHGuna21ZdCcgTBwLi8#iOXA_Ud zc$5I%cJRgpki(B|1V-`Q!MFKzH2V$4whP%Wko$q7Lokm2i4WlKf*nb2Qw6vPiM<39 z)?S7y)=t8dwO3O+4c9R4x{aGb{~JK<{7sm(_D*W=rvAmmV%C!VpNA)CvoH+z-~qVs F=r{BZSx^7~ literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/CustomActionMapper.class b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/CustomActionMapper.class new file mode 100644 index 0000000000000000000000000000000000000000..9460299a31a78a38c63dd41da097a2f15ef512f9 GIT binary patch literal 1315 zcmb_cTW`}a6h0oKX}hs*gHjj+Ou2PDBriPCYSK19RLaUj%OoCM$4WgCJF?x0{xT$x z;GG|ZI7vFK6GH>RgX7zGzH`av^Zm!?uK@5IIvy+$7+AxDlt~pFvlA9*69+mI%9<=N zBGXnnZDs*3Tx^6zWR?jN@Tqk=4GxNFk2|T=VR7TZGJ*AiDq$)P-j0t2cLb_Eo=7F# zE`ckZog)Iv2RafS)Ce@r(65ZqrV1-$Y4A>=JDr?}h;p4~GGVzBni)M#L~38qdTlfj zG!i^v2069de3~8OFTGi8Vqy zsr)=t|L;7MamqB)#?iul>SRJWQ@Pi%pr?7B11|XZSLovJxqyp0O&N8wOw?;7^nZYc z&PWws!W2sDE`#VxS^mUT9jb6`71p3ZpwgQQvDpdFq*tCMra~2v?TdV$ zS`pYNZTgYjpN*J_1wNsz3r+GGb_vvmGFHq@4MyAkEwC4cSkLY*8q|k+YPfhU^ZZ)B zKIB5`1e$%twX*001AilhVTMm;9^At^mN|Mr39K%P%!4+*?>sOM9_1_a>A{n8eW5Hj z8Xih(Q7I$TpREwU_JGX^U>SedRjA^)qO4hldEox{zLpU%+U_LV$QrY(3 zG*37)1WMa16jGQS0+ZGCBLY+Vs>K~B6PO#I542Xg1eeIvr}q-ws<6XbE>lq~LTa74 zu~yBHN69m{Qa(K9Zi};!Y6QiUeWY#ft|Ak!$HW^j@%l`>oQan+S#?{AC$3b+ji_PA zu0fmpG{%_E+QeL;o{*jm)w`I7JWdhCN*g!RPmKs&My2)I<0}4c9#y|==drLKq3K{A*`N1iT;&4<=&N3}x zw+QBc;901kMUqhj6R5GhQ^d@0a~G<41xj#v7Oub?ftl^zq+6;6gV~lRV$06Hxj;z% zI*poKA5t7=1Qr6tXm~`mu;;!o;UNy9z3vOe(uhk_YY|u;Wi!Yl-Xc)Rb?Q`h3EZjn zF8*lWty*n8u+4=E<%VcWYEq3+Y>vZk_Z{t^=Gwbd8WHiD?1)5Q*jZ}1;d#y#=CO<7R>epfu)*cN+y_SEZ!@@HP!66>%bcJNM11q?jvkuzd2CFR1IJC zckBl4Pg_3+9@;Mq&H-;|@8;b`V74xj1Sjetj^Jd50IpyB696!c{W=XZcy{o#(UVrb zLg~XoYx15FIydcC!tn1k&<#uzE^4>|Qw03aP3G}C9VITiwq-jJ`DI8T z!JQw4nBAmGBoI;$UVCPrpXa@qU%$Wo0Dzb9Jc2z2BkyEZ3Z=6fu@sqcv&>l3-r3Bd zHC_edRv8__%%LZwwdgXr@WGVXRlQvn=)$P}5y3u#qnfD@dX{~d-k=N&;tN?Qt-@;t zjsDp+gZ(R$V+1V*oh|x}bH>GR$e8}9=`~X9i^} zz1s`xI#p?n3w-A)mqJ(XPLba#y%TiD^nXzCV7TC6Wie^h$p2#!h~Zuv?n8$`^J3Ge zUVpf4%{VxvXXjPxIzy%L{i2+rn+WO#gYM8sQCthBs(6z;QQFg7jIkg$)eL&D0;EUCf_0c)J?uZ`)7?gqHl!(S`X?>HQHTx YNaqGTsxv(}rXAoJt(dYW@B|uv01goXYXATM literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/CustomAlertMetadataMapper.class b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/CustomAlertMetadataMapper.class new file mode 100644 index 0000000000000000000000000000000000000000..fce20e8d8f986d08d25463eeaab3032b07d1a787 GIT binary patch literal 1542 zcmcgsOK%e~5FVGdn=FNvKHyL&rW8mx>|Qw0s!}OMMA`tN4~e7WSgFgdy|TSg^UIJx zf;&G7nDr*=LqQ1_4t|Zld3_ZW&kq;j;-Nw#-xhRSf9n(^kSV0WlbI% zk!vfRHiH;9u4jZrWS$EX^TIlv#ruBQONDW5;aHbB*7kq^W(h2Liz!pR_U4^^Bp%e8UT>laR@lrvR&?Fc&Jc?DSdV8{u>nF2ZF`yZiWo_>sX z>NI844RR6Iy~YI0p)*qTCV&!Y-2})qzCJL+vT5v$KKQ{o%kp&Gdt9bDjoB$MA=Kd3 z0^Ej00`oh=%2{h97qwF5YP+nZ#Y8IcuE;vV95E~p0?Uc!EInaHmgkYsiWEQgtHEo{ zi%clj>JnHVXEX5$+$IoKDs83)1Zbm@UrWe#tJO@(M?rl3Q1%pag~1q_6W}{TFT1F> z^|4S+W}>C~(n<{3r${(q_R2ExwQmUoiI=0oT%V-{ItdSTVYqlBOV%5IZA-pz39Pjg z*UDn7$o{Pqh8cc32;d)Q=3pMr0iK=@rQtWIeOeB`z`_rd&cG7RB?fTZ@shH|F2f3x i>ng0F{H~YZLksJEcOM?$3edoD8?`rp!X|9t{nI}h;N_SA literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/CustomClientMapper.class b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/CustomClientMapper.class new file mode 100644 index 0000000000000000000000000000000000000000..b0e4131ecbf2f98fe3c19a3b346aae3869edbd80 GIT binary patch literal 2932 zcmdT`QBM>x5S}8i+<}4!g2=;)h=6#DN_-GPf}rt|0}O{GKKAy?QQU1eZTI5+G82vZ z?vFA~cW>dqGaPy`;bFJi&NnmPw4I&#@$>UH09b()2YLwXXytn$<-$9rb?Qk~^JK(? zR*|PzBsDiuH9Y(^8>076jA>Jtuc27BPcW@D4a%6$Ra4D5fsu0X56Y|+7;5cAvOMyYtSb9 z7$N6Yo47})$3?+XEnLn+%9DqYRK`v8W5Wa2r^0%zFgJ_y?|_yJ#o&?m1twc)|0}fh z#M{_%jdZDN8WGFqQfN0oWuv&LU0|uiwYdP&5u^X=>@8I^ynuB_gt}&^Tie(*LR~X- zB_rFSrd@is=2<5j)Pb2Rxjh}_Mz& zAYL}Mq#uV^m@QHPU6;Abez?!_2h$cm!QHOIY8vW6L^Hf%LcS`1CVDJAR3 zxvx%x7zs{f+&2tXp-OC6MtwGu?6I^((MLQgR`GOfwrwhgZ#;mxc9bn*wUoRUve=e8 z0-lL#x;=%A;n;a`85t7Dmu0Mc_L|!pH}QKXm-IRW#*4z2LgT69&3JKy1fXxp8)oU*qs98FopV{ zALkCv7MrX2FEH?aH2(>PzT;{SjNsd10H2%5itRr~;TG6&491i3HcX&=GLhfG^(nY} vGM~n|dv1OYW=`byQ9gT4{-D(!GMh^*KZJQ40iNM=16eJ=BX|rR%AfoKoe8Ml literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/CustomClientMetadataMapper.class b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/CustomClientMetadataMapper.class new file mode 100644 index 0000000000000000000000000000000000000000..895952a577fc4b0b2f49aed69f6a6aee0e3ad09b GIT binary patch literal 2562 zcmdT`-A@xi5T8}x+FAuGJg6uKA{Nj)KX}m+56blg<1WegZ6l&?)yUAnM<4ou})6}J!))RyQ69i@wlO7c< z`=EKk98Dm%>3Cdly+z=9dG(0E#IAIi0eJ$`ee|AEQsv+Vnf&@mpj+v+nQJ=I54cA) zm%5bjCs%|<_h(=u;Ngy%XvuSPol-yWMxD=Kd|B*f!DJ%Q z(29#zCKh8rnJis>?i-9M=Xi%vF(&>jDcyEm{Px0sYBP)9t4v#_bIcNS2225RaI*-v zV4A?xX1CkVm23U}o<>uN`~P%}3$`EmO{NYhwsZoenslglL=}(MU11?)9ya4T6&(VL z<=V(kuu`qA*5a&I2;>{QC8&-RT3jE8-|X6}Y@z1z$4F@Iv#MzGkYfl5Wu}?hj$3td z|AYjLS|Ue<$u{*ObdyhGJP`OkKZCMVlS?J>R-TOAjc~sNcOge%oZ9lQVx5^ntd-RC?!INN`S@&z!@){E$ADbaic%lHI%g})L;^BA7M MDy+jZuo3g(FD<$^FaQ7m literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/CustomErrorTraceMapper.class b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/CustomErrorTraceMapper.class new file mode 100644 index 0000000000000000000000000000000000000000..55ba5dc5f93bdd8e5957a40468970be6b0734ff7 GIT binary patch literal 1377 zcmcgs-*3|}5I*l$+ED0L*aM7#>4vm{l)Ugnt4U}YqEZTIE0cJ1U90m*?8tVi^$$Zx zAi+C-6yoA_N`Z-u7ao%MF5i83pMAdXKR$m2fM@VHfCU1F*6=uEQpKli!eVX4vCf6E zCXbECwUthrX^aauHo_t@&xMJ3VV%z6eg8QyMw@|QT=f0l0G0@>db*UUar|a@D!3z1 z>+)18>GlXL?(7~DSlZVk5kQ?lvqF2e8r&cYAKxiVsndxVQLeLGrp!sLXm0c{6`6fb z!}{Pv(2?LNGYHBV|G>tAwoyeiQxR1vq6-z#xr*pqMVpSauvBSBGv@dSb;v2sa;$lt z6ZZ+@q>9Q?qkqeAUZ>1*Z5;LSg_9}eOqE%Of?nwS1z6@_s0qut26CqNKSF;$_e)Y! zrzxXunv1ZWNb9bERE$>u-!j9pD=-z=!5Pc)^s-%?ukSjX*T95OgPRSw1x*4g-C4h{ z?<7@+A2}n{xKrMMW+Ih%U1URH1`L~;Kr7LlrN_+3(w;d(D^hI7K2uWyn>)!L(mK7~ zZc=V=hd}*Ejumr-LAIxV!*=I*I(rzoeOM?bGtpBMX(guja)lG-McJtS_E`c!;{6z~ zJYi{pX~H927%pDQQo+XMQ^DUG0_#1+wX#^MQ0|o!h8cb`4PX;lDp>(MB(PT5vl9&9 z5l)uMeKBvgaF&$n2{iiBTHM_MwwzrdfTIS79l!#f$}+5=9ia7O<_*6KHt-9ujZXu)@52M2(1yjIkuI?` literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/CustomEventMapper.class b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/CustomEventMapper.class new file mode 100644 index 0000000000000000000000000000000000000000..549d81d3e24e0292024d2af717606e63b164a984 GIT binary patch literal 3207 zcmeHKTTc@~6h4E{rT(bcK~<>iyjOR*wiWvV#-BuK}kgQba{H*xEf{p&^i2 z4kIqOSs`#CKfgm@a7|X22g3wLJLnCiq{_f0;>~^#IGT*=tm20k!+>KbQ zpZnS2?S1A~SQt@-poE5>XqEXn6i{dhD0BoA+5!qq0fnZ3oL`Yl`$8H&rY79?4aQ`j z6XcwZiBp7rTof$T!pTNx^5k(MmGPZ_&G5(%sj#E&GQX|!bU;gnqIl$eOvn`NvqDn~ z-X)Z8q)&a*NLY5*A^U(S8^uNSm_Q}2%`uQ(_?+ih@2H~jF`Rqi)3-ohvf4$D>TIglH&h@BfAp@63;0lZq7+P*+*NJ?olTVv;mTbNqEpfr# z*5X~Jwkf7i0^=na(rAY&ZtYg%6c?H)Q)UsSKwf7rM5WA3u|go5FS*NeX}*ZQ+5uJ@ z>oTmxnEfqcrrXdhr<6;vf_T2inIdqrtBc*zO9Y0?yeg=vDI`1lSKxAMgcbCdZqw?F zv9-62iHN{LmjGR6s?-{L@dWTRgSq!L6c@9isB_J6Ufr%?hN%}e-@7746Yxr|9VuU| z)2N30a&79XRI?3?VH(BCniL^R3@(Db2nf9CiPceACF{P_e9pHemirbgJpuV{I#57M z3d+XSx3wREl~WQpRPgFd0n)6e+N?V>zSCTnY+2S+$X;@LWG0W)yRIT6Fi{kt6dLy} zs(X!Fo2qcX;lTqebnV=G@DP{UogWVZ0+-xpyJUWhD7)`Gc=|{2+&sPnMmD+DSpL|Z ztcM6-4UGjn;PKDEMHoWcL+gI4HTw-RAIGy_VB`n34!{^bEe7y+)wS3feH^ZVeP4$O z_nw3)?4Nf1H?aLC%pBUc(Dvc>p`Al}7UmA^J80ichGxPh;_n!dp23{v%gutnB=xi^ zJKXi((sb&i#%YDy4$}zonEi!SIbA^`xt5V!*GR5yB-b>OYZ_Uh6~%ojm7y*(c8wbB zlV5nKxwlUoDr_fYE|i-4KZd4G;d)9N8nq9MaH!2>$Xe#K?XwRUaxnCSa$+D`es2&u zVCo03Q==%Ors45)DrzwVQ!-k}>JU&t_+|(s4p*Op{R`%L&Y-dGwQx<$ADL!u90%>K z6;EB9ZsTBX&}AGsaWFS1Io1-5qxqUJX-LBDNtl9Z0^?h)61$KobclApi!g2{eePfd+-vuC-2qy~BsgkHlW&({0)~^I_wHUUs)nb?9lQ6Yo^>tSTvf>k*JoV&cz_X@$Q&GWWzBb^UIm$<9qq`<3D#8tj|R+3FT>hZ-+MXJB^79!zZc=U zSi1CtkIp~>3wdcP>EnFj`uHHYX4Sq_uzgfet_{3JnqC4<7HUs#7~fMHEQ`3*6n|p32$%o> literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/CustomMultiMediaMapper.class b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/CustomMultiMediaMapper.class new file mode 100644 index 0000000000000000000000000000000000000000..4ec56148c129fa06fc5b522b061b4ba27cdfb962 GIT binary patch literal 1377 zcmcgsO>fjN5FPg`yJ4Xp&;yi$*%qkQxU1O7yC~0n9O2s_0Uohw+>KDN4_v zu_IHZmEUDByS07HU~bP0Fn}h5#TvbDt+5Tb!Dc?b)0EPrBOGvPvRtLYE2DXCO+UrV zJ?CNb=mhxyWhyLzav?v6A@Vkl&OO5_5!=z4?<;Hqm#TQTp#e8ra0?b0EbL7C zeRV6TJN(dFrH7sJ1}r8@sy6cqIZb_dX_6sIm%YxHraP7dzB*ZR;zokMqhwUdRoMNA07aQHq8D6F7B|J literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/CustomReportMapper.class b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/CustomReportMapper.class new file mode 100644 index 0000000000000000000000000000000000000000..c9b301d493803a810c80ca1ffb8beda02c7c5f9f GIT binary patch literal 1385 zcmbtUQBTxB5S~S#cgHD+A`hajCnEUJzW5}B1c}Bb1r3KJKJK;SvDof5yW5NRU;G~? zn&`Vf$~bNB0z~4S@uA(_={MiZH=UiIzrKD4fM@W;gBb>g*2F<3qzcZ&Km^+K1D&I? zCJzke+DfO*Frba=8?=PXb2LF*Sf{gKzgmt6XWT*c#e-P}OBGcrR6lsrJHyy9XzawP zRMPD-xVE`5)t>;GhG+^*3mR~}4L4ws!Tipstyeaq^G2?- z*)AJ>F_H=oi>!y{SWxdWSdMfo(i351c^(;8rLt&T7gOpzIlw)YbkT(ggN4nguG02a zNY1uGycmWFDknckGz`|Rh#iJoQTYS588o}HuY@ZM1>g7!bY~oBmz>s*3gXW&R0C-x zC0Z2*9h$webF1rU8F*1;Cx^L#NDGS4>gvM8_)3;qSN|Ll)g@xE5~^4$OBs@m*Ca!j z_;l#O1DXwG-X1)p>ek9Vc*LMx@5giI@ufLa7o0!`(pqYSW9m{n&w$1a4LhKB1Lk0! z&K{kfj;yV3(0ISx`U34AWSxN}dY2fW=VoOo$JsL6f^xkLD`dY@*;k3-Znay3d$a;< P(9@ z$hDPDn|_QN*EPZ-GS7vHd10N-;{9?tM4WLg;aG<`)+!MJ%n(>AO{PqBESBZjZopWBZiA%)ai30O|x5FVP3aXj6k*WP18UpqlKkPJDM@a&!|J2;v&bG zuiC_1p`KKc4>kHX4^^Bp^SPp>e&J+FIaA(iThJlTYe4UVAtwxH0_1@2e}s;D`w{M` z)09!y&qY|TRK|dgoRO+K29!wa#y}==_K6vmO=M{J$qz1AmZziM`s6Qp$50- zVF4Bi%_KwmJ`icddiIS=b_Mw6hHTy{#(t9 zOeojv5Lg>!GpSOzLm;elT1@o`Y%~TJH&U|GY;Gt1VNjudB)f{a!eA6H#^HB|j`mP< z>#$HxW}>Nj(n<`wOp|cJy!Pc%_5e#DNJ=>>%=TDXpqubW7lw;>(lcNGdw(h`n80dN zajh(diz#?7g<*!D^#fSP#^gx^uz@+RG7!LHRH*hhNC)tQz{>TjVIO>Utq)c&MPR-q zt;HXHj3r^`2w*$JrVKdOU>4@^9N_8sKpK9B+UMo)E6o2y=@cyC>@k4jPAT#2b{X!1 jUsqri<@ZYYeYEhP+^xYwTmc$57Et>UP}qbmynp%!!AI*_ literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/CustomStockMapper.class b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/CustomStockMapper.class new file mode 100644 index 0000000000000000000000000000000000000000..d070b11b8413bf54cc70ffbeb7f061cb9934bd79 GIT binary patch literal 864 zcmb7CO>Yx15FIydcC!tn1k&<#uzE^4>|Qw03JFypA|-H0sKn9njuN-Kwq-jJ`DI8T z!JQw4nBAmGBoI;$UVCPrpXa@qU%$Wo0Dzb9Jc2z2BkyEZ3Z=7au@sqcv&>l3-r3Bd zHC_edRv8__%%LZwwdgXr@WGVXWxb7qkvF6IM+Ex}j%ubt=vnr0dW|wLh%aQJvt(rHy{ zdbbzWb*j=D7x>OqE`_e%og%+gdMD_P>HnbO!EnLD%3{*0k^jde5W~GT+=mW>=EbH_ zz5a09nsIPS&(5pXb%sjghebI>Hxbkg2Hl~NqPP-HRq-ZyqO?aB##oS>YKd=jKE^P} z86^E-UDNs5fP%4EIEn96MRfevK-HEr=nb?q+AAMWhxZDdaB{wi;4y=Pnk#~*3=Vfp zVbC5a@2Thsx!{`&X!L0A0rp7j0W>L&D0;EUCf_0c+)chh`)7?gqHl!(S`X?>HQHTx YNaqGTsxv(}rXAoJt(dYW@B|uv0CYx15FJC)O+uliUmRMBDJ>+>?t+9kkg5_bMMO#fk+u>?XJb;gyY|ZKM9nWl z0txQ?D8#IjG-(NBd#O0=$Bdsn?|JO8fByRV9RQxgGY75_IEc0Hg-l5An6;UwbkkE2 zm$8mK%_9{Hqjbl^AJf!4Mr0Im?fI?PsLDS_FF@>y`mv`Fl}Gv)zS!JW=)<+nmEO}Rl}Y1Eh%yM;;w z^4%^~COZUZq3ge}B}(OTv63Vf@wu94N@iLbITXjhw|Y^wvESOqmNX*dW!V<7K*}~B z+;IIWsj2p$hzU3q>&Fh6HVayb(7vW}0|klCf@=cHBQy<>T>nS&Fsa3X_?^yRB@x){ zDI54oeoHn7XNsX z0A3OBo&u1;Wu1XZv>mh__q_RUko`29{{mA#(0dJL@SR`)pWD`xTtQ}G4wCOYETDhU r`tP8<1j}dkU9?x=-kD7?!hMTeg$MWrc#6*qMqh)6P(TJ7h;V-c;fwi{ literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/CustomViewConfigurationMapper.class b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/CustomViewConfigurationMapper.class new file mode 100644 index 0000000000000000000000000000000000000000..8d537f1d8767cfd839365785b3de3069f2b91f23 GIT binary patch literal 948 zcmb7DO>Yx15FIxqn=FB}fi!#_tejE~yBAKhLP8OUNGTi=BK7Dv!^Z8dy|SG^{s4ao z2_(4lqY$&3RH+oG)Pq0f>3L?}%=q`8?>_rS7{l9=hjS9 z%-l;J*2iYM9PJ{6bbS!iHSC1qOF+dN=&pC6RpK``OKi>+IXG`FX!BoPyCWo z&ewfXx#*qJQITqNy9nz%RhAp;`L(B93SGpVBEM34E9!q5@DI1#8!otCAx$q^-- literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/CustomViewConfigurationMetadataMapper.class b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/CustomViewConfigurationMetadataMapper.class new file mode 100644 index 0000000000000000000000000000000000000000..238a0a962f5db6681587f3c024ddfec9947bea0f GIT binary patch literal 1698 zcmcgtOK;Oa5T5PJi7E5}J@D*O3Qa3yUpSGfQYl45N&wMPiQ{IoxLfR9Yj+)*Uxow{ z-1$+6v6H9|2a;Ym_%V}jX1;H-Gye7a+YbPE2AdvC5n$HvFkw=KC#=gtZK6=8LRpiB zMx@$Gr%f-!7Z({}5t*jKggmoOC*fZ4IFjPao>re^lo{rvRxROJhdI_Nz#hyHSS+%~ zOhw___KDz*KxLc9Qc1T%V7j(>L||r5cZ3I30t;v8ePgt#z%?=*eo)9j$6e8(TqmiF zi()i2x*dzeKBs>5@L14};4w1@N*VvmB0<+sR4@<~oQVpCqJqAtpf75TcC@fmX-5<0 z_%U^uQ=F#A`Fu`n8^%c$p-xjqT`v`WwJEI|11S|4gMY^iOU7VIIfrL=|CA+ZJgU{_Sx-`85=@E4 z7}^KUNEQ7XIS?c-hEi|PPZ?dE<%pt>ZBCy=loW)1X z$lM+{eJf%dgcegh0#9qr67Ngxt2Y{(&HS&e6Q~}@NHLcgOul=C(Cu=S`VQt>f1fEQ z6VXszX(e(j8ZDeKyZIay%fS-xnuQ+&X1grTa%FuHFM2OE&k~_rqeEb0RAWX|Cg30F z%y98a=3UyFXayEag1|~cajh)21B+dmgOf?#r9x!9xN|rJj25hyX3QFSXi( z#{^dYiW=_XjSIWDe*y^1x1_arq7HEu?HmDI$@q-`yjNfr=Fs-g+8TKM?@;-;?0<#% zpXi-}MZD)2z-y`S + + + + + + insert into core.action + + + id, + + + json, + + + + + #{id,jdbcType=BIGINT}, + + + #{json,jdbcType=OTHER,typeHandler=org.opensrp.repository.postgres.handler.ActionTypeHandler}, + + + + + + \ No newline at end of file diff --git a/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/xml/CustomActionMetadataMapper.xml b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/xml/CustomActionMetadataMapper.xml new file mode 100644 index 0000000000..4d9251a61f --- /dev/null +++ b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/xml/CustomActionMetadataMapper.xml @@ -0,0 +1,92 @@ + + + + + + a.id, a.json + + + + + + + + + + + + + + and am.${criterion.condition} + + + and am.${criterion.condition} #{criterion.value} + + + and am.${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and am.${criterion.condition} + + #{listItem} + + + + + + + + + + + + + + \ No newline at end of file diff --git a/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/xml/CustomAlertMapper.xml b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/xml/CustomAlertMapper.xml new file mode 100644 index 0000000000..eeba8c44ea --- /dev/null +++ b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/xml/CustomAlertMapper.xml @@ -0,0 +1,25 @@ + + + + + insert into core.alert + + + id, + + + json, + + + + + #{id,jdbcType=BIGINT}, + + + #{json,jdbcType=OTHER,typeHandler=org.opensrp.repository.postgres.handler.AlertTypeHandler}, + + + + \ No newline at end of file diff --git a/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/xml/CustomAlertMetadataMapper.xml b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/xml/CustomAlertMetadataMapper.xml new file mode 100644 index 0000000000..7bb6bbcd6a --- /dev/null +++ b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/xml/CustomAlertMetadataMapper.xml @@ -0,0 +1,68 @@ + + + + + + a.id, a.json + + + + + + + + + + + + + + and am.${criterion.condition} + + + and am.${criterion.condition} #{criterion.value} + + + and am.${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and am.${criterion.condition} + + #{listItem} + + + + + + + + + + + + \ No newline at end of file diff --git a/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/xml/CustomClientMapper.xml b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/xml/CustomClientMapper.xml new file mode 100644 index 0000000000..c49e72b5c6 --- /dev/null +++ b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/xml/CustomClientMapper.xml @@ -0,0 +1,96 @@ + + + + + + insert into core.client + + + id, + + + json, + + + + + #{id,jdbcType=BIGINT}, + + + #{json,jdbcType=OTHER,typeHandler=org.opensrp.repository.postgres.handler.ClientTypeHandler}, + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/xml/CustomClientMetadataMapper.xml b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/xml/CustomClientMetadataMapper.xml new file mode 100644 index 0000000000..aee75c88ff --- /dev/null +++ b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/xml/CustomClientMetadataMapper.xml @@ -0,0 +1,190 @@ + + + + + + c.id, c.json + + + + from core.client_metadata cm + join core.client c on cm.client_id = c.id + + + + + + + + + + + and cm.${criterion.condition} + + + and cm.${criterion.condition} #{criterion.value} + + + and cm.${criterion.condition} #{criterion.value} + and + #{criterion.secondValue} + + + and cm.${criterion.condition} + + #{listItem} + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/xml/CustomErrorTraceMapper.xml b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/xml/CustomErrorTraceMapper.xml new file mode 100644 index 0000000000..c54e82f5cd --- /dev/null +++ b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/xml/CustomErrorTraceMapper.xml @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + + \ No newline at end of file diff --git a/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/xml/CustomEventMapper.xml b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/xml/CustomEventMapper.xml new file mode 100644 index 0000000000..8486415755 --- /dev/null +++ b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/xml/CustomEventMapper.xml @@ -0,0 +1,111 @@ + + + + + + + + + + + id, json + + + + + + + insert into core.event + + + id, + + + json, + + + + + #{id,jdbcType=BIGINT}, + + + #{json,jdbcType=OTHER,typeHandler=org.opensrp.repository.postgres.handler.EventTypeHandler}, + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/xml/CustomEventMetadataMapper.xml b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/xml/CustomEventMetadataMapper.xml new file mode 100644 index 0000000000..cd8ff0aead --- /dev/null +++ b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/xml/CustomEventMetadataMapper.xml @@ -0,0 +1,154 @@ + + + + + + + + + + + e.id, e.json + + + + + + + + + + + and em.${criterion.condition} + + + and em.${criterion.condition} #{criterion.value} + + + and em.${criterion.condition} #{criterion.value} + and + #{criterion.secondValue} + + + and em.${criterion.condition} + + #{listItem} + + + + + + + + + + + + + + + + + + + and em.${criterion.condition} + + + and em.${criterion.condition} #{criterion.value} + + + and em.${criterion.condition} #{criterion.value} + and + #{criterion.secondValue} + + + and em.${criterion.condition} + + #{listItem} + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/xml/CustomMultiMediaMapper.xml b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/xml/CustomMultiMediaMapper.xml new file mode 100644 index 0000000000..ed9ac78ade --- /dev/null +++ b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/xml/CustomMultiMediaMapper.xml @@ -0,0 +1,56 @@ + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} + and + #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + + \ No newline at end of file diff --git a/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/xml/CustomReportMapper.xml b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/xml/CustomReportMapper.xml new file mode 100644 index 0000000000..d40324007b --- /dev/null +++ b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/xml/CustomReportMapper.xml @@ -0,0 +1,39 @@ + + + + + insert into core.report + + + id, + + + json, + + + + + #{id,jdbcType=BIGINT}, + + + #{json,jdbcType=OTHER,typeHandler=org.opensrp.repository.postgres.handler.ReportTypeHandler}, + + + + + + \ No newline at end of file diff --git a/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/xml/CustomReportMetadataMapper.xml b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/xml/CustomReportMetadataMapper.xml new file mode 100644 index 0000000000..a25aa82062 --- /dev/null +++ b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/xml/CustomReportMetadataMapper.xml @@ -0,0 +1,72 @@ + + + + + + r.id, r.json + + + + from core.report_metadata rm + join core.report r on rm.report_id = r.id + + + + + + + + + + + + + + and rm.${criterion.condition} + + + and rm.${criterion.condition} #{criterion.value} + + + and rm.${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and rm.${criterion.condition} + + #{listItem} + + + + + + + + + + + + + \ No newline at end of file diff --git a/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/xml/CustomStockMapper.xml b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/xml/CustomStockMapper.xml new file mode 100644 index 0000000000..7e0b6a6442 --- /dev/null +++ b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/xml/CustomStockMapper.xml @@ -0,0 +1,26 @@ + + + + + + insert into core.stock + + + id, + + + json, + + + + + #{id,jdbcType=BIGINT}, + + + #{json,jdbcType=OTHER,typeHandler=org.opensrp.repository.postgres.handler.StockTypeHandler}, + + + + \ No newline at end of file diff --git a/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/xml/CustomStockMetadataMapper.xml b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/xml/CustomStockMetadataMapper.xml new file mode 100644 index 0000000000..92371b5828 --- /dev/null +++ b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/xml/CustomStockMetadataMapper.xml @@ -0,0 +1,129 @@ + + + + + + s.id, s.json + + + + from core.stock_metadata sm + join core.stock s on sm.stock_id + = s.id + + + + + + + + + + + + + and sm.${criterion.condition} + + + and sm.${criterion.condition} #{criterion.value} + + + and sm.${criterion.condition} #{criterion.value} and + #{criterion.secondValue} + + + and sm.${criterion.condition} + + #{listItem} + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/xml/CustomViewConfigurationMapper.xml b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/xml/CustomViewConfigurationMapper.xml new file mode 100644 index 0000000000..40d9d414e8 --- /dev/null +++ b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/xml/CustomViewConfigurationMapper.xml @@ -0,0 +1,26 @@ + + + + + + insert into core.view_configuration + + + id, + + + json, + + + + + #{id,jdbcType=BIGINT}, + + + #{json,jdbcType=OTHER,typeHandler=org.opensrp.repository.postgres.handler.ViewConfigurationTypeHandler}, + + + + \ No newline at end of file diff --git a/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/xml/CustomViewConfigurationMetadataMapper.xml b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/xml/CustomViewConfigurationMetadataMapper.xml new file mode 100644 index 0000000000..7de779bcd1 --- /dev/null +++ b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/custom/xml/CustomViewConfigurationMetadataMapper.xml @@ -0,0 +1,72 @@ + + + + + + v.id, v.json + + + + from core.view_configuration_metadata m + join + core.view_configuration v on m.view_configuration_id = v.id + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and + #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + + \ No newline at end of file diff --git a/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/xml/ActionMapper.xml b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/xml/ActionMapper.xml new file mode 100644 index 0000000000..5487c07a1d --- /dev/null +++ b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/xml/ActionMapper.xml @@ -0,0 +1,279 @@ + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value,typeHandler=org.opensrp.repository.postgres.handler.ActionTypeHandler} + + + and ${criterion.condition} #{criterion.value,typeHandler=org.opensrp.repository.postgres.handler.ActionTypeHandler} and #{criterion.secondValue,typeHandler=org.opensrp.repository.postgres.handler.ActionTypeHandler} + + + and ${criterion.condition} + + #{listItem,typeHandler=org.opensrp.repository.postgres.handler.ActionTypeHandler} + + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value,typeHandler=org.opensrp.repository.postgres.handler.ActionTypeHandler} + + + and ${criterion.condition} #{criterion.value,typeHandler=org.opensrp.repository.postgres.handler.ActionTypeHandler} and #{criterion.secondValue,typeHandler=org.opensrp.repository.postgres.handler.ActionTypeHandler} + + + and ${criterion.condition} + + #{listItem,typeHandler=org.opensrp.repository.postgres.handler.ActionTypeHandler} + + + + + + + + + + + + id, json + + + + + + delete from core.action + where id = #{id,jdbcType=BIGINT} + + + + delete from core.action + + + + + + + insert into core.action (id, json + ) + values (#{id,jdbcType=BIGINT}, #{json,jdbcType=OTHER,typeHandler=org.opensrp.repository.postgres.handler.ActionTypeHandler} + ) + + + + insert into core.action + + + id, + + + json, + + + + + #{id,jdbcType=BIGINT}, + + + #{json,jdbcType=OTHER,typeHandler=org.opensrp.repository.postgres.handler.ActionTypeHandler}, + + + + + + + update core.action + + + id = #{record.id,jdbcType=BIGINT}, + + + json = #{record.json,jdbcType=OTHER,typeHandler=org.opensrp.repository.postgres.handler.ActionTypeHandler}, + + + + + + + + + update core.action + set id = #{record.id,jdbcType=BIGINT}, + json = #{record.json,jdbcType=OTHER,typeHandler=org.opensrp.repository.postgres.handler.ActionTypeHandler} + + + + + + + update core.action + + + json = #{json,jdbcType=OTHER,typeHandler=org.opensrp.repository.postgres.handler.ActionTypeHandler}, + + + where id = #{id,jdbcType=BIGINT} + + + + update core.action + set json = #{json,jdbcType=OTHER,typeHandler=org.opensrp.repository.postgres.handler.ActionTypeHandler} + where id = #{id,jdbcType=BIGINT} + + \ No newline at end of file diff --git a/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/xml/ActionMetadataMapper.xml b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/xml/ActionMetadataMapper.xml new file mode 100644 index 0000000000..564024e259 --- /dev/null +++ b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/xml/ActionMetadataMapper.xml @@ -0,0 +1,351 @@ + + + + + + + + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + + id, action_id, document_id, base_entity_id, server_version, provider_id, location_id, + team, team_id + + + + + + delete from core.action_metadata + where id = #{id,jdbcType=BIGINT} + + + + delete from core.action_metadata + + + + + + + insert into core.action_metadata (id, action_id, document_id, + base_entity_id, server_version, provider_id, + location_id, team, team_id + ) + values (#{id,jdbcType=BIGINT}, #{actionId,jdbcType=BIGINT}, #{documentId,jdbcType=VARCHAR}, + #{baseEntityId,jdbcType=VARCHAR}, #{serverVersion,jdbcType=BIGINT}, #{providerId,jdbcType=VARCHAR}, + #{locationId,jdbcType=VARCHAR}, #{team,jdbcType=VARCHAR}, #{teamId,jdbcType=VARCHAR} + ) + + + + insert into core.action_metadata + + + id, + + + action_id, + + + document_id, + + + base_entity_id, + + + server_version, + + + provider_id, + + + location_id, + + + team, + + + team_id, + + + + + #{id,jdbcType=BIGINT}, + + + #{actionId,jdbcType=BIGINT}, + + + #{documentId,jdbcType=VARCHAR}, + + + #{baseEntityId,jdbcType=VARCHAR}, + + + #{serverVersion,jdbcType=BIGINT}, + + + #{providerId,jdbcType=VARCHAR}, + + + #{locationId,jdbcType=VARCHAR}, + + + #{team,jdbcType=VARCHAR}, + + + #{teamId,jdbcType=VARCHAR}, + + + + + + + update core.action_metadata + + + id = #{record.id,jdbcType=BIGINT}, + + + action_id = #{record.actionId,jdbcType=BIGINT}, + + + document_id = #{record.documentId,jdbcType=VARCHAR}, + + + base_entity_id = #{record.baseEntityId,jdbcType=VARCHAR}, + + + server_version = #{record.serverVersion,jdbcType=BIGINT}, + + + provider_id = #{record.providerId,jdbcType=VARCHAR}, + + + location_id = #{record.locationId,jdbcType=VARCHAR}, + + + team = #{record.team,jdbcType=VARCHAR}, + + + team_id = #{record.teamId,jdbcType=VARCHAR}, + + + + + + + + + update core.action_metadata + set id = #{record.id,jdbcType=BIGINT}, + action_id = #{record.actionId,jdbcType=BIGINT}, + document_id = #{record.documentId,jdbcType=VARCHAR}, + base_entity_id = #{record.baseEntityId,jdbcType=VARCHAR}, + server_version = #{record.serverVersion,jdbcType=BIGINT}, + provider_id = #{record.providerId,jdbcType=VARCHAR}, + location_id = #{record.locationId,jdbcType=VARCHAR}, + team = #{record.team,jdbcType=VARCHAR}, + team_id = #{record.teamId,jdbcType=VARCHAR} + + + + + + + update core.action_metadata + + + action_id = #{actionId,jdbcType=BIGINT}, + + + document_id = #{documentId,jdbcType=VARCHAR}, + + + base_entity_id = #{baseEntityId,jdbcType=VARCHAR}, + + + server_version = #{serverVersion,jdbcType=BIGINT}, + + + provider_id = #{providerId,jdbcType=VARCHAR}, + + + location_id = #{locationId,jdbcType=VARCHAR}, + + + team = #{team,jdbcType=VARCHAR}, + + + team_id = #{teamId,jdbcType=VARCHAR}, + + + where id = #{id,jdbcType=BIGINT} + + + + update core.action_metadata + set action_id = #{actionId,jdbcType=BIGINT}, + document_id = #{documentId,jdbcType=VARCHAR}, + base_entity_id = #{baseEntityId,jdbcType=VARCHAR}, + server_version = #{serverVersion,jdbcType=BIGINT}, + provider_id = #{providerId,jdbcType=VARCHAR}, + location_id = #{locationId,jdbcType=VARCHAR}, + team = #{team,jdbcType=VARCHAR}, + team_id = #{teamId,jdbcType=VARCHAR} + where id = #{id,jdbcType=BIGINT} + + \ No newline at end of file diff --git a/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/xml/AlertMapper.xml b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/xml/AlertMapper.xml new file mode 100644 index 0000000000..1c9e81f937 --- /dev/null +++ b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/xml/AlertMapper.xml @@ -0,0 +1,279 @@ + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value,typeHandler=org.opensrp.repository.postgres.handler.AlertTypeHandler} + + + and ${criterion.condition} #{criterion.value,typeHandler=org.opensrp.repository.postgres.handler.AlertTypeHandler} and #{criterion.secondValue,typeHandler=org.opensrp.repository.postgres.handler.AlertTypeHandler} + + + and ${criterion.condition} + + #{listItem,typeHandler=org.opensrp.repository.postgres.handler.AlertTypeHandler} + + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value,typeHandler=org.opensrp.repository.postgres.handler.AlertTypeHandler} + + + and ${criterion.condition} #{criterion.value,typeHandler=org.opensrp.repository.postgres.handler.AlertTypeHandler} and #{criterion.secondValue,typeHandler=org.opensrp.repository.postgres.handler.AlertTypeHandler} + + + and ${criterion.condition} + + #{listItem,typeHandler=org.opensrp.repository.postgres.handler.AlertTypeHandler} + + + + + + + + + + + + id, json + + + + + + delete from core.alert + where id = #{id,jdbcType=BIGINT} + + + + delete from core.alert + + + + + + + insert into core.alert (id, json + ) + values (#{id,jdbcType=BIGINT}, #{json,jdbcType=OTHER,typeHandler=org.opensrp.repository.postgres.handler.AlertTypeHandler} + ) + + + + insert into core.alert + + + id, + + + json, + + + + + #{id,jdbcType=BIGINT}, + + + #{json,jdbcType=OTHER,typeHandler=org.opensrp.repository.postgres.handler.AlertTypeHandler}, + + + + + + + update core.alert + + + id = #{record.id,jdbcType=BIGINT}, + + + json = #{record.json,jdbcType=OTHER,typeHandler=org.opensrp.repository.postgres.handler.AlertTypeHandler}, + + + + + + + + + update core.alert + set id = #{record.id,jdbcType=BIGINT}, + json = #{record.json,jdbcType=OTHER,typeHandler=org.opensrp.repository.postgres.handler.AlertTypeHandler} + + + + + + + update core.alert + + + json = #{json,jdbcType=OTHER,typeHandler=org.opensrp.repository.postgres.handler.AlertTypeHandler}, + + + where id = #{id,jdbcType=BIGINT} + + + + update core.alert + set json = #{json,jdbcType=OTHER,typeHandler=org.opensrp.repository.postgres.handler.AlertTypeHandler} + where id = #{id,jdbcType=BIGINT} + + \ No newline at end of file diff --git a/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/xml/AlertMetadataMapper.xml b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/xml/AlertMetadataMapper.xml new file mode 100644 index 0000000000..84ce1ac437 --- /dev/null +++ b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/xml/AlertMetadataMapper.xml @@ -0,0 +1,381 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + + id, alert_id, document_id, base_entity_id, server_version, provider_id, location_id, + team, team_id, is_active, trigger_name + + + + + + delete from core.alert_metadata + where id = #{id,jdbcType=BIGINT} + + + + delete from core.alert_metadata + + + + + + + insert into core.alert_metadata (id, alert_id, document_id, + base_entity_id, server_version, provider_id, + location_id, team, team_id, + is_active, trigger_name) + values (#{id,jdbcType=BIGINT}, #{alertId,jdbcType=BIGINT}, #{documentId,jdbcType=VARCHAR}, + #{baseEntityId,jdbcType=VARCHAR}, #{serverVersion,jdbcType=BIGINT}, #{providerId,jdbcType=VARCHAR}, + #{locationId,jdbcType=VARCHAR}, #{team,jdbcType=VARCHAR}, #{teamId,jdbcType=VARCHAR}, + #{isActive,jdbcType=BIT}, #{triggerName,jdbcType=VARCHAR}) + + + + insert into core.alert_metadata + + + id, + + + alert_id, + + + document_id, + + + base_entity_id, + + + server_version, + + + provider_id, + + + location_id, + + + team, + + + team_id, + + + is_active, + + + trigger_name, + + + + + #{id,jdbcType=BIGINT}, + + + #{alertId,jdbcType=BIGINT}, + + + #{documentId,jdbcType=VARCHAR}, + + + #{baseEntityId,jdbcType=VARCHAR}, + + + #{serverVersion,jdbcType=BIGINT}, + + + #{providerId,jdbcType=VARCHAR}, + + + #{locationId,jdbcType=VARCHAR}, + + + #{team,jdbcType=VARCHAR}, + + + #{teamId,jdbcType=VARCHAR}, + + + #{isActive,jdbcType=BIT}, + + + #{triggerName,jdbcType=VARCHAR}, + + + + + + + update core.alert_metadata + + + id = #{record.id,jdbcType=BIGINT}, + + + alert_id = #{record.alertId,jdbcType=BIGINT}, + + + document_id = #{record.documentId,jdbcType=VARCHAR}, + + + base_entity_id = #{record.baseEntityId,jdbcType=VARCHAR}, + + + server_version = #{record.serverVersion,jdbcType=BIGINT}, + + + provider_id = #{record.providerId,jdbcType=VARCHAR}, + + + location_id = #{record.locationId,jdbcType=VARCHAR}, + + + team = #{record.team,jdbcType=VARCHAR}, + + + team_id = #{record.teamId,jdbcType=VARCHAR}, + + + is_active = #{record.isActive,jdbcType=BIT}, + + + trigger_name = #{record.triggerName,jdbcType=VARCHAR}, + + + + + + + + + update core.alert_metadata + set id = #{record.id,jdbcType=BIGINT}, + alert_id = #{record.alertId,jdbcType=BIGINT}, + document_id = #{record.documentId,jdbcType=VARCHAR}, + base_entity_id = #{record.baseEntityId,jdbcType=VARCHAR}, + server_version = #{record.serverVersion,jdbcType=BIGINT}, + provider_id = #{record.providerId,jdbcType=VARCHAR}, + location_id = #{record.locationId,jdbcType=VARCHAR}, + team = #{record.team,jdbcType=VARCHAR}, + team_id = #{record.teamId,jdbcType=VARCHAR}, + is_active = #{record.isActive,jdbcType=BIT}, + trigger_name = #{record.triggerName,jdbcType=VARCHAR} + + + + + + + update core.alert_metadata + + + alert_id = #{alertId,jdbcType=BIGINT}, + + + document_id = #{documentId,jdbcType=VARCHAR}, + + + base_entity_id = #{baseEntityId,jdbcType=VARCHAR}, + + + server_version = #{serverVersion,jdbcType=BIGINT}, + + + provider_id = #{providerId,jdbcType=VARCHAR}, + + + location_id = #{locationId,jdbcType=VARCHAR}, + + + team = #{team,jdbcType=VARCHAR}, + + + team_id = #{teamId,jdbcType=VARCHAR}, + + + is_active = #{isActive,jdbcType=BIT}, + + + trigger_name = #{triggerName,jdbcType=VARCHAR}, + + + where id = #{id,jdbcType=BIGINT} + + + + update core.alert_metadata + set alert_id = #{alertId,jdbcType=BIGINT}, + document_id = #{documentId,jdbcType=VARCHAR}, + base_entity_id = #{baseEntityId,jdbcType=VARCHAR}, + server_version = #{serverVersion,jdbcType=BIGINT}, + provider_id = #{providerId,jdbcType=VARCHAR}, + location_id = #{locationId,jdbcType=VARCHAR}, + team = #{team,jdbcType=VARCHAR}, + team_id = #{teamId,jdbcType=VARCHAR}, + is_active = #{isActive,jdbcType=BIT}, + trigger_name = #{triggerName,jdbcType=VARCHAR} + where id = #{id,jdbcType=BIGINT} + + \ No newline at end of file diff --git a/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/xml/AppStateTokenMapper.xml b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/xml/AppStateTokenMapper.xml new file mode 100644 index 0000000000..16f92d7bfc --- /dev/null +++ b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/xml/AppStateTokenMapper.xml @@ -0,0 +1,305 @@ + + + + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + + id, name, description, value, last_edited_date + + + + + + delete from core.app_state_token + where id = #{id,jdbcType=BIGINT} + + + + delete from core.app_state_token + + + + + + + insert into core.app_state_token (id, name, description, + value, last_edited_date) + values (#{id,jdbcType=BIGINT}, #{name,jdbcType=VARCHAR}, #{description,jdbcType=VARCHAR}, + #{value,jdbcType=VARCHAR}, #{lastEditedDate,jdbcType=BIGINT}) + + + + insert into core.app_state_token + + + id, + + + name, + + + description, + + + value, + + + last_edited_date, + + + + + #{id,jdbcType=BIGINT}, + + + #{name,jdbcType=VARCHAR}, + + + #{description,jdbcType=VARCHAR}, + + + #{value,jdbcType=VARCHAR}, + + + #{lastEditedDate,jdbcType=BIGINT}, + + + + + + + update core.app_state_token + + + id = #{record.id,jdbcType=BIGINT}, + + + name = #{record.name,jdbcType=VARCHAR}, + + + description = #{record.description,jdbcType=VARCHAR}, + + + value = #{record.value,jdbcType=VARCHAR}, + + + last_edited_date = #{record.lastEditedDate,jdbcType=BIGINT}, + + + + + + + + + update core.app_state_token + set id = #{record.id,jdbcType=BIGINT}, + name = #{record.name,jdbcType=VARCHAR}, + description = #{record.description,jdbcType=VARCHAR}, + value = #{record.value,jdbcType=VARCHAR}, + last_edited_date = #{record.lastEditedDate,jdbcType=BIGINT} + + + + + + + update core.app_state_token + + + name = #{name,jdbcType=VARCHAR}, + + + description = #{description,jdbcType=VARCHAR}, + + + value = #{value,jdbcType=VARCHAR}, + + + last_edited_date = #{lastEditedDate,jdbcType=BIGINT}, + + + where id = #{id,jdbcType=BIGINT} + + + + update core.app_state_token + set name = #{name,jdbcType=VARCHAR}, + description = #{description,jdbcType=VARCHAR}, + value = #{value,jdbcType=VARCHAR}, + last_edited_date = #{lastEditedDate,jdbcType=BIGINT} + where id = #{id,jdbcType=BIGINT} + + + \ No newline at end of file diff --git a/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/xml/ClientMapper.xml b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/xml/ClientMapper.xml new file mode 100644 index 0000000000..d250de5988 --- /dev/null +++ b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/xml/ClientMapper.xml @@ -0,0 +1,294 @@ + + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value,typeHandler=org.opensrp.repository.postgres.handler.ClientTypeHandler} + + + and ${criterion.condition} #{criterion.value,typeHandler=org.opensrp.repository.postgres.handler.ClientTypeHandler} and #{criterion.secondValue,typeHandler=org.opensrp.repository.postgres.handler.ClientTypeHandler} + + + and ${criterion.condition} + + #{listItem,typeHandler=org.opensrp.repository.postgres.handler.ClientTypeHandler} + + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value,typeHandler=org.opensrp.repository.postgres.handler.ClientTypeHandler} + + + and ${criterion.condition} #{criterion.value,typeHandler=org.opensrp.repository.postgres.handler.ClientTypeHandler} and #{criterion.secondValue,typeHandler=org.opensrp.repository.postgres.handler.ClientTypeHandler} + + + and ${criterion.condition} + + #{listItem,typeHandler=org.opensrp.repository.postgres.handler.ClientTypeHandler} + + + + + + + + + + + + id, json, date_deleted + + + + + + delete from core.client + where id = #{id,jdbcType=BIGINT} + + + + delete from core.client + + + + + + + insert into core.client (id, json, + date_deleted) + values (#{id,jdbcType=BIGINT}, #{json,jdbcType=OTHER,typeHandler=org.opensrp.repository.postgres.handler.ClientTypeHandler}, + #{dateDeleted,jdbcType=TIMESTAMP}) + + + + insert into core.client + + + id, + + + json, + + + date_deleted, + + + + + #{id,jdbcType=BIGINT}, + + + #{json,jdbcType=OTHER,typeHandler=org.opensrp.repository.postgres.handler.ClientTypeHandler}, + + + #{dateDeleted,jdbcType=TIMESTAMP}, + + + + + + + update core.client + + + id = #{record.id,jdbcType=BIGINT}, + + + json = #{record.json,jdbcType=OTHER,typeHandler=org.opensrp.repository.postgres.handler.ClientTypeHandler}, + + + date_deleted = #{record.dateDeleted,jdbcType=TIMESTAMP}, + + + + + + + + + update core.client + set id = #{record.id,jdbcType=BIGINT}, + json = #{record.json,jdbcType=OTHER,typeHandler=org.opensrp.repository.postgres.handler.ClientTypeHandler}, + date_deleted = #{record.dateDeleted,jdbcType=TIMESTAMP} + + + + + + + update core.client + + + json = #{json,jdbcType=OTHER,typeHandler=org.opensrp.repository.postgres.handler.ClientTypeHandler}, + + + date_deleted = #{dateDeleted,jdbcType=TIMESTAMP}, + + + where id = #{id,jdbcType=BIGINT} + + + + update core.client + set json = #{json,jdbcType=OTHER,typeHandler=org.opensrp.repository.postgres.handler.ClientTypeHandler}, + date_deleted = #{dateDeleted,jdbcType=TIMESTAMP} + where id = #{id,jdbcType=BIGINT} + + \ No newline at end of file diff --git a/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/xml/ClientMetadataMapper.xml b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/xml/ClientMetadataMapper.xml new file mode 100644 index 0000000000..bd2fa396c7 --- /dev/null +++ b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/xml/ClientMetadataMapper.xml @@ -0,0 +1,413 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + + id, client_id, document_id, base_entity_id, relational_id, server_version, openmrs_uuid, + unique_id, first_name, middle_name, last_name, birth_date, date_deleted + + + + + + delete from core.client_metadata + where id = #{id,jdbcType=BIGINT} + + + + delete from core.client_metadata + + + + + + + insert into core.client_metadata (id, client_id, document_id, + base_entity_id, relational_id, server_version, + openmrs_uuid, unique_id, first_name, + middle_name, last_name, birth_date, + date_deleted) + values (#{id,jdbcType=BIGINT}, #{clientId,jdbcType=BIGINT}, #{documentId,jdbcType=VARCHAR}, + #{baseEntityId,jdbcType=VARCHAR}, #{relationalId,jdbcType=VARCHAR}, #{serverVersion,jdbcType=BIGINT}, + #{openmrsUuid,jdbcType=VARCHAR}, #{uniqueId,jdbcType=VARCHAR}, #{firstName,jdbcType=VARCHAR}, + #{middleName,jdbcType=VARCHAR}, #{lastName,jdbcType=VARCHAR}, #{birthDate,jdbcType=DATE}, + #{dateDeleted,jdbcType=TIMESTAMP}) + + + + insert into core.client_metadata + + + id, + + + client_id, + + + document_id, + + + base_entity_id, + + + relational_id, + + + server_version, + + + openmrs_uuid, + + + unique_id, + + + first_name, + + + middle_name, + + + last_name, + + + birth_date, + + + date_deleted, + + + + + #{id,jdbcType=BIGINT}, + + + #{clientId,jdbcType=BIGINT}, + + + #{documentId,jdbcType=VARCHAR}, + + + #{baseEntityId,jdbcType=VARCHAR}, + + + #{relationalId,jdbcType=VARCHAR}, + + + #{serverVersion,jdbcType=BIGINT}, + + + #{openmrsUuid,jdbcType=VARCHAR}, + + + #{uniqueId,jdbcType=VARCHAR}, + + + #{firstName,jdbcType=VARCHAR}, + + + #{middleName,jdbcType=VARCHAR}, + + + #{lastName,jdbcType=VARCHAR}, + + + #{birthDate,jdbcType=DATE}, + + + #{dateDeleted,jdbcType=TIMESTAMP}, + + + + + + + update core.client_metadata + + + id = #{record.id,jdbcType=BIGINT}, + + + client_id = #{record.clientId,jdbcType=BIGINT}, + + + document_id = #{record.documentId,jdbcType=VARCHAR}, + + + base_entity_id = #{record.baseEntityId,jdbcType=VARCHAR}, + + + relational_id = #{record.relationalId,jdbcType=VARCHAR}, + + + server_version = #{record.serverVersion,jdbcType=BIGINT}, + + + openmrs_uuid = #{record.openmrsUuid,jdbcType=VARCHAR}, + + + unique_id = #{record.uniqueId,jdbcType=VARCHAR}, + + + first_name = #{record.firstName,jdbcType=VARCHAR}, + + + middle_name = #{record.middleName,jdbcType=VARCHAR}, + + + last_name = #{record.lastName,jdbcType=VARCHAR}, + + + birth_date = #{record.birthDate,jdbcType=DATE}, + + + date_deleted = #{record.dateDeleted,jdbcType=TIMESTAMP}, + + + + + + + + + update core.client_metadata + set id = #{record.id,jdbcType=BIGINT}, + client_id = #{record.clientId,jdbcType=BIGINT}, + document_id = #{record.documentId,jdbcType=VARCHAR}, + base_entity_id = #{record.baseEntityId,jdbcType=VARCHAR}, + relational_id = #{record.relationalId,jdbcType=VARCHAR}, + server_version = #{record.serverVersion,jdbcType=BIGINT}, + openmrs_uuid = #{record.openmrsUuid,jdbcType=VARCHAR}, + unique_id = #{record.uniqueId,jdbcType=VARCHAR}, + first_name = #{record.firstName,jdbcType=VARCHAR}, + middle_name = #{record.middleName,jdbcType=VARCHAR}, + last_name = #{record.lastName,jdbcType=VARCHAR}, + birth_date = #{record.birthDate,jdbcType=DATE}, + date_deleted = #{record.dateDeleted,jdbcType=TIMESTAMP} + + + + + + + update core.client_metadata + + + client_id = #{clientId,jdbcType=BIGINT}, + + + document_id = #{documentId,jdbcType=VARCHAR}, + + + base_entity_id = #{baseEntityId,jdbcType=VARCHAR}, + + + relational_id = #{relationalId,jdbcType=VARCHAR}, + + + server_version = #{serverVersion,jdbcType=BIGINT}, + + + openmrs_uuid = #{openmrsUuid,jdbcType=VARCHAR}, + + + unique_id = #{uniqueId,jdbcType=VARCHAR}, + + + first_name = #{firstName,jdbcType=VARCHAR}, + + + middle_name = #{middleName,jdbcType=VARCHAR}, + + + last_name = #{lastName,jdbcType=VARCHAR}, + + + birth_date = #{birthDate,jdbcType=DATE}, + + + date_deleted = #{dateDeleted,jdbcType=TIMESTAMP}, + + + where id = #{id,jdbcType=BIGINT} + + + + update core.client_metadata + set client_id = #{clientId,jdbcType=BIGINT}, + document_id = #{documentId,jdbcType=VARCHAR}, + base_entity_id = #{baseEntityId,jdbcType=VARCHAR}, + relational_id = #{relationalId,jdbcType=VARCHAR}, + server_version = #{serverVersion,jdbcType=BIGINT}, + openmrs_uuid = #{openmrsUuid,jdbcType=VARCHAR}, + unique_id = #{uniqueId,jdbcType=VARCHAR}, + first_name = #{firstName,jdbcType=VARCHAR}, + middle_name = #{middleName,jdbcType=VARCHAR}, + last_name = #{lastName,jdbcType=VARCHAR}, + birth_date = #{birthDate,jdbcType=DATE}, + date_deleted = #{dateDeleted,jdbcType=TIMESTAMP} + where id = #{id,jdbcType=BIGINT} + + \ No newline at end of file diff --git a/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/xml/ErrorTraceMapper.xml b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/xml/ErrorTraceMapper.xml new file mode 100644 index 0000000000..9fa1753e4e --- /dev/null +++ b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/xml/ErrorTraceMapper.xml @@ -0,0 +1,381 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + + id, document_id, date_occurred, error_type, occurred_at, stack_trace, status, record_id, + date_closed, document_type, retry_url + + + + + + delete from error.error_trace + where id = #{id,jdbcType=BIGINT} + + + + delete from error.error_trace + + + + + + + insert into error.error_trace (id, document_id, date_occurred, + error_type, occurred_at, stack_trace, + status, record_id, date_closed, + document_type, retry_url) + values (#{id,jdbcType=BIGINT}, #{documentId,jdbcType=VARCHAR}, #{dateOccurred,jdbcType=TIMESTAMP}, + #{errorType,jdbcType=VARCHAR}, #{occurredAt,jdbcType=VARCHAR}, #{stackTrace,jdbcType=VARCHAR}, + #{status,jdbcType=VARCHAR}, #{recordId,jdbcType=VARCHAR}, #{dateClosed,jdbcType=TIMESTAMP}, + #{documentType,jdbcType=VARCHAR}, #{retryUrl,jdbcType=VARCHAR}) + + + + insert into error.error_trace + + + id, + + + document_id, + + + date_occurred, + + + error_type, + + + occurred_at, + + + stack_trace, + + + status, + + + record_id, + + + date_closed, + + + document_type, + + + retry_url, + + + + + #{id,jdbcType=BIGINT}, + + + #{documentId,jdbcType=VARCHAR}, + + + #{dateOccurred,jdbcType=TIMESTAMP}, + + + #{errorType,jdbcType=VARCHAR}, + + + #{occurredAt,jdbcType=VARCHAR}, + + + #{stackTrace,jdbcType=VARCHAR}, + + + #{status,jdbcType=VARCHAR}, + + + #{recordId,jdbcType=VARCHAR}, + + + #{dateClosed,jdbcType=TIMESTAMP}, + + + #{documentType,jdbcType=VARCHAR}, + + + #{retryUrl,jdbcType=VARCHAR}, + + + + + + + update error.error_trace + + + id = #{record.id,jdbcType=BIGINT}, + + + document_id = #{record.documentId,jdbcType=VARCHAR}, + + + date_occurred = #{record.dateOccurred,jdbcType=TIMESTAMP}, + + + error_type = #{record.errorType,jdbcType=VARCHAR}, + + + occurred_at = #{record.occurredAt,jdbcType=VARCHAR}, + + + stack_trace = #{record.stackTrace,jdbcType=VARCHAR}, + + + status = #{record.status,jdbcType=VARCHAR}, + + + record_id = #{record.recordId,jdbcType=VARCHAR}, + + + date_closed = #{record.dateClosed,jdbcType=TIMESTAMP}, + + + document_type = #{record.documentType,jdbcType=VARCHAR}, + + + retry_url = #{record.retryUrl,jdbcType=VARCHAR}, + + + + + + + + + update error.error_trace + set id = #{record.id,jdbcType=BIGINT}, + document_id = #{record.documentId,jdbcType=VARCHAR}, + date_occurred = #{record.dateOccurred,jdbcType=TIMESTAMP}, + error_type = #{record.errorType,jdbcType=VARCHAR}, + occurred_at = #{record.occurredAt,jdbcType=VARCHAR}, + stack_trace = #{record.stackTrace,jdbcType=VARCHAR}, + status = #{record.status,jdbcType=VARCHAR}, + record_id = #{record.recordId,jdbcType=VARCHAR}, + date_closed = #{record.dateClosed,jdbcType=TIMESTAMP}, + document_type = #{record.documentType,jdbcType=VARCHAR}, + retry_url = #{record.retryUrl,jdbcType=VARCHAR} + + + + + + + update error.error_trace + + + document_id = #{documentId,jdbcType=VARCHAR}, + + + date_occurred = #{dateOccurred,jdbcType=TIMESTAMP}, + + + error_type = #{errorType,jdbcType=VARCHAR}, + + + occurred_at = #{occurredAt,jdbcType=VARCHAR}, + + + stack_trace = #{stackTrace,jdbcType=VARCHAR}, + + + status = #{status,jdbcType=VARCHAR}, + + + record_id = #{recordId,jdbcType=VARCHAR}, + + + date_closed = #{dateClosed,jdbcType=TIMESTAMP}, + + + document_type = #{documentType,jdbcType=VARCHAR}, + + + retry_url = #{retryUrl,jdbcType=VARCHAR}, + + + where id = #{id,jdbcType=BIGINT} + + + + update error.error_trace + set document_id = #{documentId,jdbcType=VARCHAR}, + date_occurred = #{dateOccurred,jdbcType=TIMESTAMP}, + error_type = #{errorType,jdbcType=VARCHAR}, + occurred_at = #{occurredAt,jdbcType=VARCHAR}, + stack_trace = #{stackTrace,jdbcType=VARCHAR}, + status = #{status,jdbcType=VARCHAR}, + record_id = #{recordId,jdbcType=VARCHAR}, + date_closed = #{dateClosed,jdbcType=TIMESTAMP}, + document_type = #{documentType,jdbcType=VARCHAR}, + retry_url = #{retryUrl,jdbcType=VARCHAR} + where id = #{id,jdbcType=BIGINT} + + \ No newline at end of file diff --git a/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/xml/EventMapper.xml b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/xml/EventMapper.xml new file mode 100644 index 0000000000..c541c19ad3 --- /dev/null +++ b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/xml/EventMapper.xml @@ -0,0 +1,294 @@ + + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value,typeHandler=org.opensrp.repository.postgres.handler.EventTypeHandler} + + + and ${criterion.condition} #{criterion.value,typeHandler=org.opensrp.repository.postgres.handler.EventTypeHandler} and #{criterion.secondValue,typeHandler=org.opensrp.repository.postgres.handler.EventTypeHandler} + + + and ${criterion.condition} + + #{listItem,typeHandler=org.opensrp.repository.postgres.handler.EventTypeHandler} + + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value,typeHandler=org.opensrp.repository.postgres.handler.EventTypeHandler} + + + and ${criterion.condition} #{criterion.value,typeHandler=org.opensrp.repository.postgres.handler.EventTypeHandler} and #{criterion.secondValue,typeHandler=org.opensrp.repository.postgres.handler.EventTypeHandler} + + + and ${criterion.condition} + + #{listItem,typeHandler=org.opensrp.repository.postgres.handler.EventTypeHandler} + + + + + + + + + + + + id, json, date_deleted + + + + + + delete from core.event + where id = #{id,jdbcType=BIGINT} + + + + delete from core.event + + + + + + + insert into core.event (id, json, + date_deleted) + values (#{id,jdbcType=BIGINT}, #{json,jdbcType=OTHER,typeHandler=org.opensrp.repository.postgres.handler.EventTypeHandler}, + #{dateDeleted,jdbcType=TIMESTAMP}) + + + + insert into core.event + + + id, + + + json, + + + date_deleted, + + + + + #{id,jdbcType=BIGINT}, + + + #{json,jdbcType=OTHER,typeHandler=org.opensrp.repository.postgres.handler.EventTypeHandler}, + + + #{dateDeleted,jdbcType=TIMESTAMP}, + + + + + + + update core.event + + + id = #{record.id,jdbcType=BIGINT}, + + + json = #{record.json,jdbcType=OTHER,typeHandler=org.opensrp.repository.postgres.handler.EventTypeHandler}, + + + date_deleted = #{record.dateDeleted,jdbcType=TIMESTAMP}, + + + + + + + + + update core.event + set id = #{record.id,jdbcType=BIGINT}, + json = #{record.json,jdbcType=OTHER,typeHandler=org.opensrp.repository.postgres.handler.EventTypeHandler}, + date_deleted = #{record.dateDeleted,jdbcType=TIMESTAMP} + + + + + + + update core.event + + + json = #{json,jdbcType=OTHER,typeHandler=org.opensrp.repository.postgres.handler.EventTypeHandler}, + + + date_deleted = #{dateDeleted,jdbcType=TIMESTAMP}, + + + where id = #{id,jdbcType=BIGINT} + + + + update core.event + set json = #{json,jdbcType=OTHER,typeHandler=org.opensrp.repository.postgres.handler.EventTypeHandler}, + date_deleted = #{dateDeleted,jdbcType=TIMESTAMP} + where id = #{id,jdbcType=BIGINT} + + \ No newline at end of file diff --git a/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/xml/EventMetadataMapper.xml b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/xml/EventMetadataMapper.xml new file mode 100644 index 0000000000..937ddcaf96 --- /dev/null +++ b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/xml/EventMetadataMapper.xml @@ -0,0 +1,476 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + + id, event_id, document_id, base_entity_id, form_submission_id, server_version, openmrs_uuid, + event_type, event_date, entity_type, provider_id, location_id, team, team_id, date_created, + date_edited, date_deleted + + + + + + delete from core.event_metadata + where id = #{id,jdbcType=BIGINT} + + + + delete from core.event_metadata + + + + + + + insert into core.event_metadata (id, event_id, document_id, + base_entity_id, form_submission_id, server_version, + openmrs_uuid, event_type, event_date, + entity_type, provider_id, location_id, + team, team_id, date_created, + date_edited, date_deleted) + values (#{id,jdbcType=BIGINT}, #{eventId,jdbcType=BIGINT}, #{documentId,jdbcType=VARCHAR}, + #{baseEntityId,jdbcType=VARCHAR}, #{formSubmissionId,jdbcType=VARCHAR}, #{serverVersion,jdbcType=BIGINT}, + #{openmrsUuid,jdbcType=VARCHAR}, #{eventType,jdbcType=VARCHAR}, #{eventDate,jdbcType=TIMESTAMP}, + #{entityType,jdbcType=VARCHAR}, #{providerId,jdbcType=VARCHAR}, #{locationId,jdbcType=VARCHAR}, + #{team,jdbcType=VARCHAR}, #{teamId,jdbcType=VARCHAR}, #{dateCreated,jdbcType=TIMESTAMP}, + #{dateEdited,jdbcType=TIMESTAMP}, #{dateDeleted,jdbcType=TIMESTAMP}) + + + + insert into core.event_metadata + + + id, + + + event_id, + + + document_id, + + + base_entity_id, + + + form_submission_id, + + + server_version, + + + openmrs_uuid, + + + event_type, + + + event_date, + + + entity_type, + + + provider_id, + + + location_id, + + + team, + + + team_id, + + + date_created, + + + date_edited, + + + date_deleted, + + + + + #{id,jdbcType=BIGINT}, + + + #{eventId,jdbcType=BIGINT}, + + + #{documentId,jdbcType=VARCHAR}, + + + #{baseEntityId,jdbcType=VARCHAR}, + + + #{formSubmissionId,jdbcType=VARCHAR}, + + + #{serverVersion,jdbcType=BIGINT}, + + + #{openmrsUuid,jdbcType=VARCHAR}, + + + #{eventType,jdbcType=VARCHAR}, + + + #{eventDate,jdbcType=TIMESTAMP}, + + + #{entityType,jdbcType=VARCHAR}, + + + #{providerId,jdbcType=VARCHAR}, + + + #{locationId,jdbcType=VARCHAR}, + + + #{team,jdbcType=VARCHAR}, + + + #{teamId,jdbcType=VARCHAR}, + + + #{dateCreated,jdbcType=TIMESTAMP}, + + + #{dateEdited,jdbcType=TIMESTAMP}, + + + #{dateDeleted,jdbcType=TIMESTAMP}, + + + + + + + update core.event_metadata + + + id = #{record.id,jdbcType=BIGINT}, + + + event_id = #{record.eventId,jdbcType=BIGINT}, + + + document_id = #{record.documentId,jdbcType=VARCHAR}, + + + base_entity_id = #{record.baseEntityId,jdbcType=VARCHAR}, + + + form_submission_id = #{record.formSubmissionId,jdbcType=VARCHAR}, + + + server_version = #{record.serverVersion,jdbcType=BIGINT}, + + + openmrs_uuid = #{record.openmrsUuid,jdbcType=VARCHAR}, + + + event_type = #{record.eventType,jdbcType=VARCHAR}, + + + event_date = #{record.eventDate,jdbcType=TIMESTAMP}, + + + entity_type = #{record.entityType,jdbcType=VARCHAR}, + + + provider_id = #{record.providerId,jdbcType=VARCHAR}, + + + location_id = #{record.locationId,jdbcType=VARCHAR}, + + + team = #{record.team,jdbcType=VARCHAR}, + + + team_id = #{record.teamId,jdbcType=VARCHAR}, + + + date_created = #{record.dateCreated,jdbcType=TIMESTAMP}, + + + date_edited = #{record.dateEdited,jdbcType=TIMESTAMP}, + + + date_deleted = #{record.dateDeleted,jdbcType=TIMESTAMP}, + + + + + + + + + update core.event_metadata + set id = #{record.id,jdbcType=BIGINT}, + event_id = #{record.eventId,jdbcType=BIGINT}, + document_id = #{record.documentId,jdbcType=VARCHAR}, + base_entity_id = #{record.baseEntityId,jdbcType=VARCHAR}, + form_submission_id = #{record.formSubmissionId,jdbcType=VARCHAR}, + server_version = #{record.serverVersion,jdbcType=BIGINT}, + openmrs_uuid = #{record.openmrsUuid,jdbcType=VARCHAR}, + event_type = #{record.eventType,jdbcType=VARCHAR}, + event_date = #{record.eventDate,jdbcType=TIMESTAMP}, + entity_type = #{record.entityType,jdbcType=VARCHAR}, + provider_id = #{record.providerId,jdbcType=VARCHAR}, + location_id = #{record.locationId,jdbcType=VARCHAR}, + team = #{record.team,jdbcType=VARCHAR}, + team_id = #{record.teamId,jdbcType=VARCHAR}, + date_created = #{record.dateCreated,jdbcType=TIMESTAMP}, + date_edited = #{record.dateEdited,jdbcType=TIMESTAMP}, + date_deleted = #{record.dateDeleted,jdbcType=TIMESTAMP} + + + + + + + update core.event_metadata + + + event_id = #{eventId,jdbcType=BIGINT}, + + + document_id = #{documentId,jdbcType=VARCHAR}, + + + base_entity_id = #{baseEntityId,jdbcType=VARCHAR}, + + + form_submission_id = #{formSubmissionId,jdbcType=VARCHAR}, + + + server_version = #{serverVersion,jdbcType=BIGINT}, + + + openmrs_uuid = #{openmrsUuid,jdbcType=VARCHAR}, + + + event_type = #{eventType,jdbcType=VARCHAR}, + + + event_date = #{eventDate,jdbcType=TIMESTAMP}, + + + entity_type = #{entityType,jdbcType=VARCHAR}, + + + provider_id = #{providerId,jdbcType=VARCHAR}, + + + location_id = #{locationId,jdbcType=VARCHAR}, + + + team = #{team,jdbcType=VARCHAR}, + + + team_id = #{teamId,jdbcType=VARCHAR}, + + + date_created = #{dateCreated,jdbcType=TIMESTAMP}, + + + date_edited = #{dateEdited,jdbcType=TIMESTAMP}, + + + date_deleted = #{dateDeleted,jdbcType=TIMESTAMP}, + + + where id = #{id,jdbcType=BIGINT} + + + + update core.event_metadata + set event_id = #{eventId,jdbcType=BIGINT}, + document_id = #{documentId,jdbcType=VARCHAR}, + base_entity_id = #{baseEntityId,jdbcType=VARCHAR}, + form_submission_id = #{formSubmissionId,jdbcType=VARCHAR}, + server_version = #{serverVersion,jdbcType=BIGINT}, + openmrs_uuid = #{openmrsUuid,jdbcType=VARCHAR}, + event_type = #{eventType,jdbcType=VARCHAR}, + event_date = #{eventDate,jdbcType=TIMESTAMP}, + entity_type = #{entityType,jdbcType=VARCHAR}, + provider_id = #{providerId,jdbcType=VARCHAR}, + location_id = #{locationId,jdbcType=VARCHAR}, + team = #{team,jdbcType=VARCHAR}, + team_id = #{teamId,jdbcType=VARCHAR}, + date_created = #{dateCreated,jdbcType=TIMESTAMP}, + date_edited = #{dateEdited,jdbcType=TIMESTAMP}, + date_deleted = #{dateDeleted,jdbcType=TIMESTAMP} + where id = #{id,jdbcType=BIGINT} + + \ No newline at end of file diff --git a/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/xml/MultiMediaMapper.xml b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/xml/MultiMediaMapper.xml new file mode 100644 index 0000000000..239670e46e --- /dev/null +++ b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/xml/MultiMediaMapper.xml @@ -0,0 +1,318 @@ + + + + + + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + + id, document_id, case_id, provider_id, content_type, file_path, file_category + + + + + + delete from core.multi_media + where id = #{id,jdbcType=BIGINT} + + + + delete from core.multi_media + + + + + + + insert into core.multi_media (id, document_id, case_id, + provider_id, content_type, file_path, + file_category) + values (#{id,jdbcType=BIGINT}, #{documentId,jdbcType=VARCHAR}, #{caseId,jdbcType=VARCHAR}, + #{providerId,jdbcType=VARCHAR}, #{contentType,jdbcType=VARCHAR}, #{filePath,jdbcType=VARCHAR}, + #{fileCategory,jdbcType=VARCHAR}) + + + + insert into core.multi_media + + + id, + + + document_id, + + + case_id, + + + provider_id, + + + content_type, + + + file_path, + + + file_category, + + + + + #{id,jdbcType=BIGINT}, + + + #{documentId,jdbcType=VARCHAR}, + + + #{caseId,jdbcType=VARCHAR}, + + + #{providerId,jdbcType=VARCHAR}, + + + #{contentType,jdbcType=VARCHAR}, + + + #{filePath,jdbcType=VARCHAR}, + + + #{fileCategory,jdbcType=VARCHAR}, + + + + + + + update core.multi_media + + + id = #{record.id,jdbcType=BIGINT}, + + + document_id = #{record.documentId,jdbcType=VARCHAR}, + + + case_id = #{record.caseId,jdbcType=VARCHAR}, + + + provider_id = #{record.providerId,jdbcType=VARCHAR}, + + + content_type = #{record.contentType,jdbcType=VARCHAR}, + + + file_path = #{record.filePath,jdbcType=VARCHAR}, + + + file_category = #{record.fileCategory,jdbcType=VARCHAR}, + + + + + + + + + update core.multi_media + set id = #{record.id,jdbcType=BIGINT}, + document_id = #{record.documentId,jdbcType=VARCHAR}, + case_id = #{record.caseId,jdbcType=VARCHAR}, + provider_id = #{record.providerId,jdbcType=VARCHAR}, + content_type = #{record.contentType,jdbcType=VARCHAR}, + file_path = #{record.filePath,jdbcType=VARCHAR}, + file_category = #{record.fileCategory,jdbcType=VARCHAR} + + + + + + + update core.multi_media + + + document_id = #{documentId,jdbcType=VARCHAR}, + + + case_id = #{caseId,jdbcType=VARCHAR}, + + + provider_id = #{providerId,jdbcType=VARCHAR}, + + + content_type = #{contentType,jdbcType=VARCHAR}, + + + file_path = #{filePath,jdbcType=VARCHAR}, + + + file_category = #{fileCategory,jdbcType=VARCHAR}, + + + where id = #{id,jdbcType=BIGINT} + + + + update core.multi_media + set document_id = #{documentId,jdbcType=VARCHAR}, + case_id = #{caseId,jdbcType=VARCHAR}, + provider_id = #{providerId,jdbcType=VARCHAR}, + content_type = #{contentType,jdbcType=VARCHAR}, + file_path = #{filePath,jdbcType=VARCHAR}, + file_category = #{fileCategory,jdbcType=VARCHAR} + where id = #{id,jdbcType=BIGINT} + + \ No newline at end of file diff --git a/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/xml/ReportMapper.xml b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/xml/ReportMapper.xml new file mode 100644 index 0000000000..8c12a3f938 --- /dev/null +++ b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/xml/ReportMapper.xml @@ -0,0 +1,279 @@ + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value,typeHandler=org.opensrp.repository.postgres.handler.ReportTypeHandler} + + + and ${criterion.condition} #{criterion.value,typeHandler=org.opensrp.repository.postgres.handler.ReportTypeHandler} and #{criterion.secondValue,typeHandler=org.opensrp.repository.postgres.handler.ReportTypeHandler} + + + and ${criterion.condition} + + #{listItem,typeHandler=org.opensrp.repository.postgres.handler.ReportTypeHandler} + + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value,typeHandler=org.opensrp.repository.postgres.handler.ReportTypeHandler} + + + and ${criterion.condition} #{criterion.value,typeHandler=org.opensrp.repository.postgres.handler.ReportTypeHandler} and #{criterion.secondValue,typeHandler=org.opensrp.repository.postgres.handler.ReportTypeHandler} + + + and ${criterion.condition} + + #{listItem,typeHandler=org.opensrp.repository.postgres.handler.ReportTypeHandler} + + + + + + + + + + + + id, json + + + + + + delete from core.report + where id = #{id,jdbcType=BIGINT} + + + + delete from core.report + + + + + + + insert into core.report (id, json + ) + values (#{id,jdbcType=BIGINT}, #{json,jdbcType=OTHER,typeHandler=org.opensrp.repository.postgres.handler.ReportTypeHandler} + ) + + + + insert into core.report + + + id, + + + json, + + + + + #{id,jdbcType=BIGINT}, + + + #{json,jdbcType=OTHER,typeHandler=org.opensrp.repository.postgres.handler.ReportTypeHandler}, + + + + + + + update core.report + + + id = #{record.id,jdbcType=BIGINT}, + + + json = #{record.json,jdbcType=OTHER,typeHandler=org.opensrp.repository.postgres.handler.ReportTypeHandler}, + + + + + + + + + update core.report + set id = #{record.id,jdbcType=BIGINT}, + json = #{record.json,jdbcType=OTHER,typeHandler=org.opensrp.repository.postgres.handler.ReportTypeHandler} + + + + + + + update core.report + + + json = #{json,jdbcType=OTHER,typeHandler=org.opensrp.repository.postgres.handler.ReportTypeHandler}, + + + where id = #{id,jdbcType=BIGINT} + + + + update core.report + set json = #{json,jdbcType=OTHER,typeHandler=org.opensrp.repository.postgres.handler.ReportTypeHandler} + where id = #{id,jdbcType=BIGINT} + + \ No newline at end of file diff --git a/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/xml/ReportMetadataMapper.xml b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/xml/ReportMetadataMapper.xml new file mode 100644 index 0000000000..d9f03d1188 --- /dev/null +++ b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/xml/ReportMetadataMapper.xml @@ -0,0 +1,413 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + + id, report_id, document_id, form_submission_id, base_entity_id, server_version, report_type, + report_date, provider_id, location_id, team, team_id, date_edited + + + + + + delete from core.report_metadata + where id = #{id,jdbcType=BIGINT} + + + + delete from core.report_metadata + + + + + + + insert into core.report_metadata (id, report_id, document_id, + form_submission_id, base_entity_id, server_version, + report_type, report_date, provider_id, + location_id, team, team_id, + date_edited) + values (#{id,jdbcType=BIGINT}, #{reportId,jdbcType=BIGINT}, #{documentId,jdbcType=VARCHAR}, + #{formSubmissionId,jdbcType=VARCHAR}, #{baseEntityId,jdbcType=VARCHAR}, #{serverVersion,jdbcType=BIGINT}, + #{reportType,jdbcType=VARCHAR}, #{reportDate,jdbcType=DATE}, #{providerId,jdbcType=VARCHAR}, + #{locationId,jdbcType=VARCHAR}, #{team,jdbcType=VARCHAR}, #{teamId,jdbcType=VARCHAR}, + #{dateEdited,jdbcType=DATE}) + + + + insert into core.report_metadata + + + id, + + + report_id, + + + document_id, + + + form_submission_id, + + + base_entity_id, + + + server_version, + + + report_type, + + + report_date, + + + provider_id, + + + location_id, + + + team, + + + team_id, + + + date_edited, + + + + + #{id,jdbcType=BIGINT}, + + + #{reportId,jdbcType=BIGINT}, + + + #{documentId,jdbcType=VARCHAR}, + + + #{formSubmissionId,jdbcType=VARCHAR}, + + + #{baseEntityId,jdbcType=VARCHAR}, + + + #{serverVersion,jdbcType=BIGINT}, + + + #{reportType,jdbcType=VARCHAR}, + + + #{reportDate,jdbcType=DATE}, + + + #{providerId,jdbcType=VARCHAR}, + + + #{locationId,jdbcType=VARCHAR}, + + + #{team,jdbcType=VARCHAR}, + + + #{teamId,jdbcType=VARCHAR}, + + + #{dateEdited,jdbcType=DATE}, + + + + + + + update core.report_metadata + + + id = #{record.id,jdbcType=BIGINT}, + + + report_id = #{record.reportId,jdbcType=BIGINT}, + + + document_id = #{record.documentId,jdbcType=VARCHAR}, + + + form_submission_id = #{record.formSubmissionId,jdbcType=VARCHAR}, + + + base_entity_id = #{record.baseEntityId,jdbcType=VARCHAR}, + + + server_version = #{record.serverVersion,jdbcType=BIGINT}, + + + report_type = #{record.reportType,jdbcType=VARCHAR}, + + + report_date = #{record.reportDate,jdbcType=DATE}, + + + provider_id = #{record.providerId,jdbcType=VARCHAR}, + + + location_id = #{record.locationId,jdbcType=VARCHAR}, + + + team = #{record.team,jdbcType=VARCHAR}, + + + team_id = #{record.teamId,jdbcType=VARCHAR}, + + + date_edited = #{record.dateEdited,jdbcType=DATE}, + + + + + + + + + update core.report_metadata + set id = #{record.id,jdbcType=BIGINT}, + report_id = #{record.reportId,jdbcType=BIGINT}, + document_id = #{record.documentId,jdbcType=VARCHAR}, + form_submission_id = #{record.formSubmissionId,jdbcType=VARCHAR}, + base_entity_id = #{record.baseEntityId,jdbcType=VARCHAR}, + server_version = #{record.serverVersion,jdbcType=BIGINT}, + report_type = #{record.reportType,jdbcType=VARCHAR}, + report_date = #{record.reportDate,jdbcType=DATE}, + provider_id = #{record.providerId,jdbcType=VARCHAR}, + location_id = #{record.locationId,jdbcType=VARCHAR}, + team = #{record.team,jdbcType=VARCHAR}, + team_id = #{record.teamId,jdbcType=VARCHAR}, + date_edited = #{record.dateEdited,jdbcType=DATE} + + + + + + + update core.report_metadata + + + report_id = #{reportId,jdbcType=BIGINT}, + + + document_id = #{documentId,jdbcType=VARCHAR}, + + + form_submission_id = #{formSubmissionId,jdbcType=VARCHAR}, + + + base_entity_id = #{baseEntityId,jdbcType=VARCHAR}, + + + server_version = #{serverVersion,jdbcType=BIGINT}, + + + report_type = #{reportType,jdbcType=VARCHAR}, + + + report_date = #{reportDate,jdbcType=DATE}, + + + provider_id = #{providerId,jdbcType=VARCHAR}, + + + location_id = #{locationId,jdbcType=VARCHAR}, + + + team = #{team,jdbcType=VARCHAR}, + + + team_id = #{teamId,jdbcType=VARCHAR}, + + + date_edited = #{dateEdited,jdbcType=DATE}, + + + where id = #{id,jdbcType=BIGINT} + + + + update core.report_metadata + set report_id = #{reportId,jdbcType=BIGINT}, + document_id = #{documentId,jdbcType=VARCHAR}, + form_submission_id = #{formSubmissionId,jdbcType=VARCHAR}, + base_entity_id = #{baseEntityId,jdbcType=VARCHAR}, + server_version = #{serverVersion,jdbcType=BIGINT}, + report_type = #{reportType,jdbcType=VARCHAR}, + report_date = #{reportDate,jdbcType=DATE}, + provider_id = #{providerId,jdbcType=VARCHAR}, + location_id = #{locationId,jdbcType=VARCHAR}, + team = #{team,jdbcType=VARCHAR}, + team_id = #{teamId,jdbcType=VARCHAR}, + date_edited = #{dateEdited,jdbcType=DATE} + where id = #{id,jdbcType=BIGINT} + + \ No newline at end of file diff --git a/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/xml/StockMapper.xml b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/xml/StockMapper.xml new file mode 100644 index 0000000000..896b86db32 --- /dev/null +++ b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/xml/StockMapper.xml @@ -0,0 +1,279 @@ + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value,typeHandler=org.opensrp.repository.postgres.handler.StockTypeHandler} + + + and ${criterion.condition} #{criterion.value,typeHandler=org.opensrp.repository.postgres.handler.StockTypeHandler} and #{criterion.secondValue,typeHandler=org.opensrp.repository.postgres.handler.StockTypeHandler} + + + and ${criterion.condition} + + #{listItem,typeHandler=org.opensrp.repository.postgres.handler.StockTypeHandler} + + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value,typeHandler=org.opensrp.repository.postgres.handler.StockTypeHandler} + + + and ${criterion.condition} #{criterion.value,typeHandler=org.opensrp.repository.postgres.handler.StockTypeHandler} and #{criterion.secondValue,typeHandler=org.opensrp.repository.postgres.handler.StockTypeHandler} + + + and ${criterion.condition} + + #{listItem,typeHandler=org.opensrp.repository.postgres.handler.StockTypeHandler} + + + + + + + + + + + + id, json + + + + + + delete from core.stock + where id = #{id,jdbcType=BIGINT} + + + + delete from core.stock + + + + + + + insert into core.stock (id, json + ) + values (#{id,jdbcType=BIGINT}, #{json,jdbcType=OTHER,typeHandler=org.opensrp.repository.postgres.handler.StockTypeHandler} + ) + + + + insert into core.stock + + + id, + + + json, + + + + + #{id,jdbcType=BIGINT}, + + + #{json,jdbcType=OTHER,typeHandler=org.opensrp.repository.postgres.handler.StockTypeHandler}, + + + + + + + update core.stock + + + id = #{record.id,jdbcType=BIGINT}, + + + json = #{record.json,jdbcType=OTHER,typeHandler=org.opensrp.repository.postgres.handler.StockTypeHandler}, + + + + + + + + + update core.stock + set id = #{record.id,jdbcType=BIGINT}, + json = #{record.json,jdbcType=OTHER,typeHandler=org.opensrp.repository.postgres.handler.StockTypeHandler} + + + + + + + update core.stock + + + json = #{json,jdbcType=OTHER,typeHandler=org.opensrp.repository.postgres.handler.StockTypeHandler}, + + + where id = #{id,jdbcType=BIGINT} + + + + update core.stock + set json = #{json,jdbcType=OTHER,typeHandler=org.opensrp.repository.postgres.handler.StockTypeHandler} + where id = #{id,jdbcType=BIGINT} + + \ No newline at end of file diff --git a/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/xml/StockMetadataMapper.xml b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/xml/StockMetadataMapper.xml new file mode 100644 index 0000000000..9ad83783eb --- /dev/null +++ b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/xml/StockMetadataMapper.xml @@ -0,0 +1,333 @@ + + + + + + + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + + id, stock_id, document_id, server_version, provider_id, location_id, team, team_id + + + + + + delete from core.stock_metadata + where id = #{id,jdbcType=BIGINT} + + + + delete from core.stock_metadata + + + + + + + insert into core.stock_metadata (id, stock_id, document_id, + server_version, provider_id, location_id, + team, team_id) + values (#{id,jdbcType=BIGINT}, #{stockId,jdbcType=BIGINT}, #{documentId,jdbcType=VARCHAR}, + #{serverVersion,jdbcType=BIGINT}, #{providerId,jdbcType=VARCHAR}, #{locationId,jdbcType=VARCHAR}, + #{team,jdbcType=VARCHAR}, #{teamId,jdbcType=VARCHAR}) + + + + insert into core.stock_metadata + + + id, + + + stock_id, + + + document_id, + + + server_version, + + + provider_id, + + + location_id, + + + team, + + + team_id, + + + + + #{id,jdbcType=BIGINT}, + + + #{stockId,jdbcType=BIGINT}, + + + #{documentId,jdbcType=VARCHAR}, + + + #{serverVersion,jdbcType=BIGINT}, + + + #{providerId,jdbcType=VARCHAR}, + + + #{locationId,jdbcType=VARCHAR}, + + + #{team,jdbcType=VARCHAR}, + + + #{teamId,jdbcType=VARCHAR}, + + + + + + + update core.stock_metadata + + + id = #{record.id,jdbcType=BIGINT}, + + + stock_id = #{record.stockId,jdbcType=BIGINT}, + + + document_id = #{record.documentId,jdbcType=VARCHAR}, + + + server_version = #{record.serverVersion,jdbcType=BIGINT}, + + + provider_id = #{record.providerId,jdbcType=VARCHAR}, + + + location_id = #{record.locationId,jdbcType=VARCHAR}, + + + team = #{record.team,jdbcType=VARCHAR}, + + + team_id = #{record.teamId,jdbcType=VARCHAR}, + + + + + + + + + update core.stock_metadata + set id = #{record.id,jdbcType=BIGINT}, + stock_id = #{record.stockId,jdbcType=BIGINT}, + document_id = #{record.documentId,jdbcType=VARCHAR}, + server_version = #{record.serverVersion,jdbcType=BIGINT}, + provider_id = #{record.providerId,jdbcType=VARCHAR}, + location_id = #{record.locationId,jdbcType=VARCHAR}, + team = #{record.team,jdbcType=VARCHAR}, + team_id = #{record.teamId,jdbcType=VARCHAR} + + + + + + + update core.stock_metadata + + + stock_id = #{stockId,jdbcType=BIGINT}, + + + document_id = #{documentId,jdbcType=VARCHAR}, + + + server_version = #{serverVersion,jdbcType=BIGINT}, + + + provider_id = #{providerId,jdbcType=VARCHAR}, + + + location_id = #{locationId,jdbcType=VARCHAR}, + + + team = #{team,jdbcType=VARCHAR}, + + + team_id = #{teamId,jdbcType=VARCHAR}, + + + where id = #{id,jdbcType=BIGINT} + + + + update core.stock_metadata + set stock_id = #{stockId,jdbcType=BIGINT}, + document_id = #{documentId,jdbcType=VARCHAR}, + server_version = #{serverVersion,jdbcType=BIGINT}, + provider_id = #{providerId,jdbcType=VARCHAR}, + location_id = #{locationId,jdbcType=VARCHAR}, + team = #{team,jdbcType=VARCHAR}, + team_id = #{teamId,jdbcType=VARCHAR} + where id = #{id,jdbcType=BIGINT} + + \ No newline at end of file diff --git a/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/xml/ViewConfigurationMapper.xml b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/xml/ViewConfigurationMapper.xml new file mode 100644 index 0000000000..2485507200 --- /dev/null +++ b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/xml/ViewConfigurationMapper.xml @@ -0,0 +1,279 @@ + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value,typeHandler=org.opensrp.repository.postgres.handler.ViewConfigurationTypeHandler} + + + and ${criterion.condition} #{criterion.value,typeHandler=org.opensrp.repository.postgres.handler.ViewConfigurationTypeHandler} and #{criterion.secondValue,typeHandler=org.opensrp.repository.postgres.handler.ViewConfigurationTypeHandler} + + + and ${criterion.condition} + + #{listItem,typeHandler=org.opensrp.repository.postgres.handler.ViewConfigurationTypeHandler} + + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value,typeHandler=org.opensrp.repository.postgres.handler.ViewConfigurationTypeHandler} + + + and ${criterion.condition} #{criterion.value,typeHandler=org.opensrp.repository.postgres.handler.ViewConfigurationTypeHandler} and #{criterion.secondValue,typeHandler=org.opensrp.repository.postgres.handler.ViewConfigurationTypeHandler} + + + and ${criterion.condition} + + #{listItem,typeHandler=org.opensrp.repository.postgres.handler.ViewConfigurationTypeHandler} + + + + + + + + + + + + id, json + + + + + + delete from core.view_configuration + where id = #{id,jdbcType=BIGINT} + + + + delete from core.view_configuration + + + + + + + insert into core.view_configuration (id, json + ) + values (#{id,jdbcType=BIGINT}, #{json,jdbcType=OTHER,typeHandler=org.opensrp.repository.postgres.handler.ViewConfigurationTypeHandler} + ) + + + + insert into core.view_configuration + + + id, + + + json, + + + + + #{id,jdbcType=BIGINT}, + + + #{json,jdbcType=OTHER,typeHandler=org.opensrp.repository.postgres.handler.ViewConfigurationTypeHandler}, + + + + + + + update core.view_configuration + + + id = #{record.id,jdbcType=BIGINT}, + + + json = #{record.json,jdbcType=OTHER,typeHandler=org.opensrp.repository.postgres.handler.ViewConfigurationTypeHandler}, + + + + + + + + + update core.view_configuration + set id = #{record.id,jdbcType=BIGINT}, + json = #{record.json,jdbcType=OTHER,typeHandler=org.opensrp.repository.postgres.handler.ViewConfigurationTypeHandler} + + + + + + + update core.view_configuration + + + json = #{json,jdbcType=OTHER,typeHandler=org.opensrp.repository.postgres.handler.ViewConfigurationTypeHandler}, + + + where id = #{id,jdbcType=BIGINT} + + + + update core.view_configuration + set json = #{json,jdbcType=OTHER,typeHandler=org.opensrp.repository.postgres.handler.ViewConfigurationTypeHandler} + where id = #{id,jdbcType=BIGINT} + + \ No newline at end of file diff --git a/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/xml/ViewConfigurationMetadataMapper.xml b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/xml/ViewConfigurationMetadataMapper.xml new file mode 100644 index 0000000000..f3bcb5d618 --- /dev/null +++ b/opensrp-core/bin/src/main/java/org/opensrp/repository/postgres/mapper/xml/ViewConfigurationMetadataMapper.xml @@ -0,0 +1,286 @@ + + + + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + + id, view_configuration_id, document_id, identifier, server_version + + + + + + delete from core.view_configuration_metadata + where id = #{id,jdbcType=BIGINT} + + + + delete from core.view_configuration_metadata + + + + + + + insert into core.view_configuration_metadata (id, view_configuration_id, document_id, + identifier, server_version) + values (#{id,jdbcType=BIGINT}, #{viewConfigurationId,jdbcType=BIGINT}, #{documentId,jdbcType=VARCHAR}, + #{identifier,jdbcType=VARCHAR}, #{serverVersion,jdbcType=BIGINT}) + + + + insert into core.view_configuration_metadata + + + id, + + + view_configuration_id, + + + document_id, + + + identifier, + + + server_version, + + + + + #{id,jdbcType=BIGINT}, + + + #{viewConfigurationId,jdbcType=BIGINT}, + + + #{documentId,jdbcType=VARCHAR}, + + + #{identifier,jdbcType=VARCHAR}, + + + #{serverVersion,jdbcType=BIGINT}, + + + + + + + update core.view_configuration_metadata + + + id = #{record.id,jdbcType=BIGINT}, + + + view_configuration_id = #{record.viewConfigurationId,jdbcType=BIGINT}, + + + document_id = #{record.documentId,jdbcType=VARCHAR}, + + + identifier = #{record.identifier,jdbcType=VARCHAR}, + + + server_version = #{record.serverVersion,jdbcType=BIGINT}, + + + + + + + + + update core.view_configuration_metadata + set id = #{record.id,jdbcType=BIGINT}, + view_configuration_id = #{record.viewConfigurationId,jdbcType=BIGINT}, + document_id = #{record.documentId,jdbcType=VARCHAR}, + identifier = #{record.identifier,jdbcType=VARCHAR}, + server_version = #{record.serverVersion,jdbcType=BIGINT} + + + + + + + update core.view_configuration_metadata + + + view_configuration_id = #{viewConfigurationId,jdbcType=BIGINT}, + + + document_id = #{documentId,jdbcType=VARCHAR}, + + + identifier = #{identifier,jdbcType=VARCHAR}, + + + server_version = #{serverVersion,jdbcType=BIGINT}, + + + where id = #{id,jdbcType=BIGINT} + + + + update core.view_configuration_metadata + set view_configuration_id = #{viewConfigurationId,jdbcType=BIGINT}, + document_id = #{documentId,jdbcType=VARCHAR}, + identifier = #{identifier,jdbcType=VARCHAR}, + server_version = #{serverVersion,jdbcType=BIGINT} + where id = #{id,jdbcType=BIGINT} + + \ No newline at end of file diff --git a/opensrp-core/bin/src/main/java/org/opensrp/scheduler/Action.class b/opensrp-core/bin/src/main/java/org/opensrp/scheduler/Action.class new file mode 100644 index 0000000000000000000000000000000000000000..5bda92d7fefed8b8b5231c082cfc792618d9a506 GIT binary patch literal 7043 zcmd5=TT>%N6h55=av=)~yQu4`JKzoWlBkO}Kok~Of?=T~po_XzXVNAOlbP7lNy)#k ztnzpGXq8sE@4owYEKkoQB#*(Hc#AqL}t7%=JYj?b{_*s5(rfS8T~WHwr@pt_5Nab&Khp{1LMyfkZ`kHC|vM zQy?&zZ3^s3!QJ8_fm>fxUCGNVJu2tZuy?OD^RbHCn%oGQ=hHl z7xF|w4i%`R1ctNQw1RKrd%WmUSrv@HUA4Be*ajvN(5rg+yMPb!Es#{JMr zb*H4i=d01Y~b!P_MHYiH6v zvX19U%qlS3p#m+dQ2Uq`nKgsSm8vIK>NL4#tb)gU3-iG$Q)!nhiQlpxE0|iX-y+wP zO4F3`V@i({>gDB%C!`g~RV8;Uo2qQH^2};D`;4H%qR0`|UXrAZNm8O!-$Z{evg}xT zqGEzt_9U}Qn09JMKbH^cao1zx4qW5DEqIyZ&h~^x%95T%Es2te_;$c{6^q0gR)(+) zb@`;V!gLW0t5z4GOT@#9*M*#s1x7-bXlB3p)vI|I*Y#lV^AR0nbd6kWBorQHOTM`QkRjt`zN%6O^Cp@t4qZ-`gyeeLzO!IYLz?K#%TZ(aYJpJ)Gw)?rw>p@ zp2~TlSOI}BJZ=-(Udw;y)t$zY}s*4)Jy%oEt^>-WXUZyptkxP+oN;_mjb(HCq*m&QR-YS0~1;21y-vR=Gn z@R-2Q{nKu=gN#m&#GY3bHrwE8m^K=wK`?#&eM2RRsp;YGk8sgQuy>n@cuTu zsYQ58gFrM01V^y5EeJ!18gej47>2nPgr*gDG#nPR9O6A7ENc-GaPKtE_cb0(X}GLv zk>2Tn%Z3)=U5skvG}qokkG4nnfrihP7VUlH(+%wd4ce|2?IZYD8>F zyFbc!W?N*9O}dZ}8`6i)>~6m~mv7J6+5LY0`uZIJp1@KO#t1yNhF2pdRrP=!v8p!h zs*Z)SCazlE5v?Q?ruq^G_aGg2k7H4U0)g2SA2QXhzH1%`?g*5Xc5+{G=A>2xp4QJ{ zdyT-P5s_3aVF*k-mrA-91Qu56r~Y=Fk*d8`Tiqj2*wifys7zqy6tHcKHj^+-W?)PMbK7)dSsPd2o?-f_Jbad>LQJf?gr@w~ZaOB`r4+tDa$Q zeNfbC%BVwRP->*nZZIphm}A}E8?dAn#i8WVQJcg9?Q3P7Nx1j5t&(V^+fWawRBn|@ zOB3wAeW|dd_Ys1}ED4dA(`6OfNUZb!Ac`{Od!Xwf0}4w2%kLYj)q8`a8+SZ_nr`X? zKqGs9J(052IO6YQd&#uus9r|((tBEOXdMcCK>oW4XS?VO1#<>ygZ0}cvwm}R?=XTq z3$?b=rr+z$rO0p?Ss%uja#zA7?uKE!FQb@BBMS0SkZ+I7hZ@}FgAsY|TL4oqTZT!v zMqs{=IN`O4nL2(Qy-lK~FuM%p1_E<+%~`m|jP&Qdiv`z_mO!wh6T`(T>48Biwxs$2 z+OH}9StYF#%DtAtFvB~?sJGOV5@s`G)(TsM+XPl~D=q{|89nD7f$5BVg5QK_y&GMrxw~^C@ZpZsH7Z3x5G32rR-K^mHH33wU<-H&0t@fB*mh literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/scheduler/Alert$TriggerType.class b/opensrp-core/bin/src/main/java/org/opensrp/scheduler/Alert$TriggerType.class new file mode 100644 index 0000000000000000000000000000000000000000..959c8cb3e7c78ddada1095a99ef5309d3dfceb99 GIT binary patch literal 4835 zcmeHLTWb?R6h70YO|wleR$HytvG~w}BnXONMQSf%BvGNY=;LHEO{U$QS!QO7{bhoJ zzWbxZGn<5_7|6Cz3?&cQ*~@n>^X)k^+3)wC?>_7=dTj@N&eYDj%|AR@SCj z*0E65#AVA{qLGBclwae)J=!y}*%W5)Bo=wd5tvUcLZ+JK5A{RA9f7H?4T0y?3wd5A zFlj`r4SJgp$3o#4aAw6;sI6$=)0a|7_lm&MYV|aMU1y|fu2r zF-Dsym?!g}KPe-u4v$5HavjAoWKL>DW25V#i0lg*6!uzzHUtluK~T*25o-#%g5;Ds zW zyLn#>=z}tx4CXh$D7&xJWy}TUZjlt}n%)Q%L=N zV~cG|%Z-erVmP-xDC#t2)FCn`)Y5D>u}ij@W9?=fU{Z|=_np=1 zqe0S*I~hPtd+Gx~BY$UBq~2;A@z>p6dRlZ;FQadUYE;>iSoC8{8 z{kF;8xS6_l7(t$eN>gdm@9)i(nBg$8K8!hKu7oSx4a4|eMmZHm6l9|y+a8$>HMq+M zBeJ}=0A^sJ2mxFtu-HeO@Y=*&6~B(&Cs7@B6ozsGfrYB(EZk>C`s>ckoNGyo!pE*o z3>R;t2L`DMlj;ZPzoPtSm9!2OlDASAW_as_K(V5fFk2zBR@gk;C9sxRh9NM0M&fxu zV75m3Hi5QPx#A7i%4`3J}{H2yh#J0U`+8fqNL4;&l$M G?*9eK?Q+fl literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/scheduler/Alert.class b/opensrp-core/bin/src/main/java/org/opensrp/scheduler/Alert.class new file mode 100644 index 0000000000000000000000000000000000000000..a7cd1c37868ee0308e2ebd6566724df141419d94 GIT binary patch literal 11525 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 DW2vjk literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/scheduler/AlertHandler.class b/opensrp-core/bin/src/main/java/org/opensrp/scheduler/AlertHandler.class new file mode 100644 index 0000000000000000000000000000000000000000..4bd60f3a64ecbcc69b40a6649092d1f465400f04 GIT binary patch literal 1658 zcmdT_O-~y!5S`^Ku!RC?=@%ClaezyawR{+?7^%_hC@WdJsWn8N0gqJ+hrWffP zl{I-}MS^jWqKS5Ca0gt)G}mAzfR!pZ<*FCG>71Z&0n9y@O1c*TsIAr{IghyQw=Yj< zqba4p=0wN?t@{}7m#AEG`#6C0_l0sY!$Va{D?2IfDy1EFQY#z4t=4Yg^ri+x2XfqEh!Ss(0%AnP0i7^v8 z%Vk<|V7bvmDznd6xNwvpi&3PU=&+oNKJOvhpsF`6s@@n@eS^gsEu*Wjj60DqM_4?| zsoJAhs&&J^zlNvO7@z6sEpjxZP-UGdgwuwd z_wd#>la>`K#;#NtH`uGfI~m_}@f#UG8wUts3F?b53wHuo+iG3eL)&>h zRX(-cqO!g&vJRRfPL2>jy`=?DkGYY4eerO{C6avW=|o;QS|f6*u&oOt@TK(GS4TH1 zd+=^JlvNWRLjcqCEdZLyRSo&CB{sgPvXf*|QY4mX( YyGG+;^*@AraKGArP>m0V`5poM0_g1|2><{9 literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/scheduler/AlertRouter.class b/opensrp-core/bin/src/main/java/org/opensrp/scheduler/AlertRouter.class new file mode 100644 index 0000000000000000000000000000000000000000..374f9a7a79bc76c7fb47b1cda26fd17c0a9b3825 GIT binary patch literal 6646 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 literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/scheduler/HookedEvent.class b/opensrp-core/bin/src/main/java/org/opensrp/scheduler/HookedEvent.class new file mode 100644 index 0000000000000000000000000000000000000000..ce275594b80dd7b87e2afbc36af0757e918386da GIT binary patch literal 890 zcmb_bO>fgc5S=Z>j!hsXP`;5?J*6D%3nv=&f{Hjea7d`calIZn+uFO>sO`t{X0U-|ln97TPxFAD4m{&l}L>(Q`4YsZIiZg ziA7hTP2U=Gip9|iwF_aJ!H&mPLYL|L`~;{Bjl+lk?#@3WJ59e zO>vJG23xL;RV zaxxfaMvCfKSk=dyWT5nl7Rz8d$^OO$GgV>hj7IN-gN(-a?V`CVwQ!xKQu#lZnqHmd zYUa>4jOV7a65kLXGUFw8`n`tmm`q6ILU{UzSJw(L7|vAN(pna@qBdYaXu1&qTcq(# z2q+FIda=pIUtsWY9Djo0H;>t&caH&j?)prBCB|@%;`=_{rAiO{-$Qst-+=5S~raCOM<2(bgaJ$5MPq5$;|@#E1}zLf~q_)`ET8+-;Msce}^#UNC=| zprG&mQR3_+(V+KWAeQ4UGj}uJe6zdx=KGJ&Ujg6=&^lBIJT*EBQYK_@!6qzFdK9RP zOQW;EL}MQ33D?0PvuNu_eL0<*b*K?|yh1L4%@;xn`;tJlyMIcccA#QjhbDn`Q8{69 z6ui<}=>}XOwX=6pbEA?8k7=aROeD+-C26MBFyX0rPQB*InA4a?3DX#qvFHOEak_^s z`12P0UoGs>SaCz8vNUzgP>Z?zW5y%9oQnPCLQ{a z(*^Gp0tac9h)7s!@{DV2SQ@MI$SO^bh8IY(yHACoxs3U_kjVHPzo5+A2*sfPmh@9(qpe>P@a z#rj&asVSlDHP^X-YohBx1Fp7U1FjL+?uNhBXLf9QPMz8z{(;`)>5%IahJr(&6RLV+I}1SzF*Mqu}CF0DxUKu&}aSiA3prcgu7^1{Um z_Zo1UfcyvDTx67N*sA9Y2^_0jNBp&Li`1HrheAKm9Z1RbLBfo29eT_2;{k!KKbPJC z2xCy2PEdjjP{3({!wR5+*9L5&UoVDN6)gbo3pCz$yid^jR>ZXN>0$uyEqu0SQE(kP x#k(7D6LGfZQ9Jm%K&zlVL%UUiwo`&ug*%v2fxEEla_H zWJd{?8)PtFY_7KoK8aABaL*a3I%^vgIKD2GbQ=ujmOoyOSUF%&-O@4E;0A-KGlbX1 zXfpv*ta|uf8MHd-V$36*W-<{@YQ;07+X<$2l?V0xW8^VLi7*tDiRhE)AYUYDntf@S z|D;*uu|~_4c0BbWaYwm>GS6~JrluFU=_xhKk$UIKG}FfMA})6_;gL`ty^Vapdx*g8 zG)rV89k+Rgh6+~JnLKjZ@ZI(a-No_>mzL)$#v`ey+9P^HbCDNK?e2SMU_zIPIJNCX@;W=+U=q-GR7-AaCG%uId%V`U71d!I&9MzacWCw2lY`3 zI3l_MG~i|f>M+A#cDdZ0rdsp?z0K1$ntefr!(gVRBas{kBmKI+S#`&f{BgB4guh;J zXR^v#VMyL)OUWEESa_E!CsW*3U1=qqzUi%|@I%T9S_6&OCg47Uum9nkgN%|Z8`=U! zbSqTIp3Y5#Z={#I(QjXc6Vq~ADKuM&u+}TpxY*$qshxNlHCSRWeb!ETKH$NmwbYvS z$=ED#U@%6lmF^U-!8naIT2)|zeqZQs5zx-{qVKF CLyX1% literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/scheduler/Matcher$EqMatcher.class b/opensrp-core/bin/src/main/java/org/opensrp/scheduler/Matcher$EqMatcher.class new file mode 100644 index 0000000000000000000000000000000000000000..fe7ca9e2a18b3956f87f00a63349efca80c50c67 GIT binary patch literal 1972 zcmcgtTWb?R6h70&q*+s2tMyhdWA&j$$i66o6`_<0fz*PH1^YJHJx!+W&a5-D!Tt_^ zjG&HoZ`1 zsI19C8}%{H6ExwTa3q_jyPro=4Jr(tO#x-Fh+i^{9L9$t$&tZIyKtBY)e8@tk*c@F zp!!-W>E19{-8g@}dB~u$qhqYWRR&8F_^vV9EWjeG9DPs*txg6Q^GK(eOoWqK@yzIM zf~kGQgLy&tNlz8)B;_E!tXt~mkr@jQ-5q6x%1WR>j`VuyM zNX>FfL%%Z3v~j%9%biSkB$T(_MLv#u3dL5MB{GtZ+dM-<2`lSN9yx9Je)oimy|Kxq z<++OSSSrf)m~KcGdE(A$H~C&}oxdS1E|gDkX!wlDpg!zUNyyx3F1S0*aF$B@12jg) zcxeu2m*1s_-j>wA^Z(MtG-g)Lwv7>|wj}JJKFb2mDBJ)7SZY8G7KnS=^ibaAX%|gL z5V3eR(~(FHg^_+gI;^<9v? z3eqD~&>k0ZYXR;u`1&98I7XE80!S|uHiyiRMQkOQ)Eqd2<>tAx8X(z;FG^VaT^SbI`pZ659seh${)K79l7uSgKn-Y&B!YX|ZKX1jJFlP#~_IOe`3F!fwWVP6oKC|3>$Hlx*Hpt z?4T88GC5)ocm&cd?pZBlD}^$(iZW_D5g(^f{gi7h0)B1*$9KMSr(P47zd!$_|C5+; z1>4k`bxaCvw>ZuV91~p^3NT%QNw`R0pZVlq-nHv9)K#rdf*i0jrDO3Tj5!gAqlqQw*Umgq= zZYDbfymBQYhnobJ{>p*CB*NF51YVZkr6eU&OaktninY&oM3TEwzcqEsI;yXv?)sPH`H=4gJWU?_|4*2 z>RG`Y%tO-rFTrJ8Ey4m^!JPzY74e5iS5uIRU8G#s?>a1w_~BBY!HpEZ>4D!zxCOUI r{LYRyH}IQ)I~XAc6qayaM5fD#vH~vL!}$TuWt>-WUdR1B%4EoNa-+haXe6LPmEIy_ObQ&WDM2i=IvS}TmW(jwvY9#3=u#tB?X#UqyN*4DQ7 zxUUJE=jLAm7n&`hx!+EO7YIx|2$N7R;+k^bKb1`a{#i5qH9f=};uJBgJ;aV|AZ;rHwYH0rw*&QK-ZG$849=IW(ktU`X}QkU1I% zu4p1OjhXh_RO4E{-$C_{uSJ(sjZ3OVrK%k%+c%6mLTYM6;?!nT%s7MkEHS%mbDHb_ zKP=c20edzy8Sb28DPvKYYC##*PdnTzHR4Vb`k|((+u;(^B2ij)eJv!-GO=8tp`zU+ z;5%W$gDP!xl{R5cmqkx$nDoSBP8mk1-H+gv-1TsmT-P#8c88edBs9XF%b(X*9yROV ztS+_c1Gnxm88WOSujI77laRZPTaDF~wXIXt(2zmQbz20KA#-WWg&is4w9rlZ(0(ez z>fGT{ne;ML5Qj>cNcBrD86Zawxf`Fd;|kO43;t9&1PDd>Mi}#fqFHsEp#z?4;FZ>T zT*@#Q7KMz6+(Wg?^>W0N`VV!{9V9iAnEeTvrq0<=m3#iWOFH_@9dHE6d~iu?ct|`B zsliG3Xv7%?+i2F;H`Z2Nsn`P#rl+6)mk3-dH;=}mjC~i(*fib5&bHc(x4GOf{7v9W zQ}`^}JmB+#m*ct}DgyJ((T6;o+otllX_dve!_{)-q%uW#k-#4gQ<_uja1wHl{`zP= zkbw6jOak%5*jt2I0>3|_hK~E*IXtnY6L~NN#Og_ zQrbO*M(omf#!;F{y|%N`#SnHmOaEU!u%(HkM{Z1R zUyJSMuO|4nT^1qF^s!ae0v9S@6PW$7n`j(e8c8oyA=1^7IUJ=YIb7v6^9F&=d54fq z2j}D~hB)VW8$LQW5h%8qYMb*mfpg_bqX_R2`0n(a?Os&QlK4#_o#L^*VGZ^7XH1q4 z2>j)sfB(86DKnbznGFG07VDxbef}9zH-VW$wNgS#KTH(h9>z4Mi2`89zIZ5>jxYuI zguvu6Zx`TU-e-^%GqD4S$WnWxP(HOtunWDt-1~2Ck;>uE7h(5R6=gaNUA1gL|JucxeE_%NB&| zR)kjuAiQcpn6)C@7=S=62sf+7 z%^7XJmP)O;-f literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/scheduler/NoRoutesMatchException.class b/opensrp-core/bin/src/main/java/org/opensrp/scheduler/NoRoutesMatchException.class new file mode 100644 index 0000000000000000000000000000000000000000..e2dc7aab957d0739dd35fe991314fafc99252d70 GIT binary patch literal 1093 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 literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/scheduler/Schedule$ActionType.class b/opensrp-core/bin/src/main/java/org/opensrp/scheduler/Schedule$ActionType.class new file mode 100644 index 0000000000000000000000000000000000000000..360ebb7720db415aa01490ea37fd9aba725ea3cd GIT binary patch literal 4730 zcmd5=TW`}a6h7X{x`sl>V1seBCLV@_S|K4J7(yGPh@ozv-6S5p)N4HwJF=aL{xT$x z;GKWO3*tC!StqL1Lsi&A;#@wT@5?#1<8yxe`tl6`9s@1H1c4_;hqagqSvzD$tfq9U zrV=iVPHHA>^JW@xUEA(m-Cqr@P;#e}@FEll%w&BcCR??4`-eQV1g5yuDvAg^ZTzF< zWdhTw?3*bbq|t$J2B)42DeMaZ^Gl6m-fgReY%Q-p*dtI_Q%w|hi9qETP}f@NX{eCO z&t0jxQPB}^(on^Th?x5tnrO8j@z^}0L20MWX_JQ$(+Emf_>r|ZT|}=`dtRyj@ya4? zDsHG$md4D6ZECSE|CFE`2K%BHs?NVvC#gEzQkPf6iPDy$rI1NycAwL};FAaykAgU! zLxUeT!jvyA6Q5cUjWT#{f$MP+iBMQ-(u8Xq0Mb~UhE{1>mubAz9Y_zUkoEx;hNiN~ z4}`=}9v}p-SsGz*j=NRqMry2kgDA?Ri+z`202GuO0zrRAfm%fwwK$W4QkOb6(D_qz zN^H98%F@Y@^jzO}c+|nD9jT8l3JPc8iRgN|_wDw(&HAU1C)tv4dc52sF%Vi$jE&3A_}t`W$wT&7-83#yUUqT@ zdH6DCMP0gG+$5MGi=5{=yup$oo&V$C(#wf;X>}(z-CMXRA3>HI#A6tGXvt>%@KIBj zEw{fq{g3Pg@`~h3r6P`-xxe{>(yP>M@R;SBEatxd-nA^#@P@x<+IWMvQfY<1lufna z5*5ssTu5Fk+~WFv#Tl7AMuk^2yg<2Nh8t-$x!>}GeV78$`7VR-D+0(_yr5bklD>?1bL!wDn=P(pw;gk2tikZdqX{0IqaJH$?aa2jhTYdMle%#2d; zfddB)95`^`z<~o-jucf?K^5HjCHw_06g|?ewPq*Yk=a^YR1Wrzq}JD8ch95M{rg`( z{|W$S;ll!q5I7@+TMMWc*4F8LTH~Ts;}Hv`h-%VZW6juSqPE-~6=0OWfke=!VXL;Z zy3SlhU>|jr$3p_=8+qVPUrt_I*@#%3z}~xD1QNj-4Noe(QCjv|Ayu(p1db;+FE%pW z%Sw1*t3Hi_#ST*fhk7LtDDZqH6%P^UAimaWF)>ROoA;RCM2%$@Do<@_9w;19DI2`y zxk%-r7kX-%z@Ey~Z33e+yvYi1guq0`V@?Pzitsp@`14jMnB@L_)^uDRM4nHzSDZ-j zRi6d&f>SQ7tTCs_T%QUQil}>!wwQAYyKtdJ~d57bSAB4vd$WFZS*4w+G^?iMBq z(y+-{?!yZ-GQ8Zq`~D|Z_2D!ZDzVW=W^lZ3V$$D7+0aBRrlAFwWYwEz&0N^h`PKF( zvXzik0IqQEGfd`s^_5Gru}<*t!(@>L%=YY^Nxn3!#cxm{t%YyK_+eyEWsxuF4;B0@ z(;=DXnBv-6kyDe!tgwoPmC#U?SuwH_+I_T#%4nF%$}kDX#^4|vCvc?FTY}KVgNX)i zGmCMs%ESuAdVsD~aF_bGsqpl5`{t-x^ROgQ%~eRj8c2C_rO5)EBrv|^g9Fu98d>UJ z*Mz>WC_0mf?SSP2bif)O}Oqh#O5 zNq{EeQIEB#BD_ezAErG7#?Z%I#V@RRp8E4I9#Qy$BZw{IES>(h;zj%vQ&dl~8|W z1SZj}ti6%KqB(C9SRbA_MRr zpq(l$9;A4+khPp9@p7fN>oktH)5AV(Jn6S?WWA^IGLMCeJu00lj(5P5E)QzB7KTjB z_{niufCU2QcG!5s%rWc272pP5XL(`)ZerIn7*agFbvH+Nkb+rJ~03f3UPf9#S zv@H@&0!m|-5nGI~7xv+31jj|ZTS~@dyxtFE$#}f|``AC8PqgnJNPdr^>_Iq$2#0ZW z7SRd*mVbfCj}9IE37+^Z!Fm$^?@OK#IDzA_R0^Jgr|}9C3^RB z5yo>MY#0$9>toGDgEgNTktQC(W!ix7nGxYY4usE*2$yn1_X{J!}?}NB<8u+((=@@)~ Q*JF5|IIslo!!q3Z8!wzijQ{`u literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/scheduler/ScheduleConfig.class b/opensrp-core/bin/src/main/java/org/opensrp/scheduler/ScheduleConfig.class new file mode 100644 index 0000000000000000000000000000000000000000..d8dde9b7ce7704dc2016f9275c2ffc9f34295fce GIT binary patch literal 7479 zcmeHM-E!PC6h2DQcz2urP=-?40-_X13hdGn+R~(jkR~*(lQ2mehT%%_YIl{|mPfMF zhCA-K)%C*UD?28JVh|B^Vhwp}tE=*4X`dAAkSy8vsm$>%a(s zD_VKAfQhiS#kN^Zs%A|_Jk%7$a~pCHGm_tgUWtaW5t? z?#pJAD*`3gO8?ILh)EeT^0@TG8DXtC+@ zxiFM5OA&CmJD0@rkx;yjvtQgx`xR3x;4xRb2088q^AnB(j%=F-fw6g6=MKC^;6#t> z1*N1a!8vmL#|NR}TKe0(PCXe!!cXU?k&?(zpl{Gh`F@MjI`@2rtk8&g4_TAb3uw7& z+j7;8($xi8mt0d6g9a@2S~SM7{BeZ#>K}{BuNohy8kVa0NZGt1h@^^XN+%@sm{Aek z5=xpM{Qa!Z7{*Mg7 zRamfWo^y&d9!V`?sdjP%p|PZl#yb(Ol(Q^gMYPDg0{{^Qvqk~PoKkGZhOQIB3-FeL z$QPc7sZJuUFcOD4R*7MeX4!6XiV97Wu+AGI%P zsFc&3P{2W!$O?%1GFk!Uu2fe*yM_rUQ66_Cs~gt$#rS?3-{uXL`0+qvto*`ooSLAaWFMS`Y0aGRAD8Op*SukSd%@#O^s~an> zhetG*n&Cc%&Kye&=!!#Blqol{vTeya?bMYR{TfOJX*Fp=J?(4|uncT)r46&D(hP*w znC8=TKr=;U^E`3jaC-J-uh(er5qZcUDR0BudYB9~1? zj_O&%J=UVcTw=@CGK&frw^E5!*t^4Yt9U*mLIF#MMq&|0EO<#5P<}{U2%DJm3&gb| zvNF^9j*fYdGhL-@H$L4G=Zx1RRA4+_JhT_(~FNa&@2Kew4r|S9;9f zU`m+xcIQ~!61d-=9%xgaoh{%_`6#Q`JMo0T<;j6iaOYowcL@Asv5&TJ6bq8!MOp$A zO&)hdM+KH9r#eR_*W1m34@ydKiNFuT(Z;ja3g|+bGv&4Vq&%B0?6vIz&5J8PkfW zCwxJ;Jyh374-B8@3Jy<2&FLe7)05xsce1Gs2d?3_{0h#2Pw_B%Z=vP@CX(a3>oEsz z5;*^)va1B2kZ-dB=B;lR>&&E^o{~cCAW7BIpe@>9Mp@x4lH6!F+tXWJLcjky^eC= z?yh^Q%w-X3Ioqb1owtU!fWRnTkc~hEj=*@@a-f90<#z8lwy_*Ws$SaXZ;XGBakpOywZm%td-1KIkHS*hT6|Rn0+~I{@jUF4E;L(vdDtS8|Z< zBQ;3`~)8!($9UP6ucq`Z}b_;reC_#cJO@i_u>UAujO@AvR`8gb_l P^=fL>1^5!tZ@|(&SdEnn literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/scheduler/SystemEvent.class b/opensrp-core/bin/src/main/java/org/opensrp/scheduler/SystemEvent.class new file mode 100644 index 0000000000000000000000000000000000000000..0dc58e55ce2e6c35d1a034be6ffd11f03a53171e GIT binary patch literal 3101 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 Q({mWPFG3k^;tp>A1o0ul#Q*>R literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/scheduler/repository/AlertsRepository.class b/opensrp-core/bin/src/main/java/org/opensrp/scheduler/repository/AlertsRepository.class new file mode 100644 index 0000000000000000000000000000000000000000..f25e19d38d9c944faadf259f9ca17f967a44a017 GIT binary patch literal 4230 zcmeHLTXP#V6h10RHg?k{gr?Axi<*Wup~1_oK?GP^(NVj7uv~mI(=B%NBZ=g??^{l9sm8$?|%ZoXYiE=X9(OeI`CsA zq`$}ZnXh!uR|%I!C%y@GdDxG*_BBtG5mxDe-$L7(pYjF|CJ4->Vp>)>up0zkTUmWfVB)R{xd$}@vm^9v zXt;T3ICYJ&q(e0#PL#GZ9n!ZVq5+f6(GI5v(HsIg+C3GrD!44BQ-p3Z!$&Jy;+R@R z8MT9i*K27ajKQ>pv11@rXgXF4*&9RjvihnNd?nCn&QK*ml|V0?>eCc-n!YNn#yw_v zSHyhGW~>OSxYskC_(E&Keh=2pMh;e$;ATgj}~|=r*viEKUeqF5&)e zwe8NGCV^T<^dwHXM(*X4k?ZaBE#BO~A=G(m1y=0ylYCxFA?_YILfn^D*uhrV)uPwq zdYi@Qa-+oM@u@i8lI#EGnFxwut&PG;V;!S>`53%3z_m*H@^Ehc2Y6BZr4!WqMlCVp+_r;6sJCh$8lk;3af^*bnAZ#a5G%*sJ;&P1L2Ofh16T2=uB%g0yhf6 zhIMDNeYl1xuKB{243so@vT<&Emn80M}z=KZ-oGnD=!A%0^4>Nl31s1ml zdFsI}tZdzB=>Z;og*te6P7|2QGNuU O;J*%^!1)hqROJz0cmcZ*%9~{`t>~-vD3=SP~KhZg||t zRjK9VHfV$9Twcz(HRgD{mh+4XGwU|vInHXXXZbE~<_x!PRC0OS&KthvI$jcn2pkD` zZR(VB_e&eh@Cl6AZn?}jft0QXt7#;&>jraJ$hnM|1WxJtj%VR}ka}dsax8zAz@-Vj zAl`bbRB#;!(Oo{>i*0g^z?tQ`<6Bi$bQ+dtm28%G9M`9TxC9RA`MU3JS)7^plJh%h zA5c!K%x8QD)5AKot#ylWWEyTzyUqv<6 zxYe3v2Qp|i?xIjt@4A*ruU435GQ*}Qj#i__CM`4V99kjUvO+epLbhXtY+!|Rn&~o6 z!@X%$>Khf!M=n5!G zmOU^+AuiiQi`V)=9wf>Q*Q6@@sk%NhD(EjFrc@YOPIDkgJ$rp>Lq$?`!Wy@n^12A% zEthX9VZRy{k=(*WCJ{pOU5#pfv&J&%#lXUI)MLslVfyTY+se+$pka>g0~!*|Q;~t2 z65336{L;5~}$2<;lMfQCoY6yvot{OW5nXs5E`}VuyAgP+ zN^2=NPsra2EtLJ{w1Y~8gTgr=DHVHh!tL_dZ}jJy`K868c^lh!ezRzK61fpg4C zoT@u=x}QWIdUsC%F~?28Bq4tsKo?a>O=%^fK{;uUgGsbUU(0=pfEFgb0=8m09=AR5 z-Bfd&c5OVZN2|#97WN3S&HJ(>apnK&eQnjfxre-p_5luF;_klP&Bsh;;{*g-5_8Q} z%FE18!IuQ)cXu^0%}_}h1jehBZ;FP8S9C-X&|vdoV)7M%zjl8`FfmbiM|vL=)mWy5 zDh}(MP>}>qOA9b#bmfaWyCfs#q)1lxTyu&-@hN zLRalwwfj9!TIs7=u`Ai72G)C?s%A;)30^RQD61p?6w2gX$Cg%8eai~nWQE4V&1+PM({gUvAz*xABK_%f^bd;SFh$KA5IeYuWOu`eqNC}Ti z!VltZ6^!4L@Do~HK8#2L+G{QhW}HLfD8=7 zNU%ym3V**1LwLE(;9m~mw-KZp#otHpGld+2C-Wgn RtFQ*&!T0bKeuQUG`WJ_Fhh_i( literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/scheduler/repository/couch/AllAlerts.class b/opensrp-core/bin/src/main/java/org/opensrp/scheduler/repository/couch/AllAlerts.class new file mode 100644 index 0000000000000000000000000000000000000000..5adaed675748c2faf2be58bd7c8d82d2f6922566 GIT binary patch literal 9199 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 T@M(;ZCYRs}T!ZUy6K?+iIJ@|# literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/scheduler/service/ScheduleService.class b/opensrp-core/bin/src/main/java/org/opensrp/scheduler/service/ScheduleService.class new file mode 100644 index 0000000000000000000000000000000000000000..92283d24ab02aed91575f5829c44d56596239eb9 GIT binary patch literal 11455 zcmeHNOLrW_6}}}K_gEGt$TkmSlEyKh0X!2N!fS+yEX!D-Wn)X0v13A7-6c(1J>5ff z^~g$=S!9s~8_wYmz;ECrIVbE{BtL+^!8(Uq{i@bXNnK+`b8H_L()8oj*SGHd?xU*v zyZ`^|KLGFs{MCR704Pc`F60;yt;OmI-J1M`N$P!JDXmxk;xNy*2*FJZnX$Z*}k9OjR+jI=1S*y z|0v#H2w3R*9U5?yxL^&VJEF z0fB?_p-T-oPT&dYrUk}AR)eR=lk`TwXcYQA>Y7g2>3V+he6!0!RHzfZYfc_sX;ags zj&GwXW*7ZwZ&33z@}!aRq>+1@H8P%@Hr@cSF}U9b4GUT%%?_jr*4Cgq%8UoVcK{4)D(d9tkQ4iA}`*5#SH=|yH7xOCkMsM|1?;)sj1oDB1~ zO)uz$o7A*1rM7n>jA5Ed<*JzCzT0}4i>R;C;*l1zLdW(m+MHHdA!`LI#D*aHlIPQi zhe6eoMMHwUPdjum4qbb@kJsipGF~(sB0kNWGFdPqksns?$>#Ms{VYaHRakyl`8h|l zo-4v=gKbrs@p?A%Y-|kCirW#V9fjciW{T0dMVr7nL>SH}Sx5|53QBa|pnN`N3|BWR zxG+Foud}eTE0?k7U8gJ(t`T(acu^#hS3-L+e(YQyhp}*83f7eivY2|6h|C~CxU~=Y z!}2P_b998)LK=f_G$vinNlwUc(K)byE4xx_W_gAmF6yKv(Y2Ve?NMklB<9@w%Hrz6 zt`C;UR^sj|ob{qQDNWRNjTq4s({quIUJoMDlHDDF$tU3$JTnDH;8_AEW-Pf8lTNuM zc7vXRhR>*5CyK-)rnBJ&2yx(TTt_SfQ7>%{Ug?qFud$djtetS6Q;?MOyVi8`j`OLaedc ztI(&4)emQLPv8@k7X|`u&=)#a1jAl%wGEu7H_jf02BaA(@Rim#t#9l~z+q{26KD{(A= z#;!MKEs1iSisfeOJn|V|_5M%8OBxR7haW{I&U^KtRnf%2&lLc~mfQR$*5uCXdnqWp*aK{D8ohLs@$icFyOsHx`Cqzu7E1;y1dfrB2Pr z$;qR_F0bryd%y}7fy;YaL41>-tM;k5>+T2(5fMw2+j!Nk!Bqm6svoA4Lh+lI!PF%d zhM2zg%1{G+$a!3yAH!;#g>CV<3xRVgdJT-Pmy#YrJ&sV4?J2Z8PqQL{w}*z#@+kpR zF|<#I=WW-$%5J2d=!wm3@l{an1p>$q+-FhLR7;i|Tt5pL0=-07QIz${^Z=wLQVs49 zn6Kta<%SW`A>-sdY)o()L3%@Qb3tLB1%-(RXREkUHs5UmlgnYu9C`^~vk^F+7n*ES zDES5lTOuppBr?FkAris>95q#booB!XHi~&D8sMS4oQ(mSxZaZIDPs)i?6{iN8UsT7 zR7q4^13nW<XHI!Q;BpL77L_56iAYBA1aVSCDPI^-oBzhh?EE)l`MR%&_&uu zg|w|ix(>@F3(MK45dNk_SQ!H0?@ELlu&S-YKa>b7aI=K4w;euLAOL&}w+ipxE-Wf} z@<)YlzEC240)Hy$BC~2N76o$`)(4=nZ#!_~sWogP1vx5MEpsb=SQrZf*n>a%{;LKPv<3gVd2_(4Z z33wXB@lxuNxxi8{dXXE?cKrGGv3>GSe*XUY9RRMv%^Fk)TsAuJdrV0G16yOh(p_Ig zTpAtuhBF&5dcLqX(SH8dM2Pq~RfxUH?`40}m{L5tc}t%f5U4Jw4zIx!f$>cdkF-|04*N*`*RsSrQsEl!&_MMf5i%>3q>)zb zkoU|j>J2Zga@yfR$TS8;Ecl4J=q#qEnWv|jrDv9Q6gN~VOMA=)tJLC&{BwjEDV~T~ zZYEi7CVH9^7$xlD*+)y(kozFKXh5YrF-CX^I1@G|iqx zW1b2_W7*;Fg+v+eaRvJ<4s9{INngaqCMy_4nM`zN-~!Sc&Yqq_3AKtcYVmOof(9uV zyaj^~VNeTpd^udUA~cR-UaEu-ApO66J0K?>Ou~Ut7=vj7`y2fREb&I;i}+*zGVZmx zUSeo>5~rpD7OpTYl5sv+wX4DqxVl*0AEM72>vEg>#>@@wYs~k{sly2Z;eVL1ZF3-~ z%>1LwL#YcJuGGWTzk>-}X>E0>6S)4*RC22eTfA$+C{9dnT%q7+CpRusm`g~lqRmaT zZkecIL}qwvxRmu0{TP%FvNN*5h%ir?c`QQ9b?S`Y)!{O!?EdeB?|?TtH=hF~+g)!6 zcr6v{faCjtHQ+$sE-&4w)ZqG-tzPya5*U3UjKM8k@^KrO0ero1Pg#cw?1mxiRiKu) z^}HRhj}z%0br<#kyl*i1c53ez*#9GCAH?HOx4^Bx!^Z)<= literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/search/ClientSearchBean.class b/opensrp-core/bin/src/main/java/org/opensrp/search/ClientSearchBean.class new file mode 100644 index 0000000000000000000000000000000000000000..6fe556a47de372d16a8adff16fa75e8c4ed21126 GIT binary patch literal 7779 zcmeI0&vP3!6vyA1H2x7MPC^3|3f+bubqKX72^5-;()=XUNdTuQr3XgdRU9Sj-5sr5 zU^sB#z<~n?4h+K|(ixb6J9qvahNs=Ny^b{#tK&&wnv3=8>7%ctC$07V`scSl0AL>O zry*s)wSZgY24QabkUSt|kJrndPu+m~<$w}y9h6rbMqN=23(J(aX&5qKJhXO*TQBd_ z4yh#!$hf3IE9{6GFj?s|R|RKoeZhd?I(2Qz4H&I4E)HxW=sNcr2IMNMnBQd$idG}- z#$69hZAy}+Bkgk7N(91dP3-)&kHe0&%X`FWVnyB|fmpMdhzDvFW#MjvYj=g7P-D2-ldTW-jXRbXs;Rh-!~U}(j&X&PQMpwL;oHO@VrflJ2NFLzu{1J8LtZPW4^K68j*o@@Htt2wk0 z+%R+5-2-ac)N%+%BcE7Dq)yFg+|p9KrKM;~r%l_Vf$4g}Y!G1`m;yV}uYBCbWJmOj zlJty{)KgMmq7hlc_qZ@aqo!bvX%SbVYt(Eh?lP31L(e8kyUm90FpCK@X!?}nOx-~6 zrX@UXMt)YDFi)#0=1@oloh@^GN+-e3wwxE?sTsgf6oIvKXk#j1Pn8GuO zDbTI@G-|o<39QFr_FtVP9bF9IsJ|jILNA$7W3ulAMuW90@AMAph9p3&9 z?_gK`$)TO*Cv8Au4G7cM$r{jD1Hzn1?s*j?Z{EI^=gg?T3-xr@DF+wfavm6Ma!*9~y`cu5az1yNRzl$Ax18*v;Yi!H7EIMy$Bheh%@gVx7vAp_S8@cU5S>T$xu zsy{P~^Pt9Kx<-o~S#od3lG0^lWh~i8R>;Y%b_a4K_gIzWw5wX2t_sPy)gAJYoMTlJ zNvk*zG?6rm>k4RB>52~((5ky;G+`qpjV3HYiP*lGj3cFS)9{Od?szrI^%+0Pz`6l{ z_p!hKzt2(R5M8U3DTa$Ay{8mr`&=d2L2gNV$MLd|Taqm2v3m-xsjwJgPG=&HWA+?@hk+5X?VA-plwq9JUzn z3g+{X6}$?sVab3iP{iL}!i<7&MM;>2=>#E#)JTJhFsmfIp`oFyBwW?dFsCGxpq!XR zXC>cMtiyFB;Vqa;5IXCiA}lBg^BNj%DhY3EXjoAa-qFyop(I?_&~RHxcvnNij*{@6 zhK8z=a6`i-%Nm$a@i@K6q}n--6Z7#N|i|9`?5_s58adqmu25XlQ}kQS~k#GBjTL*Vv6LaMD)yY0S_K2O&0Z z#3CAVp9wXK8$=$JJPK8#7SKeteJ*o&(Nwqv$tX^^s0!sBVU5@kP$d`dhTDsqpJLa^%`4C8=%T#{rIGl3rvCQ^(%83~d_wXs2X zLPnv_9`g`IJVp!F=_rt8?tx$NqlCzaP$Dtbu2XD?`MAwA zu7Wcwwwp;6Bo#uRTUz|g~{I7ViznmHVp3cj~ zg)8t{4c6eA1(zFVAG+${xZJ_F(8JNN$3&OnTTs1-@vRyhQ^8d`?_7`ro>*|RWBLro z2lH~D$=#_(_gZ7)tePskZ9y=@Lv?PO45cNfrLCaYG?P##JA0tlP;GI}x2y1;1@R0j zixJOws?6qwnG7mDrK{eU$WozPDoa<%#8P>T>ZlbSS&C9C>{+v}tfdSFbC2mZ+8>pY z8fBkqqh0NtBF|Cwa$D_#&Q$87mVdfOX()P>;*^n(QEeOT-84nAacov|@;;R>IeD+D zt56%rw1f{0G~Ck?ZW?IV(-J;1(C|P@ z*fP-2(Gos3(C|o0_{2a%S4;TRU{8LhCEPODlRsz)pBZTQQA@aOpuyJ?whdx2&=PhG zVi9NwpBre1wS+qc8l;wR7w(mAxye2Gh31}oq9xpiy%J$^PwEIiYX}u+OV literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/search/StockSearchBean.class b/opensrp-core/bin/src/main/java/org/opensrp/search/StockSearchBean.class new file mode 100644 index 0000000000000000000000000000000000000000..4361ed49f44fcb23d279ec5e032a1f4efbe9cc37 GIT binary patch literal 4336 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 VZ*AfDd;GP~pLgI}=%Cl`{Rh~r4RQbg literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/service/ErrorTraceService.class b/opensrp-core/bin/src/main/java/org/opensrp/service/ErrorTraceService.class new file mode 100644 index 0000000000000000000000000000000000000000..8701ddecf220a2bd09fe0220ea13bd23a345a040 GIT binary patch literal 5131 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 literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/service/FormSubmissionDataMigrationService$MigrateFormSubmissionsTask.class b/opensrp-core/bin/src/main/java/org/opensrp/service/FormSubmissionDataMigrationService$MigrateFormSubmissionsTask.class new file mode 100644 index 0000000000000000000000000000000000000000..88fc5e8073427ca675581e9143d409432637dfe9 GIT binary patch literal 6746 zcmeHMZEqVz5S~j+9GkQWp@otHT|%G^6uUrptE-AAFKQ%*mO8D(C$v6qoK5a_PrG|= z^E>zn{0JnF;3E=$hwq44pPl5Ai|;PFstEPNz3t6DJ2yKsJNw*U|NQzp0Ia~BGE6w| zqgHOir(87lX`eQv>NRA*gjPXAGu7uVYivs8x5JLlwdPW+Q$x3TPf>#p?MP%PYG83m zy+idu8A=Y!4X`~bdW{F2edZbmO6D+N4(zlF93K_hLDZ%Lv%4{!wF6VF7S{$}Roc8K zs0kI0er?crw-wjBc@M>=wG5TZ);kW&x7K9n?yYy$q!6gQRQA20s>h6dKV|l~Ub^kT zW+5Mg;8SyQfGkGKB>aTAu_Kn&WS5oUD$ew=Yi%ec z)ik{6%uhWQifQTfS(mud54bn*RuU-L@tCjgkZNUTkC85OJ*rSBpzZg_e^y9jXqq+ND=-1lD2G%XYg(=kCP){rsw4uVBuVSAnPH{Ct@5I6+ zjfA z{l~a2Cuvfx6bAItN78*H7VIfgmeZbjpmWZ-O)V+PW{CJa3g*s>p2vFB8zj=K5na3y zqJ{qdXQ{0VSU1mXw-2>pNgjqJ#mUt%#j-DGLZdY|MYl-k{46{)@v7>DJ`*OZ5C1p9 zF0a;kCN-CA&T1;B!{k&YPr;P2SjjNmx$3H%2FNKsrdUnf5)HRLqYaODh-GXat76;* zN!*9THdV#fm@nA25Bf|g-c2c2t8fM0nt?f3aNugKb<7k+`K4)@q}dkk9KQ?w4pTd} z0Je0WbgB1bSe_3XOP1qvfEG!lCDElw{{2}Do7OzbS|+qS2ln-t7yPM~FyiU3XclSG z7&mzicQ~m+;lO0g&i-{wC5HQKOZ2(sIQ^@ZiyM%IINR0M$j_S7@Sy|u$J2_IRUCB~ zzrZ1Mdq6L5a_ez7<7p^~E*P+i=*3&Y5*xT-#AWY3?wF}^_YNJH*+OPo4R{Hr%W%tq z^&)20frW9*e#3!BMGO-sejT`U^nbz9`DOSF{~(-pn=-68a5-+cGJJ{DuuV;6_!=qt z(K>l;*&+XafC#U zkgPuWkQ{gq77^)v>}kha!s|#cJ9>onL4sa?C+Jmzo7iUpYOst~fRFH)$7csVhEMRm Yj@R4YF2FZ>6h4P9;47H?7XbYNdjJ3c literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/service/FormSubmissionDataMigrationService$MigrationType.class b/opensrp-core/bin/src/main/java/org/opensrp/service/FormSubmissionDataMigrationService$MigrationType.class new file mode 100644 index 0000000000000000000000000000000000000000..0e1a2a382053d23de8b8dd63dd3d7d14dc3876ec GIT binary patch literal 5353 zcmeHL-ESL35T8p;QeV=h1X^hM=&C{@m5|K?PZXgT#}SqsTw=EpPu2RoId5{ed)nP| z>%R;MBzWhKLd@P>sZB4r+sLR0^}*iz`0ec6Z)av_=8r#r`3(TRg8N&r;lYVkK|7{g zw9n|AwxtT&GGRiiq^+5n^MJLFq>4xBB<5OkDGsTj$2?Tj;LRw9eD?Q)@giYc(D2|^ zCN82PY!4@AEHEBykB83&!)|Br?C?7e#)I{*{K$hHT;!y8JRJA3RW`rjf}3wWxU)Za zrP0VJF2YCshfh6dbmbIP-tl1f6`-e-RM+9Ax3~F3D5hmJXHyc$IN?$D;UrOV60ul+ zP5kC~#>kWf5mg9EXmCzLMjjxQt%Ax{LFEH7l}r;M4T-4x~yGS9RWb#Mi5Z=q{u zKquDlPZf>XbE(ejNdNbzpj(wHQUsThcf?3SiNRRoH~VoC@qinm(}XGXQK5}W1GGqz z2cG?hglm$DDLdr?-RuzBFUC6Rt}Aj1lU5OGB9`il}^ z?vF7uGdU$8Gu?=4U8bRp4E6&_b@cU{oz%$Z+(w_*{d$?JRay1;y_)RDN(M}8r22A= z>PoMR`!S^vKjqdCUWkxZy&NR+^n z6h%I!7~wAFD-Rr3oYs|TFgu(Si&Yx<6Fis8H1V5j6ZFP&*()s0kxv)Vj(cuH zONFvEJl;h?=eQU}ETmBuNb7p^`bo$S`u`tO{VTBRvfHDDHmuCTFr`>N9V?i9LmQf( zxfQzQpo^n$L2*ZgY0QMFYs3Eyw{z9nWmBE7j@gu>!8oeok}%awR%&dwQ(omrfFt~p zWVN&;DoUT11y8iVGyVYAYW+Fp8|HR6XG-yDMY`(4Hr(2Q>+r4zw@X?{ zwv)6wz{>H5G@dXuwh6EYdjlEJ=xLFj7Y`d|#e*w$?MW6rx literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/service/FormSubmissionDataMigrationService.class b/opensrp-core/bin/src/main/java/org/opensrp/service/FormSubmissionDataMigrationService.class new file mode 100644 index 0000000000000000000000000000000000000000..136e891985bd62f99440df1bfda52b694e454d1c GIT binary patch literal 9792 zcmeHNTXWk)6h3Rx_|hvWy>k(zP^Xlb($Ydx+U81Kl-}%yUSK*Kd82Hj+w4ki^T6;6 z_yxT4#5*%ELm!#pjX%V2R&pH6kt->fY0D%tv8~;+-yVJE?Adcx`t$E!e+Phb@NE$a z1ZJf$YBuFg?J;fBnk&qj>oG?PuO^vjbA#39U12wZC7VmhU1yg1bb*_K`gqZZM2av% zU|$GeQOB&^Tzbq5pTMZ)nkEwjcIdimP7*k<9K-4iCvZrQPtxhY5y$QXj?ZmYciLR? zC5uftj_Ze$O9DIfsla!iaKTzATlR!&FezP}@kk%yt@SRH+ikecGB>-kpV8AvnCTsY z7_U>yn)18`s=}J?Dl$f3zdqI9h>|cC@J#Fank7spibJM~(V}IRd1P zTwUT0_b(H8tvbF)U}VN^u_7EHuy=#kIU!t8f@5TC^sXbAbgedPX@+Zi+zKhtkOAb# zmKU{3xw*o$7Bei0>}Vb}R;kIf<7nZDj)f;=WWM8C%VknSUNxKg#){_SNcPl28}^Pw zk|va=OelpWl5nCqx$U{a*Fvel=ayzrWixGwY3n-21QilR{czHuO0reo6bSs>q;jP>aXwq)nkx?#AYX8GE^kV`bxa zYuMdgAVs6B=vn2uJ3!jJ{rg9X{Byi)&I#;l!&eLIw8kBOsP2aQ9Bzoxr;aZNs@SH2 zQ{0WvJ2|@W=GZ>i2XYB#a~RAc9HmVP^xRW}c`CI@kxO52YE3Lr$&e@qcT$ABMKQt+ z<|_&uTO2my2FA+lQfD%ZCC{h(F7C@onpDa|1KReHbRUUjkSQk1$!8wuoHkdXB}Lf` zD?X2coATFbuoOlpPMdDay@d=jFKK1J16kg2V(o5$LXHR-b?55ttAx8zD;_5~R< z+H+HMi-ZP8;SR-9!VGNY_*s4U<#49FTIVrpF4>&fR8EJjq< z5|C5;Imv2bNz^HQ)(akM4b#{*9<^W<T+Z?>5byp@u!R^TwawF?fw z+jzEC)i+LxqWChYPLlTOSUKJZ>?J0eDgh=irn?5U7CY&Ar*Xtz;dq8MpW!Sl?o&y% zA0Biaw8KL}78jN!c%P8@45wE))16_PE3Wp-Sz-{lP}K+33zLI;#urOaC50?j7=)e@ zNVYgEXFwUeeGUz1+Y3{R7(C0y6Qe~Y)YF0R`1*PYP80Yp%OcN_&gC-&1|ZZbwna~` z-M|Az0%xmwzkf{jgicl6OpfcZp%~A~4Q@Kr4+J8dPe-_P>hdO#5`02PW5~4h-%85L z{9o2?_~<3@TKFU;X0$Lo_S3V;(mj@svXF4oyqL|xNrOvpfsj8kSh-)de{Z?%f^*{l zKIRH3)DA8-?15mH(&>Ts=p$Xu(cevV#XY{?Sx%@Z3Wm3dp5Q0g?)W()36`0A;dfY2eJ1M zUY)~P34T|8gTwd7j{X8~KEta5yn~;kVGjWff2&zh3iUjW-vr(pfN&xK;mQDn4-jWv z2X*g}4kr^3S_udR7>83m2%&!AU3{2;@IwLufsbGU@3n?=7vSRrUCtyR{g{Y!7MWZ} z`m~EQ(!Hzm2}nOBB7Fv*cabi3k(5V7{7fbwJxf3W10fkku{r~^~ literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/service/MultimediaService.class b/opensrp-core/bin/src/main/java/org/opensrp/service/MultimediaService.class new file mode 100644 index 0000000000000000000000000000000000000000..16828298cb4c63e1efacc7b1e19105017e0fe71e GIT binary patch literal 6771 zcmeHM-E-SS5Z`ms_@il)hL$O5flK&G_^_uX<)aRP)cL?gX_z>KftSujx;U4}lIA42 z%`1;Q@K5l-pTG=d;Ef0VD26@B$+?XhT{<30XW|*z(rNd1yL)@Pd+Wdd`Rxw?n1l5q z6bO76O1su!!mI7EF01*nUGoF(g)*pxTy}-cYiqF^i4J!JYo#Ma7$z{D(7ViQ*Vec9 zxE&D~as76iO9Ca!O77|eD$TXU)#cXxrRD~K2}?7zA}PE!Qe0^GUKlYi+G1|ZOK_gR z#ehYEd(nN-VQn5F%2sn}c|AcX!9|>@D;)0Qi_4uO;Wl{Sha&Rj0fCn-Ewmn2li98U z?kPgxhLx{>qn`yaF6lX!g#4OCy9BOmvykgKkH)WU#GW!<)9Z>*Y`c8X^ZW?4L!Ai} ztwd+UJl9pqqhj;I6VU>JyEEA;oLb)5EduAQ#W?aG2+19sYq;S%ya=xn7}LwKETu0? z@H!bSed9?U`fisy)b=}pa1(K9Abpg-6W*qk^5!n54!2!~h%{jKJ}wiTM(3&aoTu7z zo@wg%Jfx^I?Xbw+r4e%ShXMLaKPN6iRXJf*2~^F(N#_)uz?TtCsDw{#rmRV~IX#s4 zI9VJCH;=Gy!WV)xba&?VOe8fY4AgGik*vcX_;TL}`+vjI+szq5)5xccMh5|}l+%!8 zM6|+e6-P2?E9HjE!f;-1_1@$Q8N~gwr{Qi8M0#o+*#?1|grY$J9mSd)ux2N4g)Jf) z#sQZYYcLJSSXrK?8D(acijc;h!*_(oohn_6!$?Jsgv~vm!t46`oH7goyN@GO%Fke? zXJ9c}R*k!~xt?Q`gf?I@S`jYKp*8a8Q%aaKrB=n5(AZ1UJez~N{LtosN}oA&TF}AT z+{m0pL?Y(_!wc&mNb!1n&~^$l!c)$|W6aiZR<-$?-YIF|;iQPiXAMgG}q#35WyN zXHMz@Q+Y1%eF>^$=of<(*QOfmVj6jp5z&c(Pp1JRtTUpsdf`NWdM@>XYOS&TzCe#{ zG?h?VPm~e$65J&4yTPu0k~1d^8f}Y#*bUWc^GF9B1&RrBGAqqms#w7+SZ;~7$D&wb z@|$@o;e21;u)ct%`h>t=2BvxeDk1`-*a&d$95k@m+H?reOe<)sqW1Fyem2lv^9;g8 zG@5Ca#KhL}V`+2c2-v^Y2)!yO>5QTeScg?n5f-tPt5&TD4Qw2zRYMV$5lV9xVHKO+ z`Wcg35t`UH*F##wB7Aj7d{{*lVePS2f4W0(A=X3~VoAS=t+f!QfWQ#`sZfLpoP!a( zdj;=HI9kU00*+3?Xy5Y%n1C@D$9EHO2`@$S624cT%gOHu@?J%h0$jl{^)!jU*YKLd znbcgBM{xbSiPwGw`X@dW;0^p%bb!~J_&u83SKuvpI~jWiW^m*Bmf@PvLf^EcFb8 jpE3}J;Il-Eg`*Yv9G~yuHI8fl1>AupSb;C$E?EBpRH2;A literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/service/OpenmrsIDService.class b/opensrp-core/bin/src/main/java/org/opensrp/service/OpenmrsIDService.class new file mode 100644 index 0000000000000000000000000000000000000000..595ecbf4d31f398df9c4779dabcac5d0ce03f7a0 GIT binary patch literal 9253 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 literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/service/RapidProServiceImpl.class b/opensrp-core/bin/src/main/java/org/opensrp/service/RapidProServiceImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..308941c27acbf5e73b8c33140fc2458d46b309b1 GIT binary patch literal 8925 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 literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/service/SettingService.class b/opensrp-core/bin/src/main/java/org/opensrp/service/SettingService.class new file mode 100644 index 0000000000000000000000000000000000000000..d26b8a2bd62b3ad18ae3e4915adc2f0b5e88c770 GIT binary patch literal 4426 zcmeHLTW=dh6h4!L_)?RkNm?kSFiD{}1?*A^g*u9qMy(WSQ=~dX;&HMbZzkQHSM!U^` z3E4bnJ=Rp(YpRe-qr;}*x+h%TY;$Xc^xElT36=<~CBi}Hk=G^^b#ePcZC#okHBJm=Y+u0f$H!Qyh&hn^rZ({D_w?F zQu_5pk9Vl6f>8L(3MFZ%)v3<|bB|Ul$7h^&xa%{GLLqaXFptx1yk8@`Un9HU zHti^Gs8p5)%(`dP;z|B2#9NJ@M4lQkPmNfiMjlT3O%a4jTbf8kR`}FqGR8jTbfEKu z;26@&6E%MK&Uul~7Z(gQ`b<}|fIn6GNg?b4M=~eOfumMYMr}Xj)yiQI`oa~KnkeKN zT|^qIBNrWzrtVtbp~BEec6e7vv~m}BaLpp$j!QS_QDkhqgHn{q*ez1vG018q_4gS% zr9ux`tVKUZwpuyxnK8SQ(YBW(IeycrSehZfA6fNO#33>5mj4EKUOgOvycSa7K*_G~ zBArI~^N%=6dc{yj$!CWA|6I|z?V6Ve&opOw{yao0Z0tj6 zxzQZ`h+EcSmd*I~3ov@<``lyxzV@PkOIuX? zIen!HHMm%V3ak^jRCh*ozHQ^u(Te+kRRR_W^FNLmr_L)jBXpbqX4qC4-X-vT zfmUUBq?joSyYtkwo{x`az&h8-PMQ1t6Rr)mRRmV**we)(apH7{q*dC&lgvgMEplUG zb9X@7Lb))eYfkwXGuU z@`oZW0~^`BvUwmG$}lYUAQ*)Hy^Y|^MvJ!lOsXqgmV7ml& zad6FcMya+0U*p*OcQy&sj)XB-u8wi=Ft7zU!Qyni09AMcmXlQp%J{pCI~9D3HczJS zMO*nlIN+AoRhMkWckyNT;sDg~F|GCmP_3*JWTE1A?g_&Y#bz;%jtH3w}o z7wsCnhiLEP$pxS}NLx8bS8|cAzW~y;T%-^Ffuj#|bh(~`umvAM9hsWuWhV#WZVtjC ee4H@y$&lwy@%bM9t)LYfa0_nZe^0)Iul@qp-GpEO literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/service/StockService.class b/opensrp-core/bin/src/main/java/org/opensrp/service/StockService.class new file mode 100644 index 0000000000000000000000000000000000000000..0f3eb10631efbff2eceb6c678278d5a5fbebbf8d GIT binary patch literal 7643 zcmd5>ZFAd15Z-f>_@!?1Qc~Ik$|Z%86tDvn3Ux?v+O!y)w8Uv<;M+yII+w_j<|Mhz zKVkSI%)kKOn1SEJXNHxm$PPY_C8H+!U|T2eJ>KWpz18jcuYZ324FK-Ib`~-ON{-aZ zEhfzJ0c*3eC7Wf-=B6X*ZYn^V^>3iWaY#ZQ+PLgI7({a+xbE6EQE= ztDbAU5R&T%Huk{Mc@{1anC!Z;A*CgAFiDED&rHc3%V=|*YF5h@MgT)?X(4XQxkn56 zoqbMqt{Dswsm-)Q*5q^%>6b$KrI7w2)h+H&^o6#VtL;-4XY!Xe((av!GM0Q9OTI%T z6;9_jMa#CNO9Ly<6$aIq&y((PdhGKFLm%nD(pen4(DSo1b!;ij=5xtf{DmbC<2Vv$ zN|<{JIOnG~| zxan@Z)VS?G=;N?HeMS$N%Xe^RqVO(p0Z$Vvco-<0>MidhDt+2+HryChD9s`oKZ{0G zFivpNvKi6EG=rRGY+g~xFF+Bdi;#txpb6UTcrb9frMv-^^GV zGj^F2{y4lj=I#q@N>=L0nkVdBuHYU~uNubs(Nk%)h0dkW3Cu0k``xMgn&OmvLo`k1 zdJ?_4InZ#m(^Xa0Dmi$Az^^e{pwwa(W9=r}xDv=Vxx0Q;Lv7}jlmk4ZN(uZJgKE5$ z_6m4RAP)>Tf!xyaaX_cT%ifT^L*R!PJW>l;lD!gvf}gdW5E57m8~E-rt@LMa|D9UI z|MC9<=vD1DAycQUT9@^ZCvU7rT1=y4(YoHRZ>0U=pznHREfM(R{K}e4j7wp`J{okF=BX{Y)0IsbRrk`U;#sm zB3Sa7t>d;mn45#o3CWzI7-?>-QpCbjRIjTFR`qBN?B?JL0)M6?(TH(Qk!cR@6LKvj zInLL>DqbZG%Z*kc?UL5O$Os6JQI(2U}UilO=h(NKs=UG2O$r_d?HU3EWO~G_f zSHffI;KU!d>Gg12$--Co7loe@S@@d3cwn4`I<^<#yyFABENo%D3U2l^q*-`+;y;#7 z0-{Ho!g25*b_b8U9asPY7x0f9Y*AnwCh+PqUS}Z(8OY;k0!Ib>yoj$mXqmy!!Y@$# zZszh&F!ei*GH?aoeLElJHGD4y*9Dk`tHHh3;Tl?9$LkEtDUjwBNLQ6eZ^8}4?)T*_ z1;U&XVF4B+Uv5T7zV97YZ!3^)D3NZ#yAje-gft!@Eh~@~2Ozx{A-x|Vb(Q`=fpklW zR33rdZ6(qQe5h3VBZV&|1;PSmiyGk*1;Sk=!rcJ~pD7Tk3Iqc8prT~4szBIMBCHI^ zxHSdB_ez8>2e7Cr5OgKN14y19rUK~#JPg+0MzpdY;rLs86>;r9h8lbWoABgcHakHV literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/service/ViewConfigurationService.class b/opensrp-core/bin/src/main/java/org/opensrp/service/ViewConfigurationService.class new file mode 100644 index 0000000000000000000000000000000000000000..3289bf9910202f0e7e253059dc3e23f9cd4f5698 GIT binary patch literal 3705 zcmeHKTW{Mo6h3q^%htT6P1mhmmXuAm*4f40B~Nt_pbJ_cfVu&78laDiOe;(!QXna( z{$&F;pnKore$cQ(*^S*vi`6#6Hee67DDgWV&yDAhzyAKy3jo-LZ4YV$?in3+6DDN$ zgpF8N>8PtxE{#sRhU<|CdG}E8(>*1JBFZ$gLdpJQ!h>Z3mvgb0$*B9o(FqSNfqJZ> zh-(6kAjn5O0&Al`lRW0BGQui7Ca@k9)|gGBbbUuiVRs2EwYLrlEbplS_uxGOE3?%f zXsvVuR!DvDL~3qSJmLcysw5S0t~E`yI*NH>?oq#aaLnm|hcVL#N?G`fMVxM;^_{8p zovHPkbfCDQQdycX8y-`OlKgp!md;C}7dy_29j8#IjAyc@NK&OO%~6>ZF%6k?+((?g z)cFj9P*u*(eQCMYS&9|* z!Sj%(uIDV!qtbr7NHQNmKw#UK{*a_ae6=RRwFx(cRH*+}w+CI0-I)&FBXVQv<@5_-e0yVtvnp56A zQNeeEv$D}^z{dn$RA{tkA`1d|j_QAxB!Qb)y~flF;X!?UW;2b^y#31LPSL%+U3AnYf!``P>OWTY@Z`q^1J|gyo_ebRpOV^*f5y~85NDac zAbl!Tj{hs>`3<>>6AAczmFbW_6s{Dm7eY2Y_2frr+-Sk{z30Jac;`;(tA#A@DwqTN4yqgAeeHz=v=hxo=ESAK~*Q zTMfq(wzU$rtEFt~uz_qhQL+ZKgy~iZ)AdrO+kau%CnXFUB@9b&C)eWcnQd)+{}z8O O^y3zM4qrkSzWxIb7qbii literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/service/XlsFormDownloaderService.class b/opensrp-core/bin/src/main/java/org/opensrp/service/XlsFormDownloaderService.class new file mode 100644 index 0000000000000000000000000000000000000000..d3e2a9becce68b052e03f95c908f7512dac95298 GIT binary patch literal 9136 zcmeHN-E!PC6h7K6@$NQl)6yTH6x0GGDX?2;`D@Bgn>0+AO~Z6U3G_8YVewx71p78jL;!I0L;8=TZ`xf6e)*=~v#T53A zRP8Uf?(ki$hjN%F1S$`16BxTG0---8aAb1oK7s0t>~aTA5;(Cf)g7gzs=@Q*$d6&A<4~56HkO2*qT=BRc-Jp&7(kiE2?s`liC}i$K*5~vRYNa{QN^_ud z4#?=r#ra%iaa7c+!LG?Jv%wAK@!3J6P>G=5Q_Sa&qc6w$ z@-XrD!_GBpBvxcrp!pz-bw|d^{tB9`B1t=c2RfEYmKhmv$#dn*Zc4Y|-wZw-C$|-xsRzwv--c z!AKF-84_Xa(5OFs>%u*6q+F@HTZ}atpb6cW-aY6yO6WqxrDkdcU0!Hg&qo>T{G#og z+=~M(d~ORbR=kyWuwHvRti8m7-3cu)0DBK)k1XM<(s+MH20hV_RpMW4r=#TTb#5*1 z5%ZoIoRv8pSdhKitcF-3xOpag_Hj~)k(7XTHY3eP$JsvDtFlY`JlQv9O(ZHz(1fvR zPhos+vRt#f&{0JJOjvtdMaF3vtS_R-#AZpGRN;-fy$E>ARS z>%{Drmu1C;BuaphGnh6 zB~p33TasE0$9^-nN2VPgrYKuwhoKZ`U#BQoRZUH|25%7Z_fs{;;?Vjqr?IPIl#7b7 z&>otK`?Bwu9hbnBT#tp*)520@t1JE1lk{b}22-T+qlK9iPp*~AdeU)W&Eha`8ahPC zs-&ES)DK?XMBrq1aAaj_AjYsU){r@tJ-ij~)|094@IY%TW{4bU;_+7|B&)$yQmtAn z9;>BsU_lv;6x1oKhFB&YvMC+!HlKY~Q=;b*(8C;X|0S^Kt%j0r0;eaZhFy^Z*9n{( zkq*}20|I~TmPZ-UNx>quU(U8UCwkHJASDe?E{v)^B**Lo&JQ-X`Cwf{0`t#X<~Thm zE8-SVHw9<&Wy7=sH_;zwmZJmsF+pQnDhEEt*eJWS9Ki1mG9Nvp4#|O8oUFX~2%9gY zHIOANn?!IC@M{J9{-O#Mcn-$!R|OoXCD%GMlIu|z$E$F7=FlMz&IA(LfPL&>8r@}&Xy*ft?{&S zxPHpzdKcasaE;;hT83?VUf$1P`#Fd02z-bVRNy1{7_VmjZs7F}{!QS#Pb2py*u!UV H3ugWWDw^;v literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/service/formSubmission/EventsListener.class b/opensrp-core/bin/src/main/java/org/opensrp/service/formSubmission/EventsListener.class new file mode 100644 index 0000000000000000000000000000000000000000..6d1961f753a87d32d10105f36c8e0cc8136de14c GIT binary patch literal 8077 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 literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/service/formSubmission/FormSubmissionListener.class b/opensrp-core/bin/src/main/java/org/opensrp/service/formSubmission/FormSubmissionListener.class new file mode 100644 index 0000000000000000000000000000000000000000..0f58d8364fe7ae987ed43eb4a65a43864d11007a GIT binary patch literal 8310 zcmeHMTXP#V6h7-F@g-@KrnH5Ii&_S7xY%66tqy^ZOKE3AnZ|U6M`bNLN_JN}lI$eI z@XCMT7cc`e@Xl}HjdzBlUEem{u)A%-gqb|p>yFRTfO!t6eP)xMVGq zeqv3uSP^cbsYZqk)hxja*4$s;`jRQ(_E?KJ!V9g>}FBX`itYJD%OsmRE+xaseZmSBpYXvCx1*(Dl@*kOP^HBN*^tr_R78To1%Xd{WZ z7YM0I*h#ZPO&n@wf$T6c(CA5ES93QFXe6MhCJLK{@>ItTwaFsn=>v`0d!j|tlr}g| zXy)vqkC^yyCLQ{om4*8Pnqvl(+g{qsGOO8vf#iOtEvd&2gxt@>ov#bVr8L%)AZr-X zgpUa-fq-a1DA7j&tCXX(mI<^;9WCTh0=80KbE#6x@jN$3t}6*W#zlzb(No06rRnFo z6#iKLO~F2qGE?xw+>@v-sV)+(NY`(%HuqVpMz*?2 zoBR@XbB_r3dt#pvidkVd&QK|zw^=!F^5pS=Ro6wh(pUqk6OG!Vl2a@xD&?&(c?_1t zi5;Sa`BdB+y$mZJYu=Qx<2G4uK1{*iQ^HSyY-xFr9>xpF+St`(PJ;|L zw78-|cN~!&cej+e$)x8QhQy6ShXrQ)mLg}~Tsy+25U*3snz*A(fJK|AQBVkLoPUi9 z$%e~mlB7~9t%S-tjhW27g(n5L(KX7@q%d14=ZOoeL9mTG^h|O63>|H>LJ}-JUX8|W zm;yc<)?6aw0axG#EX=@Fco9#lsdIDO)U<$MY@f zKJJ$>{l*Es%kjwN{inlgm<1Kg&?*ds=wFN0#Gn5g|H>1gGbM#=puBZ?N_dUO zwu{PbJWpjZ$QdTotR=^&63b@45kAE^E-JU^@?z{T?^G){41c&2?(bIcCaSvlpakz& z@Kc5$cs`0gym~uf%Voip>LOk_4YpudeU!I($EUh0vEm`IKbMbPel=DaCHTOysu?C? zG(?Iw$3tBT_-t5niI4}3p0q8x(qWt2)RPPGzJqEmyah9tct*SM=( zOVe0TE5b5fX^w(MKgbjTuPv{{2P(oBSoX%-hVU=(x-$x?MOa5E#%j+ZY~rY~jB3Hm zmbp;&JLV8b!EL|=g7?x>P=QJO2Dk-9DB-gJWo$FgX_yJ0m*GnIoP{}jPGZliFpvLV z!?!7Xdk&x1@w0@CllZLs3OBx+fBt8<^*g>5;3fPvIKa=#_&pQ;uD~lm!nWIRXN>Jt zY#Xo@@OQ-aS_0crBHJ4o*s2L^jRdv=ya{iiv;%pJ4v{=>Copsp8EQ~R?cT+n1$Zxk o>HP$z{RE~`i)(AWNZ(-Gy#}k`lI%ils53O}Y-!U=PTWqQ!~(zYowi z>A#+~=d}OZH)tQB@6gjbk}XU2fMgDIJNz)C(cJmwZgc1A4!`{Q!%qM(3BC+{65Mkg ztyCk-EbWjwDOpaXWZBeo9lPXGr_MB5+P0ip+25)$*JYMjT1<4;9ZRFGYdJFXOK>It zF^E|yt!?d4&68ljuqqYmNRU(2;Au*N!LL}Q(kO@c5)7%2V|^SypIq{R<$E0AqMBSg ze2?_!IQ@d@F|RRanRV&}b^lEjLYghN(`@BZVouj5hN}U!w45}5m}v$dN`KHu>c!~PVu3zgChge%w*n-1mBM* z)hSlm;pk>BAvzQkmm#T|mQv zJM@C%SWXUZN@t%uG#%<%MxE-4X4PzF1Ux9VV&2q7kk@Ws52;dAiAbj~RbIA(x2mdX{6St<5QSES(%Gooks{@S3JPCOy``A#1=j zwkLP8U}h(@9cEUxc@TVRIlGy#k9-P7&ooB%B59tNg6WE9DMaxaHZA1Clp_<-BGEA3 zGz7GT{G35tcRHDUsLb`KNu3$Nj5rJN+$M!Ixj>lSq)bUHoyj3$>0pX9|8b-BpySMT zi@p|8RF{lGDa28FogJ}pzo z4itbgVy_TU{vJOa%N|clQdrDJ)WGvtoKBSY9$FHo`aQEatMSj!4NN-rl%-A_M(_i% zkUx;hkA4N!(ugrnJdp^6{L!y}^ebd?q+T{`#(mHWC8gz=+j)qlC?Nv+-YqO+^CB!$ec$@Ia9K0=^`2Dceome78<;O>SRBVig zu}qP9pL2Ylq2nVyUJv=7AMp|>73u|dIE=dC_h$n$Obnl`xFEr3S6o(GgHsbKCaoCL z^JP{siRU|bkSwLqPj??l-EU^5a`2u6ZieWSX*cu`b?_*n{B8qtyOyA+5DBi2w*?R6 zp6F&57`WMFs`F8+d)VHbG| z^EDZ25}d$TCWD2S@2wpr!xLOSo~_A%>2U1gK8!s`w8Ag^%?kgfbzu|`4gYT-4+S_0 z1NhVjGUS4mzvKN=Fc`F_VJK*a;Y`q;g%NB=;2fL}+6!xiWILx?a3YcXGJ>$I&Aflj4<0T#eI+NZ74wpBjt z)~R$wfN%oJfxm4;JMAI%J^bCm{kaJr!(;dqK8G)13re8FHdN8yCt(K+Fu?}rF9$=P Aga7~l literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/service/formSubmission/handler/CustomFormSubmissionHandler.class b/opensrp-core/bin/src/main/java/org/opensrp/service/formSubmission/handler/CustomFormSubmissionHandler.class new file mode 100644 index 0000000000000000000000000000000000000000..e063b0b8ad7be06a8c452cf308b7e0dc8254341f GIT binary patch literal 749 zcmb7CO>Yx16nrirn{3mjq?8YdgVj^uu)c7j6_<*NLs||Am3s7gUpFpmdu2Nj{bfiX z!JQw4us2(^E1^mpZ0~y>&(4hA??2yv0>E2%nZOo-g|mVwE;YO6YtD=E9smxnk~65Dzxlm<-Ad+oy(7#y99a!_8P*9>ymxSuTgjcgJV%iE&Y1} zkEX9L2=q=&fe8!=jPKANtTlE3+l0LOtSvfIt+AlOs9ILs2MM&cCa+MrcQhR?mPiW} z6}JIYbMb|jNDqULto4z#KC-Tlto3n73xkeoN@Q@vW$;=2|U2rR7-8TE1PzdZ#XI(7~OFB0zEAUiC0{XxJG$|$U zoWO3EhQR17&XFz`!Gr4)2%`|j5nwCWc?|tfC!u=NcGDj)xSXWlVDziO?1epIAgm`% WCyv?#_M7jg&3*tc!r2RmXMX`f#@?s^ literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/service/formSubmission/handler/EventsHandler.class b/opensrp-core/bin/src/main/java/org/opensrp/service/formSubmission/handler/EventsHandler.class new file mode 100644 index 0000000000000000000000000000000000000000..2d614df02b9edfaf626b8dc8b306f63abf507e78 GIT binary patch literal 884 zcmb7DO^?$s5FIbOO&SVa3d=W=wWq=%xp1N@E@)Q>h22BTN*o<$NZn2B$aX9E3H%}? zkl?;QYK7wjm5K_)A&zJK^89AraAGu1DkfyIU@Mj=T_mbTX>^?! z)GNU;`Ji+)U1pUqMktxgnaoSn$?*!MHLu$!fL#Lno}y&3NY1haa!VjQ;-!$nz9evM z{Pdi_?kkmJ0DS_(HTqaS(H#n&XM^tQ$k;oeAI`fjyrO-~oYX%^1L=jiGD>6BxX0Mp+g!*EQ24 z;AYeP5db@`2upe6n}El_-N^UK+CZdXdMolmT)y85E7?Js~p5mAPhriBd=|xvR1Pzx$S5E zC}x0x@BC3r->zLn#+rIvG+{c^$;6h{KmGQ-x9`&K-~asfCjiXCk9o*hP?N%`cB$)E z4``28xoB5;zf64Keq^Lt9@DeRLFgGJMu%f%hvp! zE8TsME&4tWX^3)53r^UJQOF;Ud9GpuTtOn;ZA<)%NbME^aK_wQbZ5xnxNFP-6>l4xbySYr&})-`Lx# z)eCSDxx&W*L(wk9ztxvkYs))!?f%B%daVGjS}^6)E>3qkhSYXz8x4H^DjJySRnV5E zO=ZqA_BN9|5)QMu8bN_C4r?k`xTm4hwo+PYq*;`XdQov?dfxTjaKVC~%b6|Ds8wfn zEqM3eOSVM?>WfY_w02WVyvg!#1MP6QI5i=-D8P($=Io9yP;IZrn#AGV!1eT^lR$9v zg08$xO2tNpktTCIitA4T>O7!rMy{d9R|Xzm8F+kU*yAgM6}(28oJoQXMY=R}IwV9w z_9#G4PZFXxS5!b%l$@0b==&17-GGab=!acS9I8B+>@)IIzvqTUq3ap(nE;hu6pe@` z7$c%W9!T#0AGpE7noKRd*6cyHz(A#rmh$F@Ts$!1evuzp!nor;7KIc|NyrH$D%q8a z{Yqd2TA@zJ#p4ugskr1(Dd&?_XdwlcoH)+@V{kfokHPfo!V3r*t`1`qSY|C6dErFQ zsG2f{RxjEZjOk*nbpy|J+>po!+X+nmSb#;O+=leKkn#+1C5ikdYq>saR>*oJLzTDn zW8P!p`aS-D5sG=XGt5vb9<3{w*u?~M#LlS-D^~0dZ<00(>qBjoMDw=<@9JWy;-4fV z7K>Vo38{iq6;s_}`fZ&jNMDIkQMEmbLeR7)I=L2vzU9kL7AJVY#NDY1j>F|16>UuM#39`3?|D4Vl2%LzFWzZxGWV7 z1j#C(Hhu_N4wy8BEtDDD%etsm}C zZwYghM>F123LKg1?Q8wea2RU*jp9rZri6}B(T4_F^ZTU4VQ(v0^G5z zM+WhcRRe2U8YW5TS;=~j^^Ma{8Z8b z{#Wo*Nu{)?!pC~-Cfvf2rwlpun`ZbVh2eGz1Hh;78P4-LJ~@Rzfp=Fog@?TUbJi9Llwf^5mcva~|rtlEV2*3g`Z literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/service/formSubmission/handler/FormSubmissionProcessedListener.class b/opensrp-core/bin/src/main/java/org/opensrp/service/formSubmission/handler/FormSubmissionProcessedListener.class new file mode 100644 index 0000000000000000000000000000000000000000..d779335e4b10e13217ddc741855996928a9fabe4 GIT binary patch literal 1072 zcmb7DOK;Oa5S}e1c1&p6K!Nh=s^U||x^i!>s4&f3ZA74q0Miq0+C|6}A3TB-QT4^;Yur!Zo z)E!TeX2=Vs9jIdb9m|pKxL)F>m$>OAZub&5z3k9Tp`lV)S~AP0)H*_ZUpc|&3Eik- zKdRX4jQ@jvp-_~S(w5eTXI2!HGwDlCke+nd0-h_d6gsk6$b88sY87SFeyA|&dOQ9C z`6r&X+ka+^AcV_3Sc5)+&ag3ib2mM+cTsZR+uu)x#OJeef_luHqXY)2;;cAgTKKq0 zZYkN8aQed$c(8;z^^NbR?K5@3?nva4*_n2w9{=v-@K>=1OWC54nrV)Q!YjYmE_W*N zWGCt$Cx9&iYi(ozx7;FlSO9lgYqOXXf!;H}elj0BS51e2+a9;Y04r|R7op?gz(spa yHu?hLn?dvmdf#fyy1RP}xND=%`0X6P6&GKv<4wnOt$w=>cil5|OgG>r-2MrQUrVF_ literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/service/formSubmission/handler/FormSubmissionRouter.class b/opensrp-core/bin/src/main/java/org/opensrp/service/formSubmission/handler/FormSubmissionRouter.class new file mode 100644 index 0000000000000000000000000000000000000000..8e8a94d52ec141bb219d3a57ffe55035fb521f20 GIT binary patch literal 4172 zcmeHK-EZ4A5I;I@WIJh+rE9aU-O8rxmb9C_kL&|Wkf8_~w1B-1byi@Hv_#uXBvK$L zH~Gs3Y{2%ur~O64j*{nCjRGq{u$S#YvPj?kcz3+}@%YDIzx)OOTkwqs6#^Zj{Z_<; zY#p)@YbiZwshCTn+lEW#9q##$k6WWJ@1`oWOXfcqgsL>e>y zhz&Sh$E|LTx4Jpr>SlgRn&Wt{(?D@U(L@?C>kp|#Kz{?K0Wq% z>^ORccNYppUbtKu=XGXSQ`YLKJ@GM_Rg_=lH0b}vew1RDvYwRzYrqQJT!aOet z;#wi_xWMAJE1~T-nwiv(dRGi2vx!CzzB^BI=WGmi3(#sn3F(yRK}uEF|73(mD}ig; zHPZwdlMFW=d_bT+8Q0)L0)Jjr*e9?vs3f147ZNT-Yy@t+*?nWe)?ky6Q3+o!WL{aH z|J$^PIoMT+_W8bWe0Mt^;*6QncHiAvCavSP2TcM?d0`JeMQY8@jkCgo&+(q)ir<4R zyo+Uo?ZH>MyJW^71Qt8)A}R+5*b5lA4+Q4$K05~uxCZn1RRIrb>2Dq90IDdl0E;+( z9Y^yxTEgFDe6~=_={A0am7i8ue}=bz$592=@a^OPpLg)Rn0`0lHoTk8-GRF(^&Wm# z;Qa|w6~`IUy#l1Wg-G||7GkWUrnBte43qFG{;LE=ORNzgZ literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/service/formSubmission/handler/HandlerMapper.class b/opensrp-core/bin/src/main/java/org/opensrp/service/formSubmission/handler/HandlerMapper.class new file mode 100644 index 0000000000000000000000000000000000000000..11a8f8f752492e3c44655bbb8c0165eccfc8f70e GIT binary patch literal 3607 zcmdT{TW`}a6h7XqYZ+{eI~&6*16nT03r`e~(8RP!9iVMY;?YgK){xl2b_V9{jpSeo6 zT@`U@bmSVY_l3vZJ*C6#xD^UxgpzKDNk8D)UC*AIEQ+`;!32T16e3`EhUmfO6|LjGFmm$@Xic%+Q5O25tdOs%4f+P4v}lsCdC5T3Bq#F#YbA8D+P zJzPn%jH%VBFf^7v-xCsTiS|cN?Xftp{n8HI#E4G5pcG{?F@6Tz2U#g&&<-J#W!4a( zb!IvRK@|iu8l!@gt*Riv$i^fxIfg3C%KsPJkpicnEghk*3Y>sbGjI$}6F5`*y#yr( z@N5&4?r|KpxZYuSrV^NMDvt%bOp9dReK}z}!Vp+LeAVjJNjxmDN|kE$Znb=sjgGKJ zPQxOB?<3Tff_#27Nk^bMSmE;Pe*6#2Jxb-TGT$E}N8m$Fm>xdnhNx@Q4-Y*U&eKpO z@NR^FI>PM7eibc#K(k2TeWBJqKvi*;CQ#W{vG(|yNDr$4Kcu}GfrYJDS`qRMxi5^s zL+oMFYNeeco?$c1UWd~t!3}IhG0jVGYoO=P9EH-G$)AF3?_kSgU>Q&ve>leAB22;* z&PwTQ8t3J{c?G``Ja}jDemwm_8OISoC6>g%gQ-LFFO2a7d`cakCzrE%vUp-bC$RN|rb;Prm9voqg3cD{Z8_yqtS0QX>x!IRR;C>KgchhixrW7EhKs7qT! zCEBHu7`-+&pDbp%DobT_G#5I_&_>UmHk*A>6lgtIXRuM*$b?R#7qdf@jzM=UGo_W= zWpHk|bHHHzkx9@4pF#gvd(T>9yKsTA_b;`@(qv0axHNg8GU3Q8FRYnmn3oTE;7{ks z6O@^-q*Ms`Mx@BMiF(*l4_oTtD)q3XzReSZCD+FBTsS%Bjtt`4f(ZX=kTMfinF%YN z;Xjyf7^=K5*75rC!l{f)p(~d&;ZXV4k9rQI6F$Hi={jH+VyW2N!=BA=n13aTH2L2RVR4un+|ZiPWx7z%@dH{6M7 zGh*ORRH}trSh^=0>G*d)@qc&l-V(Jd+cqBUlE*+KNsAeX6M{M|XGbA^K5HLmov?{n zSc#8SRol(gkx;)I4{p=Tr+RvDcV$2{UBaNZU(FSrPO00=4g=Dr@dUJX;XHH*dxY+{ z(%=(xUk!o}(ECc#HQ1oF(gFG|*OF=u4PcY-l^Smmz6#fV;_GzlMtyPj>Gk^Z`>+b+C3+)Pw5NImt zH9{t$#uK*38nNs*;)F*^CJn{qp73~MCzfG1-42CPB90nAihh5;(TcRt`%R|V3QH<5 zO5kz^5U{AMgcA zT?fWd@VRCpP^jKqTUuXft@gHho8Pq@m>@8!_Y;oj?dH~UyVYrKt*vgMLc6y~;K~oS zF&!^pN};&~#ya>yGpb$DkC;v+BHc4>^DlNBYFRP>^D_%`3)uJKyoiKeAaG&2zJc~E z#XhgVO#%}~^KD5PO9$R0POu(HuHs;i`_zlWL_{su7MqOE40{a2Rjb#M?Dix`n}W z>qMBuQq!z!szpFO7MTIJIek96b5>GVztI61ZzIZOGUx-DI}b3n-ehtiIvEG=aYg)LMliRwUt-$1*H~`&?(sSeZSXz)g!^ z>K*e9J?)dp{H*J4I@TaSI5O83YK#}vN~$H<^&?BzRO4^I;gd`{r+Qt44%Pzj6= zn93)Mqn?n2zIOn(sh`iv2W3vL){Rr?@nw>eRYL>2h<*ey#=PXt>rH#1S+&`QA_ zKnT3x8N(W23@)NnL1_dWlxsusD=1$Yl3zvnGQ5`QPQn%JcQyNe4f_);C0@tp8`v_7 z=mg)j-{8jPUR2gc&QsrzaqMW%BTAl$bgT!4A>-3WXI3-~rMe2DKy#-A_>U&A-hgynw$v`#`< literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/service/formSubmission/ziggy/ZiggyDataHandler.class b/opensrp-core/bin/src/main/java/org/opensrp/service/formSubmission/ziggy/ZiggyDataHandler.class new file mode 100644 index 0000000000000000000000000000000000000000..6b7e739696a8b5fade639a7a77db3b920576f50d GIT binary patch literal 6158 zcmeHLTT>f16h3kQV?!H4LoZ1$3QbaIsoe{0)4(u8AhcvmF5G6CKFPbnR@hzbNLo|+ zbNUDR*qL^weeaLz^k{8tFbkG5hRH+50u#krwfgiN;${`a` z`2}mRvQ)LQjCrJ0T-IDQgvZN!QiWSdH56J48I^w(wc26%x&2&ahW*GQKj114Lj)#L zjDSV8@{{Td?im6(ze-@TvLX|&zFJ+8QG~-%Ef5&y{sxN)tW{o;!o$c2lX5^D1RPlu zkuXaHex5nK-e4A)-6e2yGr@&Jz8*D%7S(_+N0Btlpl&pQvC48{T@q(NQcJE+h;XSr_sozmXS*>BbQDZxs)1tn);G!io2sBGhUq< zgyX-&Xu;!fXugv5pps=-at3d*6Jacsq3P7bh=6*`s*_eZJ=)!?B4~H!p-Jj2(YEl|UU86>EYlu>gS^J1Yp zrS%YRr-dGJ>tP%SPZ+9`m@ACzNE?;doJpHGb!L_dO_Rvydm`d~iEbp?*sx5e1&35b z4Y|)L!!W9!L?{;8d8P-8JU)21r|{o{06J?_i9f*)*hodmrEn=bemvtSQIXTe8WMuWt2Uf4-@PD0L0 z9_@9F*?2xX!E^%a0-LC&Qhc_0_KALa{AKtG-Qnw7cgUoc}qg`I3eD zOj3i4vR8YjHd#DN_&NUDERYTw8Qex!WDsCqYMbzk%v3DGHF$d*3h)krshLWrpKdZ( zu#NrI3f9xdNm%7-+mk57B;CgR{lpkov381g_V(S$)thU(JS>z?@^| zv-J#sf(3PmtEeJ2MbFJqcBUzyhG}AD5V|n9&tK2{W~G`XQV>g zI_K|#z#C}HHNgX4TjdbAkztD2O3P-YGyhyXUC^vuN(6o%j9r|RMB@^ZG zHDP;~sqQ`_y`Cd5Ug_L$;1%%K*nM=HC=cJ@?W0v)9=;>+X2-Rx-{#@_6F0q0?g+eL zFNmYsHXao;+yVku@SZt`uVENTf8}8mzlZUk0u*t444+2uX&k>N@I8++?406XaP6nb zxBh^sfAA>>@8YMG1AM=SpX2H8BHVzR>Dc@50gfCYkRtxN=(@;yT6aG1_O zxRZeZa2xI*)4RBK4nApf=^)KyAU(=N`V>BEBh9suI=lKj1Lm5A^z literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/service/formSubmission/ziggy/ZiggyFileLoader.class b/opensrp-core/bin/src/main/java/org/opensrp/service/formSubmission/ziggy/ZiggyFileLoader.class new file mode 100644 index 0000000000000000000000000000000000000000..79e79ae494ac32ef7bf18517b47e7dc459bd23a4 GIT binary patch literal 4926 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 literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/util/DateTimeDeserializer.class b/opensrp-core/bin/src/main/java/org/opensrp/util/DateTimeDeserializer.class new file mode 100644 index 0000000000000000000000000000000000000000..0b8aa625d875d80a6c1749f363258893058e668e GIT binary patch literal 2505 zcmeHJU2oGc6us`crOgT(g$>51xAD>P&^`bU&}kCdh8PMI(K3lgH}P6;jUCx;weiQ0 zK!SIE6yhdb+M-qJKzl%lhuBeaeD1mSxi|U#?VPkQhAR+ zc1s1^fjohQ5q3vwrE@S(vQOVj&5i2zc|d&?Mxx8CP?APkwYoes�Skb~p{V-(?y> z5%UjOo6|KESve6|iAAo_KygE*vNUAY?@)`&_)&zS#+PBHl{nK%tfq2`WDre+kE~TS{7fWT$YyGD^N>+VGttpGS##Py1zj2X^acMaI-kb;#uu32}jh z+;&tz+uUyTwC2(#3rl4x4DHE)?+b}#u&;Dd7x7upp>pl!r-$k@tbD9VH{Y;Y$o6k( zYT`bgS4hz>o3VBRMNgq)_fB#-d6=~w zVF*0&{-6!k2+Rkgwn(5}nnp9)_nJ4^a<#ITZUXYVL%$dYu3`>Dg5e7XR#3;7vk2UH z*OL}|_O9#;BQW{raT807jk&sBS~|5H+#;FVXXwM}iYX_bDxU@$ZrcB18~d^hI>p~s zY-pH<>S>?95OEc)q-Q*`FW1Qzl|a5B+LGCxM%=nL@e{Eza`z_sdudntN*ZA-wyl?f zYo`6qu>*Grjx0IkVungDWdUB8DhjYpt nM;tKUoWNY1z?_BKxF!R4fF|=Qtlu?WaEyIJKvkW7m literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/util/DateTimeTypeConverter.class b/opensrp-core/bin/src/main/java/org/opensrp/util/DateTimeTypeConverter.class new file mode 100644 index 0000000000000000000000000000000000000000..f07f3f54f3caf47d73899138ac5fbd7f02f63bb8 GIT binary patch literal 3054 zcmd^BTTc`*6h6g;*V)34vTwm*M;{SE;0Fz>+#fqA2YR>XvCZLl6|Dcx;f&Yo)6&PDW?mNzIK4d%Qyf6~!WCRwzkht=2*wnMbrufQF3sKVh17=(zbPo{QTMaJXjkDZ zA+Ji@A=!?C6v&7ch~@MzkSrNW!!1{Uz1MOD8_H=%ptfD~2s~^Iyq9zJu-HdO=M00s zxkv~-IN#*34@A#eN#6`pwSYkCnR024;k=>}9q{MEX~TPuC6pkG!*S2CMu z6!dcyp?{goKAuzEljKTWnMg}ec zzBBP93)m8@m1Ed?>C4uQ0qWnN`eCa61txyrXapv)buxh8QEVsrQg95W(z)Ys0+CK) zzk(~LU>bW)eg^*;ZUy^&+%rRPj}65=2j}th{n0KAK|4JJtpXGojG*qb>HjiZ!9T!# W{7yg(uEKSggPX|yHniX_9QqBXQp*zn literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/util/FileCreator.class b/opensrp-core/bin/src/main/java/org/opensrp/util/FileCreator.class new file mode 100644 index 0000000000000000000000000000000000000000..ac30460691e8a2fb309084f11bcce51352b83720 GIT binary patch literal 7247 zcmeHMTW=dh6h7lR@g->z0_A?0hSJ8RwV^FMP=rvDMhfIoHKvG0JWSTpWZT`H)$D9) z{{S9%1o2;xK%(#b5`G2ZjK^`d^4L2os;E*UOZM9S=9_cQoO9-z-M|0+<1YZX1)o=- zMBr*7y;jKlsP%{)v6herEfMo5k#Q?ke$ZO?1HLLbQ$kjtOkkl83s`i}+Sz}^Jw;&p zOF#0}R|L*2H|`TCuZj+@K#jos3HFYZLRMjhod5N^Nb*DkN4!Hl5ypPNlrJJ0OR*pD zF!_SkYwbf$JKPJHL{QAU$LxU9CA6(Mu&t?WTcRDo6B-FcL#Dh#s&E+Z#%NS_7&_S0 z4mPzl%@Gnan;*tPD%ywmf_f~{wELVM+xim2x-Q{($w4};7-lMFU{3C6P@% zltsFD3~`3CUfWgDj}9!BP$ej%suy!dkZva1Lahrl?M~O@ali6M1C}M;*l|T__8co6 zAv>vxQ-ywW7CJB%fbaGa#ciC95p-G$M=x_cn`G)~c;UM2P9bpuoy}OVo?p+CG%xiH^5*EEbH~w6~(Ist>p9qylfC^_pTtVOHQR0y7yQ zS%r59`PtzhY66f~pf2lRH7tiXV{s1h`6xckQb5ZVgpY59m|Z3T)_jSFcig`ST()FE zV>At_@Bx8;PJJc+|8k6vMs56G!$7U$F0R9mrFPvCsL?p>t>{)Rw_#4(T`Gic>PSezyyC8N)ns$69ou9omnH4n{ zAy>g$h4+y2 z*q+jm;e89k4J!lfdw9$+J!Dw2Fnn!gxC9?%Y&h}4#&Flla2c*RGyG^}ST4Zu*vil- zz|gfaTphC(A6p{%lZ64`Iy5tJ&{=2lp=DwC#lnC(v49OvEes|26lX2L4fqT{tC;yZ HLvQ{EAj5 z+1T8Xd|SFBp%D}a_j@svd<9MG?3&iGrmgU8UxwWC4Ic~R?r?*{kjJX@g&af-6p*f3go!<R+Sv#!eVCa5~D#9c7H2HwB&$FjyY=t{B}DTG`LLU(T5w6*4$CARlM+7#tl+vp>5Gj<>$M-p-oB zpgHL(p#vuvoUlIL&F)4Vc%8v~YSU4NHyQhdaO^?K-vP50C_QCP0kXu#rUaCxhsOS7 z6j(|M*Cc60WCxZ7gNBufU00&OmRo~8UwZ9)HRZT}-%#xB=?K-4dwmmfz=!*z@j%{ObCME5xrYF^Ko&f6)CRdW4 zErxel?MgMpFyXBxAtZegiiTU*;}fVcbStX>_siu>q{2M%1{_pCsY zA_fcVD!zBOiTCqDI1TvF06vQVcn-ku7~n9zI`Oj!hwvRh^Eas9UvB;k3xD9J8Z6?g z#Q^>-;p;+zf}^k;fAac zrv3p;D-))7CQR1z#HKSjOq;n(XJIzedpS%xm#Gc!WAyf-J&n(~9EKlq89szgiec(a yH;3V;T!!;0Z$6&bGG+QChw0B8rW$-2XX!Jzf&Z6LO`pR>%zh6w@FiS;{4AqVjnS zh6oJrWAAINbRCY923ePy8x`zwpL!~cM8K?2l15r>20S$Lv@x`{&8g45fN2Cp%zMGQ zoK7LR)>m?^gxnPM6*p8WOG9S8ZEEo~{whLJ+1GG}tz?F+giWi@NIIGbBc(0vL4=|n zlZn|)PWQO}&oIfYlSlplE?G{75rQk9w`NOW6bMgPYT}4%j5leljyGLfiF>1E(30|`}z$x#eTXZ=#HhF?5%48B|so@N$F|=y6klh?6)GErTeI4;b2d%Gk z3J4V=9$6b9YEemv$(3Ylzq7MbEQ@#Y+e$302>Jb29*-P2EW}$|9QThE&irKQ`!YI9 zxD!K03JRtp0d>r$LGn*9qaA)|tT1@k}uGxn5(a3ki&Ml*fV%rbTl9 zwXRoP^v7!_Z zn9kWRau4810>NQsKY<#ue1P9sxG$}$SbO||NJPtMwtm(tK-FOSyCT}20BJ4@W3YIz zhBX2MlYrGUEYkt1B!a&|Y-_!;-2h$zG~Pk|*;wNZG(X^71%|OrFaT8;!M2&AU=+si zj=(sa!gkL>75h>P6FC;n=2|!dXK|c!y%7kU&#`qe$JSD=t;=vF!>00$4b8EjaxF}i Yun^~1sK8YmwF1}R2L2D?)p@x71x!@%i2wiq literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/util/OpenSRPHttpClientFactoryBean.class b/opensrp-core/bin/src/main/java/org/opensrp/util/OpenSRPHttpClientFactoryBean.class new file mode 100644 index 0000000000000000000000000000000000000000..17a0efcb8b096ab33e12932887eb3644364cef07 GIT binary patch literal 1775 zcmb_dTTc@~6h6}yT3Q6GqG-Jgc*B?W#V4yKNFb1`f)q)7oNf>8!0yaucDBGTGtorf z^#}Q8JX4{op>Z4JVdw0b`Oam|ZNB~d^aTK(!EzCD44Sd=8=;V@aUlAlp-s1;BUG`8 z8i|!bV~d#9&i012(P|)3*>&MtZBAaJP(>&(m>b9iLUkKk?E~~JgN0KKt2*&}o%XgN z-dKq-gK012nha_?iLx@pP1TpNYzMfal(xc3tq5H4RuZd^q`?khE8e?A1ae=ZA#S2C zf&>{%zK}}VR}AvYPxlxUR&@u9Fw0;z^=r)-ZAx&J<-WgH24fxcvBP~GMlu-K;*rs0 zJdB_7^3-k*c?bPKkXarH|4?+1FHvCXr`M{xz%22O#+Z}0JQUXNaZ6%&98m!N6r9gQ}-}5$p*g9e=u6usuor_R{;0VL&}u z75f%Vdgm6>Fend$8W-UXgQ+1;XWm(2nkBf;;Kvy4c_xvOqM?-xTaK(a2+xqzmaiFm9k5{ z8N(vb45f#GK@KKhl4y}QM@vL=L@O{&>y^Rdk*7a^@@JU&P@Ve-)vp80JgrW`X}LkG z!xIW_!opzh7VYHWHvJdqq&Bp0mv+wUy*EN{ZG_%DaFWl_4VH)kJfW{dc53hd9{mE@ CVj?R5 literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/java/org/opensrp/util/SafeMap.class b/opensrp-core/bin/src/main/java/org/opensrp/util/SafeMap.class new file mode 100644 index 0000000000000000000000000000000000000000..0d4cfc7a568bba31b76eb732235ebf7f71d60905 GIT binary patch literal 4717 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 P{#iyj@4^a3%~yW|>0m#x literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/main/resources/applicationContext-opensrp.xml b/opensrp-core/bin/src/main/resources/applicationContext-opensrp.xml new file mode 100644 index 0000000000..1de8af2410 --- /dev/null +++ b/opensrp-core/bin/src/main/resources/applicationContext-opensrp.xml @@ -0,0 +1,97 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/opensrp-core/bin/src/main/resources/persistence_couchdb.xml b/opensrp-core/bin/src/main/resources/persistence_couchdb.xml new file mode 100644 index 0000000000..35a901ef6f --- /dev/null +++ b/opensrp-core/bin/src/main/resources/persistence_couchdb.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/opensrp-core/bin/src/main/resources/persistence_postgres.xml b/opensrp-core/bin/src/main/resources/persistence_postgres.xml new file mode 100644 index 0000000000..62ecde7657 --- /dev/null +++ b/opensrp-core/bin/src/main/resources/persistence_postgres.xml @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/opensrp-core/bin/src/main/resources/queries/lucene-client-query b/opensrp-core/bin/src/main/resources/queries/lucene-client-query new file mode 100644 index 0000000000..4069f24f69 --- /dev/null +++ b/opensrp-core/bin/src/main/resources/queries/lucene-client-query @@ -0,0 +1,38 @@ +function (doc) { + if(doc.type !== 'Client') return null; + var docl = new Array(); + var len = doc.addresses ? doc.addresses.length : 1; + for(var al = 0; al < len; al++) { + var arr1 = ['firstName', 'middleName', 'lastName', 'gender']; + var arr2 = ['addressType', 'country', 'stateProvince', 'cityVillage', 'countyDistrict', 'subDistrict', 'town', 'subTown']; + var ret = new Document(); + for(var i in arr1) { + ret.add(doc[arr1[i]], {'field' : arr1[i]}); + } + for(var key in doc.attributes) { + ret.add(doc.attributes[key], {'field' : key}); + } + if(doc.addresses) { + var ad = doc.addresses[al]; + if(ad){ + for(var i in arr2) { + ret.add(ad[arr2[i]], {'field' : arr2[i]}); + } + } + + } + var bd = doc.birthdate.substring(0, 19); + ret.add(bd, {'field' : 'birthdate','type' : 'date'}); + + var crd = doc.dateCreated.substring(0, 19); + ret.add(crd, {'field' : 'lastEdited','type' : 'date'}); + + if(doc.dateEdited){ + var led = doc.dateEdited.substring(0, 19); + ret.add(led, {'field' : 'lastEdited','type' : 'date'}); + } + + docl.push(ret); + } + return docl; +} \ No newline at end of file diff --git a/opensrp-core/bin/src/main/resources/queries/lucene-event-query b/opensrp-core/bin/src/main/resources/queries/lucene-event-query new file mode 100644 index 0000000000..54d11380c7 --- /dev/null +++ b/opensrp-core/bin/src/main/resources/queries/lucene-event-query @@ -0,0 +1,22 @@ +function(doc) { + if(doc.type !== 'Event') return null; + var arr1 = ['baseEntityId','eventType','entityType','providerId','locationId']; + var ret = new Document(); + for (var i in arr1){ + ret.add(doc[arr1[i]], {'field':arr1[i]}); + } + if(doc.eventDate){ + var bd=doc.eventDate.substring(0,19); + ret.add(bd, {'field':'eventDate','type':'date'}); + } + + var crd = doc.dateCreated.substring(0, 19); + ret.add(crd, {'field' : 'lastEdited','type' : 'date'}); + + if(doc.dateEdited){ + var led = doc.dateEdited.substring(0, 19); + ret.add(led, {'field' : 'lastEdited','type' : 'date'}); + } + + return ret; + } \ No newline at end of file diff --git a/opensrp-core/bin/src/main/resources/queries/lucene-formsubmission-query b/opensrp-core/bin/src/main/resources/queries/lucene-formsubmission-query new file mode 100644 index 0000000000..4069f24f69 --- /dev/null +++ b/opensrp-core/bin/src/main/resources/queries/lucene-formsubmission-query @@ -0,0 +1,38 @@ +function (doc) { + if(doc.type !== 'Client') return null; + var docl = new Array(); + var len = doc.addresses ? doc.addresses.length : 1; + for(var al = 0; al < len; al++) { + var arr1 = ['firstName', 'middleName', 'lastName', 'gender']; + var arr2 = ['addressType', 'country', 'stateProvince', 'cityVillage', 'countyDistrict', 'subDistrict', 'town', 'subTown']; + var ret = new Document(); + for(var i in arr1) { + ret.add(doc[arr1[i]], {'field' : arr1[i]}); + } + for(var key in doc.attributes) { + ret.add(doc.attributes[key], {'field' : key}); + } + if(doc.addresses) { + var ad = doc.addresses[al]; + if(ad){ + for(var i in arr2) { + ret.add(ad[arr2[i]], {'field' : arr2[i]}); + } + } + + } + var bd = doc.birthdate.substring(0, 19); + ret.add(bd, {'field' : 'birthdate','type' : 'date'}); + + var crd = doc.dateCreated.substring(0, 19); + ret.add(crd, {'field' : 'lastEdited','type' : 'date'}); + + if(doc.dateEdited){ + var led = doc.dateEdited.substring(0, 19); + ret.add(led, {'field' : 'lastEdited','type' : 'date'}); + } + + docl.push(ret); + } + return docl; +} \ No newline at end of file diff --git a/opensrp-core/bin/src/main/resources/ziggy/ziggy.min.js b/opensrp-core/bin/src/main/resources/ziggy/ziggy.min.js new file mode 100644 index 0000000000..59a345e5b6 --- /dev/null +++ b/opensrp-core/bin/src/main/resources/ziggy/ziggy.min.js @@ -0,0 +1,1085 @@ +/** vim: et:ts=4:sw=4:sts=4 + * @license RequireJS 2.1.9 Copyright (c) 2010-2012, The Dojo Foundation All Rights Reserved. + * Available via the MIT or new BSD license. + * see: http://github.com/jrburke/requirejs for details + */ +var requirejs, require, define; +(function(global) { + function isFunction(e) { + return ostring.call(e) === "[object Function]" + } + + function isArray(e) { + return ostring.call(e) === "[object Array]" + } + + function each(e, t) { + if (e) { + var n; + for (n = 0; n < e.length; n += 1) + if (e[n] && t(e[n], n, e)) break + } + } + + function eachReverse(e, t) { + if (e) { + var n; + for (n = e.length - 1; n > -1; n -= 1) + if (e[n] && t(e[n], n, e)) break + } + } + + function hasProp(e, t) { + return hasOwn.call(e, t) + } + + function getOwn(e, t) { + return hasProp(e, t) && e[t] + } + + function eachProp(e, t) { + var n; + for (n in e) + if (hasProp(e, n) && t(e[n], n)) break + } + + function mixin(e, t, n, r) { + return t && eachProp(t, function(t, i) { + if (n || !hasProp(e, i)) r && typeof t != "string" ? (e[i] || (e[i] = {}), mixin(e[i], t, n, r)) : e[i] = t + }), e + } + + function bind(e, t) { + return function() { + return t.apply(e, arguments) + } + } + + function scripts() { + return document.getElementsByTagName("script") + } + + function defaultOnError(e) { + throw e + } + + function getGlobal(e) { + if (!e) return e; + var t = global; + return each(e.split("."), function(e) { + t = t[e] + }), t + } + + function makeError(e, t, n, r) { + var i = new Error(t + "\nhttp://requirejs.org/docs/errors.html#" + e); + return i.requireType = e, i.requireModules = r, n && (i.originalError = n), i + } + + function newContext(e) { + function v(e) { + var t, n; + for (t = 0; e[t]; t += 1) { + n = e[t]; + if (n === ".") e.splice(t, 1), t -= 1; + else if (n === "..") { + if (t === 1 && (e[2] === ".." || e[0] === "..")) break; + t > 0 && (e.splice(t - 1, 2), t -= 2) + } + } + } + + function m(e, t, n) { + var r, i, s, u, a, f, l, c, h, p, d, m = t && t.split("/"), + g = m, + y = o.map, + b = y && y["*"]; + e && e.charAt(0) === "." && (t ? (getOwn(o.pkgs, t) ? g = m = [t] : g = m.slice(0, m.length - 1), e = g.concat(e.split("/")), v(e), i = getOwn(o.pkgs, r = e[0]), e = e.join("/"), i && e === r + "/" + i.main && (e = r)) : e.indexOf("./") === 0 && (e = e.substring(2))); + if (n && y && (m || b)) { + u = e.split("/"); + for (a = u.length; a > 0; a -= 1) { + l = u.slice(0, a).join("/"); + if (m) + for (f = m.length; f > 0; f -= 1) { + s = getOwn(y, m.slice(0, f).join("/")); + if (s) { + s = getOwn(s, l); + if (s) { + c = s, h = a; + break + } + } + } + if (c) break; + !p && b && getOwn(b, l) && (p = getOwn(b, l), d = a) + }!c && p && (c = p, h = d), c && (u.splice(0, h, c), e = u.join("/")) + } + return e + } + + function g(e) { + isBrowser && each(scripts(), function(t) { + if (t.getAttribute("data-requiremodule") === e && t.getAttribute("data-requirecontext") === r.contextName) return t.parentNode.removeChild(t), !0 + }) + } + + function y(e) { + var t = getOwn(o.paths, e); + if (t && isArray(t) && t.length > 1) return t.shift(), r.require.undef(e), r.require([e]), !0 + } + + function b(e) { + var t, n = e ? e.indexOf("!") : -1; + return n > -1 && (t = e.substring(0, n), e = e.substring(n + 1, e.length)), [t, e] + } + + function w(e, t, n, i) { + var s, o, u, a, f = null, + l = t ? t.name : null, + h = e, + v = !0, + g = ""; + return e || (v = !1, e = "_@r" + (p += 1)), a = b(e), f = a[0], e = a[1], f && (f = m(f, l, i), o = getOwn(c, f)), e && (f ? o && o.normalize ? g = o.normalize(e, function(e) { + return m(e, l, i) + }) : g = m(e, l, i) : (g = m(e, l, i), a = b(g), f = a[0], g = a[1], n = !0, s = r.nameToUrl(g))), u = f && !o && !n ? "_unnormalized" + (d += 1) : "", { + prefix: f, + name: g, + parentMap: t, + unnormalized: !!u, + url: s, + originalName: h, + isDefine: v, + id: (f ? f + "!" + g : g) + u + } + } + + function E(e) { + var t = e.id, + n = getOwn(u, t); + return n || (n = u[t] = new r.Module(e)), n + } + + function S(e, t, n) { + var r = e.id, + i = getOwn(u, r); + hasProp(c, r) && (!i || i.defineEmitComplete) ? t === "defined" && n(c[r]) : (i = E(e), i.error && t === "error" ? n(i.error) : i.on(t, n)) + } + + function x(e, t) { + var n = e.requireModules, + r = !1; + t ? t(e) : (each(n, function(t) { + var n = getOwn(u, t); + n && (n.error = e, n.events.error && (r = !0, n.emit("error", e))) + }), r || req.onError(e)) + } + + function T() { + globalDefQueue.length && (apsp.apply(l, [l.length - 1, 0].concat(globalDefQueue)), globalDefQueue = []) + } + + function N(e) { + delete u[e], delete a[e] + } + + function C(e, t, n) { + var r = e.map.id; + e.error ? e.emit("error", e.error) : (t[r] = !0, each(e.depMaps, function(r, i) { + var s = r.id, + o = getOwn(u, s); + o && !e.depMatched[i] && !n[s] && (getOwn(t, s) ? (e.defineDep(i, c[s]), e.check()) : C(o, t, n)) + }), n[r] = !0) + } + + function k() { + var e, n, i, u, f = o.waitSeconds * 1e3, + l = f && r.startTime + f < (new Date).getTime(), + c = [], + h = [], + p = !1, + d = !0; + if (t) return; + t = !0, eachProp(a, function(t) { + e = t.map, n = e.id; + if (!t.enabled) return; + e.isDefine || h.push(t); + if (!t.error) + if (!t.inited && l) y(n) ? (u = !0, p = !0) : (c.push(n), g(n)); + else if (!t.inited && t.fetched && e.isDefine) { + p = !0; + if (!e.prefix) return d = !1 + } + }); + if (l && c.length) return i = makeError("timeout", "Load timeout for modules: " + c, null, c), i.contextName = r.contextName, x(i); + d && each(h, function(e) { + C(e, {}, {}) + }), (!l || u) && p && (isBrowser || isWebWorker) && !s && (s = setTimeout(function() { + s = 0, k() + }, 50)), t = !1 + } + + function L(e) { + hasProp(c, e[0]) || E(w(e[0], null, !0)).init(e[1], e[2]) + } + + function A(e, t, n, r) { + e.detachEvent && !isOpera ? r && e.detachEvent(r, t) : e.removeEventListener(n, t, !1) + } + + function O(e) { + var t = e.currentTarget || e.srcElement; + return A(t, r.onScriptLoad, "load", "onreadystatechange"), A(t, r.onScriptError, "error"), { + node: t, + id: t && t.getAttribute("data-requiremodule") + } + } + + function M() { + var e; + T(); + while (l.length) { + e = l.shift(); + if (e[0] === null) return x(makeError("mismatch", "Mismatched anonymous define() module: " + e[e.length - 1])); + L(e) + } + } + var t, n, r, i, s, o = { + waitSeconds: 7, + baseUrl: "./", + paths: {}, + pkgs: {}, + shim: {}, + config: {} + }, + u = {}, + a = {}, + f = {}, + l = [], + c = {}, + h = {}, + p = 1, + d = 1; + return i = { + require: function(e) { + return e.require ? e.require : e.require = r.makeRequire(e.map) + }, + exports: function(e) { + e.usingExports = !0; + if (e.map.isDefine) return e.exports ? e.exports : e.exports = c[e.map.id] = {} + }, + module: function(e) { + return e.module ? e.module : e.module = { + id: e.map.id, + uri: e.map.url, + config: function() { + var t, n = getOwn(o.pkgs, e.map.id); + return t = n ? getOwn(o.config, e.map.id + "/" + n.main) : getOwn(o.config, e.map.id), t || {} + }, + exports: c[e.map.id] + } + } + }, n = function(e) { + this.events = getOwn(f, e.id) || {}, this.map = e, this.shim = getOwn(o.shim, e.id), this.depExports = [], this.depMaps = [], this.depMatched = [], this.pluginMaps = {}, this.depCount = 0 + }, n.prototype = { + init: function(e, t, n, r) { + r = r || {}; + if (this.inited) return; + this.factory = t, n ? this.on("error", n) : this.events.error && (n = bind(this, function(e) { + this.emit("error", e) + })), this.depMaps = e && e.slice(0), this.errback = n, this.inited = !0, this.ignore = r.ignore, r.enabled || this.enabled ? this.enable() : this.check() + }, + defineDep: function(e, t) { + this.depMatched[e] || (this.depMatched[e] = !0, this.depCount -= 1, this.depExports[e] = t) + }, + fetch: function() { + if (this.fetched) return; + this.fetched = !0, r.startTime = (new Date).getTime(); + var e = this.map; + if (!this.shim) return e.prefix ? this.callPlugin() : this.load(); + r.makeRequire(this.map, { + enableBuildCallback: !0 + })(this.shim.deps || [], bind(this, function() { + return e.prefix ? this.callPlugin() : this.load() + })) + }, + load: function() { + var e = this.map.url; + h[e] || (h[e] = !0, r.load(this.map.id, e)) + }, + check: function() { + if (!this.enabled || this.enabling) return; + var e, t, n = this.map.id, + i = this.depExports, + s = this.exports, + o = this.factory; + if (!this.inited) this.fetch(); + else if (this.error) this.emit("error", this.error); + else if (!this.defining) { + this.defining = !0; + if (this.depCount < 1 && !this.defined) { + if (isFunction(o)) { + if (this.events.error && this.map.isDefine || req.onError !== defaultOnError) try { + s = r.execCb(n, o, i, s) + } catch (u) { + e = u + } else s = r.execCb(n, o, i, s); + this.map.isDefine && (t = this.module, t && t.exports !== undefined && t.exports !== this.exports ? s = t.exports : s === undefined && this.usingExports && (s = this.exports)); + if (e) return e.requireMap = this.map, e.requireModules = this.map.isDefine ? [this.map.id] : null, e.requireType = this.map.isDefine ? "define" : "require", x(this.error = e) + } else s = o; + this.exports = s, this.map.isDefine && !this.ignore && (c[n] = s, req.onResourceLoad && req.onResourceLoad(r, this.map, this.depMaps)), N(n), this.defined = !0 + } + this.defining = !1, this.defined && !this.defineEmitted && (this.defineEmitted = !0, this.emit("defined", this.exports), this.defineEmitComplete = !0) + } + }, + callPlugin: function() { + var e = this.map, + t = e.id, + n = w(e.prefix); + this.depMaps.push(n), S(n, "defined", bind(this, function(n) { + var i, s, a, f = this.map.name, + l = this.map.parentMap ? this.map.parentMap.name : null, + c = r.makeRequire(e.parentMap, { + enableBuildCallback: !0 + }); + if (this.map.unnormalized) { + n.normalize && (f = n.normalize(f, function(e) { + return m(e, l, !0) + }) || ""), s = w(e.prefix + "!" + f, this.map.parentMap), S(s, "defined", bind(this, function(e) { + this.init([], function() { + return e + }, null, { + enabled: !0, + ignore: !0 + }) + })), a = getOwn(u, s.id), a && (this.depMaps.push(s), this.events.error && a.on("error", bind(this, function(e) { + this.emit("error", e) + })), a.enable()); + return + } + i = bind(this, function(e) { + this.init([], function() { + return e + }, null, { + enabled: !0 + }) + }), i.error = bind(this, function(e) { + this.inited = !0, this.error = e, e.requireModules = [t], eachProp(u, function(e) { + e.map.id.indexOf(t + "_unnormalized") === 0 && N(e.map.id) + }), x(e) + }), i.fromText = bind(this, function(n, s) { + var u = e.name, + a = w(u), + f = useInteractive; + s && (n = s), f && (useInteractive = !1), E(a), hasProp(o.config, t) && (o.config[u] = o.config[t]); + try { + req.exec(n) + } catch (l) { + return x(makeError("fromtexteval", "fromText eval for " + t + " failed: " + l, l, [t])) + } + f && (useInteractive = !0), this.depMaps.push(a), r.completeLoad(u), c([u], i) + }), n.load(e.name, c, i, o) + })), r.enable(n, this), this.pluginMaps[n.id] = n + }, + enable: function() { + a[this.map.id] = this, this.enabled = !0, this.enabling = !0, each(this.depMaps, bind(this, function(e, t) { + var n, s, o; + if (typeof e == "string") { + e = w(e, this.map.isDefine ? this.map : this.map.parentMap, !1, !this.skipMap), this.depMaps[t] = e, o = getOwn(i, e.id); + if (o) { + this.depExports[t] = o(this); + return + } + this.depCount += 1, S(e, "defined", bind(this, function(e) { + this.defineDep(t, e), this.check() + })), this.errback && S(e, "error", bind(this, this.errback)) + } + n = e.id, s = u[n], !hasProp(i, n) && s && !s.enabled && r.enable(e, this) + })), eachProp(this.pluginMaps, bind(this, function(e) { + var t = getOwn(u, e.id); + t && !t.enabled && r.enable(e, this) + })), this.enabling = !1, this.check() + }, + on: function(e, t) { + var n = this.events[e]; + n || (n = this.events[e] = []), n.push(t) + }, + emit: function(e, t) { + each(this.events[e], function(e) { + e(t) + }), e === "error" && delete this.events[e] + } + }, r = { + config: o, + contextName: e, + registry: u, + defined: c, + urlFetched: h, + defQueue: l, + Module: n, + makeModuleMap: w, + nextTick: req.nextTick, + onError: x, + configure: function(e) { + e.baseUrl && e.baseUrl.charAt(e.baseUrl.length - 1) !== "/" && (e.baseUrl += "/"); + var t = o.pkgs, + n = o.shim, + i = { + paths: !0, + config: !0, + map: !0 + }; + eachProp(e, function(e, t) { + i[t] ? t === "map" ? (o.map || (o.map = {}), mixin(o[t], e, !0, !0)) : mixin(o[t], e, !0) : o[t] = e + }), e.shim && (eachProp(e.shim, function(e, t) { + isArray(e) && (e = { + deps: e + }), (e.exports || e.init) && !e.exportsFn && (e.exportsFn = r.makeShimExports(e)), n[t] = e + }), o.shim = n), e.packages && (each(e.packages, function(e) { + var n; + e = typeof e == "string" ? { + name: e + } : e, n = e.location, t[e.name] = { + name: e.name, + location: n || e.name, + main: (e.main || "main").replace(currDirRegExp, "").replace(jsSuffixRegExp, "") + } + }), o.pkgs = t), eachProp(u, function(e, t) { + !e.inited && !e.map.unnormalized && (e.map = w(t)) + }), (e.deps || e.callback) && r.require(e.deps || [], e.callback) + }, + makeShimExports: function(e) { + function t() { + var t; + return e.init && (t = e.init.apply(global, arguments)), t || e.exports && getGlobal(e.exports) + } + return t + }, + makeRequire: function(t, n) { + function s(o, a, f) { + var l, h, p; + return n.enableBuildCallback && a && isFunction(a) && (a.__requireJsBuild = !0), typeof o == "string" ? isFunction(a) ? x(makeError("requireargs", "Invalid require call"), f) : t && hasProp(i, o) ? i[o](u[t.id]) : req.get ? req.get(r, o, t, s) : (h = w(o, t, !1, !0), l = h.id, hasProp(c, l) ? c[l] : x(makeError("notloaded", 'Module name "' + l + '" has not been loaded yet for context: ' + e + (t ? "" : ". Use require([])")))) : (M(), r.nextTick(function() { + M(), p = E(w(null, t)), p.skipMap = n.skipMap, p.init(o, a, f, { + enabled: !0 + }), k() + }), s) + } + return n = n || {}, mixin(s, { + isBrowser: isBrowser, + toUrl: function(e) { + var n, i = e.lastIndexOf("."), + s = e.split("/")[0], + o = s === "." || s === ".."; + return i !== -1 && (!o || i > 1) && (n = e.substring(i, e.length), e = e.substring(0, i)), r.nameToUrl(m(e, t && t.id, !0), n, !0) + }, + defined: function(e) { + return hasProp(c, w(e, t, !1, !0).id) + }, + specified: function(e) { + return e = w(e, t, !1, !0).id, hasProp(c, e) || hasProp(u, e) + } + }), t || (s.undef = function(e) { + T(); + var n = w(e, t, !0), + r = getOwn(u, e); + g(e), delete c[e], delete h[n.url], delete f[e], r && (r.events.defined && (f[e] = r.events), N(e)) + }), s + }, + enable: function(e) { + var t = getOwn(u, e.id); + t && E(e).enable() + }, + completeLoad: function(e) { + var t, n, r, i = getOwn(o.shim, e) || {}, + s = i.exports; + T(); + while (l.length) { + n = l.shift(); + if (n[0] === null) { + n[0] = e; + if (t) break; + t = !0 + } else n[0] === e && (t = !0); + L(n) + } + r = getOwn(u, e); + if (!t && !hasProp(c, e) && r && !r.inited) { + if (o.enforceDefine && (!s || !getGlobal(s))) { + if (y(e)) return; + return x(makeError("nodefine", "No define call for " + e, null, [e])) + } + L([e, i.deps || [], i.exportsFn]) + } + k() + }, + nameToUrl: function(e, t, n) { + var r, i, s, u, a, f, l, c, h; + if (req.jsExtRegExp.test(e)) c = e + (t || ""); + else { + r = o.paths, i = o.pkgs, a = e.split("/"); + for (f = a.length; f > 0; f -= 1) { + l = a.slice(0, f).join("/"), s = getOwn(i, l), h = getOwn(r, l); + if (h) { + isArray(h) && (h = h[0]), a.splice(0, f, h); + break + } + if (s) { + e === s.name ? u = s.location + "/" + s.main : u = s.location, a.splice(0, f, u); + break + } + } + c = a.join("/"), c += t || (/^data\:|\?/.test(c) || n ? "" : ".js"), c = (c.charAt(0) === "/" || c.match(/^[\w\+\.\-]+:/) ? "" : o.baseUrl) + c + } + return o.urlArgs ? c + ((c.indexOf("?") === -1 ? "?" : "&") + o.urlArgs) : c + }, + load: function(e, t) { + req.load(r, e, t) + }, + execCb: function(e, t, n, r) { + return t.apply(r, n) + }, + onScriptLoad: function(e) { + if (e.type === "load" || readyRegExp.test((e.currentTarget || e.srcElement).readyState)) { + interactiveScript = null; + var t = O(e); + r.completeLoad(t.id) + } + }, + onScriptError: function(e) { + var t = O(e); + if (!y(t.id)) return x(makeError("scripterror", "Script error for: " + t.id, e, [t.id])) + } + }, r.require = r.makeRequire(), r + } + + function getInteractiveScript() { + return interactiveScript && interactiveScript.readyState === "interactive" ? interactiveScript : (eachReverse(scripts(), function(e) { + if (e.readyState === "interactive") return interactiveScript = e + }), interactiveScript) + } + var req, s, head, baseElement, dataMain, src, interactiveScript, currentlyAddingScript, mainScript, subPath, version = "2.1.9", + commentRegExp = /(\/\*([\s\S]*?)\*\/|([^:]|^)\/\/(.*)$)/mg, + cjsRequireRegExp = /[^.]\s*require\s*\(\s*["']([^'"\s]+)["']\s*\)/g, + jsSuffixRegExp = /\.js$/, + currDirRegExp = /^\.\//, + op = Object.prototype, + ostring = op.toString, + hasOwn = op.hasOwnProperty, + ap = Array.prototype, + apsp = ap.splice, + isBrowser = typeof window != "undefined" && typeof navigator != "undefined" && !!window.document, + isWebWorker = !isBrowser && typeof importScripts != "undefined", + readyRegExp = isBrowser && navigator.platform === "PLAYSTATION 3" ? /^complete$/ : /^(complete|loaded)$/, + defContextName = "_", + isOpera = typeof opera != "undefined" && opera.toString() === "[object Opera]", + contexts = {}, + cfg = {}, + globalDefQueue = [], + useInteractive = !1; + if (typeof define != "undefined") return; + if (typeof requirejs != "undefined") { + if (isFunction(requirejs)) return; + cfg = requirejs, requirejs = undefined + } + typeof require != "undefined" && !isFunction(require) && (cfg = require, require = undefined), req = requirejs = function(e, t, n, r) { + var i, s, o = defContextName; + return !isArray(e) && typeof e != "string" && (s = e, isArray(t) ? (e = t, t = n, n = r) : e = []), s && s.context && (o = s.context), i = getOwn(contexts, o), i || (i = contexts[o] = req.s.newContext(o)), s && i.configure(s), i.require(e, t, n) + }, req.config = function(e) { + return req(e) + }, req.nextTick = typeof setTimeout != "undefined" ? function(e) { + setTimeout(e, 4) + } : function(e) { + e() + }, require || (require = req), req.version = version, req.jsExtRegExp = /^\/|:|\?|\.js$/, req.isBrowser = isBrowser, s = req.s = { + contexts: contexts, + newContext: newContext + }, req({}), each(["toUrl", "undef", "defined", "specified"], function(e) { + req[e] = function() { + var t = contexts[defContextName]; + return t.require[e].apply(t, arguments) + } + }), isBrowser && (head = s.head = document.getElementsByTagName("head")[0], baseElement = document.getElementsByTagName("base")[0], baseElement && (head = s.head = baseElement.parentNode)), req.onError = defaultOnError, req.createNode = function(e, t, n) { + var r = e.xhtml ? document.createElementNS("http://www.w3.org/1999/xhtml", "html:script") : document.createElement("script"); + return r.type = e.scriptType || "text/javascript", r.charset = "utf-8", r.async = !0, r + }, req.load = function(e, t, n) { + var r = e && e.config || {}, + i; + if (isBrowser) return i = req.createNode(r, t, n), i.setAttribute("data-requirecontext", e.contextName), i.setAttribute("data-requiremodule", t), i.attachEvent && !(i.attachEvent.toString && i.attachEvent.toString().indexOf("[native code") < 0) && !isOpera ? (useInteractive = !0, i.attachEvent("onreadystatechange", e.onScriptLoad)) : (i.addEventListener("load", e.onScriptLoad, !1), i.addEventListener("error", e.onScriptError, !1)), i.src = n, currentlyAddingScript = i, baseElement ? head.insertBefore(i, baseElement) : head.appendChild(i), currentlyAddingScript = null, i; + if (isWebWorker) try { + importScripts(n), e.completeLoad(t) + } catch (s) { + e.onError(makeError("importscripts", "importScripts failed for " + t + " at " + n, s, [t])) + } + }, isBrowser && !cfg.skipDataMain && eachReverse(scripts(), function(e) { + head || (head = e.parentNode), dataMain = e.getAttribute("data-main"); + if (dataMain) return mainScript = dataMain, cfg.baseUrl || (src = mainScript.split("/"), mainScript = src.pop(), subPath = src.length ? src.join("/") + "/" : "./", cfg.baseUrl = subPath), mainScript = mainScript.replace(jsSuffixRegExp, ""), req.jsExtRegExp.test(mainScript) && (mainScript = dataMain), cfg.deps = cfg.deps ? cfg.deps.concat(mainScript) : [mainScript], !0 + }), define = function(e, t, n) { + var r, i; + typeof e != "string" && (n = t, t = e, e = null), isArray(t) || (n = t, t = null), !t && isFunction(n) && (t = [], n.length && (n.toString().replace(commentRegExp, "").replace(cjsRequireRegExp, function(e, n) { + t.push(n) + }), t = (n.length === 1 ? ["require"] : ["require", "exports", "module"]).concat(t))), useInteractive && (r = currentlyAddingScript || getInteractiveScript(), r && (e || (e = r.getAttribute("data-requiremodule")), i = contexts[r.getAttribute("data-requirecontext")])), (i ? i.defQueue : globalDefQueue).push([e, t, n]) + }, define.amd = { + jQuery: !0 + }, req.exec = function(text) { + return eval(text) + }, req(cfg) +})(this), define("../../node_modules/requirejs/require.js", function() {}), define("ziggy/EntityRelationshipLoader", [], function() { + return { + load: function() { + return JSON.parse(ziggyFileLoader.loadAppData("entity_relationship.json")) + } + } +}), define("ziggy/FormDefinitionLoader", [], function() { + return { + load: function(e) { + return JSON.parse(ziggyFileLoader.loadAppData(e + "/form_definition.json")) + } + } +}), define("ziggy/FormDataRepository", [], function() { + var e; + return typeof formDataRepositoryContext != "undefined" && (e = formDataRepositoryContext), { + getFormInstanceByFormTypeAndId: function(e, t) { + return null + }, + queryUniqueResult: function(t) { + return e.queryUniqueResult(t) + }, + queryList: function(t) { + return e.queryList(t) + }, + saveFormSubmission: function(t, n, r) { + return e.saveFormSubmission(JSON.stringify(t), JSON.stringify(n), r) + }, + saveEntity: function(t, n) { + return e.saveEntity(t, JSON.stringify(n)) + } + } +}), define("ziggy/RelationKind", [], function() { + var e = { + one_to_one: { + type: "one_to_one" + }, + one_to_many: { + type: "one_to_many" + }, + many_to_one: { + type: "many_to_one" + } + }; + return e.one_to_one.inverse = e.one_to_one, e.one_to_many.inverse = e.many_to_one, e.many_to_one.inverse = e.one_to_many, e +}), define("ziggy/Util", [], function() { + return String.prototype.format || (String.prototype.format = function() { + var e = arguments; + return this.replace(/{(\d+)}/g, function(t, n) { + return typeof e[n] != "undefined" ? e[n] : t + }) + }), { + hasValue: function(e) { + return typeof e != "undefined" && !!e + } + } +}), define("ziggy/SqlQueryBuilder", ["ziggy/FormDataRepository", "ziggy/RelationKind", "ziggy/Util"], function(e, t, n) { + var r = function(e, t, s, o) { + var u = e.findEntityDefinitionByType(o.type), + a = o.from.split(".")[1], + f = "select * from " + o.type + " where " + o.to + " = '" + t[a] + "'", + l = JSON.parse(i(o)(f)); + return n.hasValue(l) ? !n.hasValue(u.relations) || u.relations.length === 0 ? l : (u.relations.forEach(function(t) { + if (t.type !== s) { + var i = r(e, l, u.type, t); + n.hasValue(i) && (l[t.type] = i) + } + }), l) : null + }, + i = function(n) { + return t[n.kind] === t.one_to_many ? e.queryList : e.queryUniqueResult + }; + return { + loadEntityHierarchy: function(t, i, s) { + var o = t.findEntityDefinitionByType(i), + u = "select * from " + i + " where id = '" + s + "'", + a = JSON.parse(e.queryUniqueResult(u)); + if (!n.hasValue(o.relations) || o.relations.length === 0) { + var f = {}; + return f[i] = a, f + } + o.relations.forEach(function(e) { + a[e.type] = r(t, a, i, e) + }); + var l = {}; + return l[i] = a, l + } + } +}), define("ziggy/IdFactoryBridge", [], function() { + var e; + return typeof formDataRepositoryContext != "undefined" && (e = formDataRepositoryContext), { + generateIdFor: function(t) { + return e.generateIdFor(t) + } + } +}), define("ziggy/IdFactory", ["ziggy/IdFactoryBridge"], function(e) { + return { + generateIdFor: function(t) { + return e.generateIdFor(t) + } + } +}), define("ziggy/Entities", ["ziggy/Util"], function(e) { + var t = function() { + var t = this; + t.entities = [], t.add = function(e) { + return t.entities.push(e), t + }, t.addAll = function(e) { + return t.entities = t.entities.concat(e.entities), t + }, t.forEach = function(e) { + return t.entities.forEach(e) + }, t.findEntityByType = function(e) { + for (var n = 0; n < t.entities.length; n++) + if (t.entities[n].type === e) return t.entities[n]; + return null + }, t.findEntityByTypeAndId = function(e) { + for (var n = 0; n < t.entities.length; n++) + if (t.entities[n].type === e.type && t.entities[n].getFieldByPersistenceName("id").value === e.getFieldByPersistenceName("id").value) return t.entities[n]; + return null + }, t.findEntitiesByType = function(e) { + return t.entities.filter(function(t) { + return t.type === e + }) + }, t.contains = function(n) { + return e.hasValue(t.findEntityByTypeAndId(n)) + } + }; + return { + newInstance: function() { + return new t + } + } +}), define("ziggy/FormModelMapper", ["ziggy/FormDataRepository", "ziggy/SqlQueryBuilder", "ziggy/IdFactory", "ziggy/Util", "ziggy/RelationKind", "ziggy/Entities"], function(e, t, n, r, i, s) { + var o = function(e, t, n) { + return r.hasValue(e) && t.contains(e) && !n.contains(e) + }, + u = function(e, t, n, r) { + var i = e.to.split(".")[1], + s = t.findEntityByTypeAndId(r); + s.createField(s.source + "." + i, s.source + "." + i, i, n) + }, + a = function(e, t) { + var n = e.form.fields.filter(function(e) { + return e.source === t.source + })[0]; + r.hasValue(n) ? r.hasValue(n.value) || (n.value = t.value) : e.form.fields.push(t) + }, + f = function(e, t) { + e.forEach(function(e) { + var n = c(e); + a(t, n) + }) + }, + l = function(e, t) { + var n = c(e); + t.id = n.value + }, + c = function(e) { + var t = e.getFieldByPersistenceName("id"); + return r.hasValue(t) ? r.hasValue(t.value) || (t.value = n.generateIdFor(e.type)) : (t = { + name: e.source + ".id", + source: e.source + ".id", + persistenceName: "id", + value: n.generateIdFor(e.type) + }, e.addField(t)), t + }, + h = function(e, t, n, r, i) { + o(e, t, n) && (u(i, t, r, e), p(e, t, n)) + }, + p = function(t, n, r) { + var s = t.findParents(); + s.forEach(function(e) { + var t = n.findEntityByType(e.type); + o(t, n, r) && p(t, n, r) + }); + var u; + if (o(t, n, r)) { + var a = {}; + t.forEachField(function(e) { + a[e.persistenceName] = e.value + }), e.saveEntity(t.type, a), u = t.getFieldByPersistenceName("id").value, r.add(t) + } + var f = t.findChildren(); + f.forEach(function(e) { + if (e.kind === i.one_to_many.type) { + var t = n.findEntitiesByType(e.type); + t.forEach(function(t) { + h(t, n, r, u, e) + }) + } else { + var s = n.findEntityByType(e.type); + h(s, n, r, u, e) + } + }) + }, + d = function(e, t) { + var n = e; + for (var i = 0; i < t.length; i++) { + var s = t[i]; + if (!r.hasValue(n[s])) { + n = undefined; + break + } + n = n[s] + } + return n + }, + v = function(e, t) { + return e.filter(function(e) { + if (e.name === t) return e + })[0] + }, + m = function(e, t) { + e.form.fields.forEach(function(e) { + if (e.shouldLoadValue) { + var n = e.source.split("."), + i = d(t, n); + r.hasValue(i) && (e.value = i) + } + }) + }, + g = function(e, t, n) { + r.hasValue(e.form.sub_forms) && e.form.sub_forms.forEach(function(i) { + var s = t.findPathToBaseEntityFromSubEntity(e.form.bind_type, i.bind_type), + o = d(n, s); + o.forEach(function(e) { + var t = null; + i.fields.forEach(function(n) { + if (n.shouldLoadValue) { + var i = d(e, n.source.split(".").slice(-1)); + r.hasValue(i) && (t = t || {}, t[n.name] = i) + } + }), r.hasValue(t) && i.instances.push(t) + }) + }) + }, + y = function(e, t) { + if (!r.hasValue(t)) return; + var n = decodeURIComponent(decodeURIComponent(t)), + i = JSON.parse(n); + for (var s in i) + if (i.hasOwnProperty(s)) { + var o = v(e.form.fields, s); + r.hasValue(o) && (o.value = i[s]) + } + }, + b = function(e, t) { + e.forEach(function(e) { + r.hasValue(e.source) || (e.source = t + "." + e.name) + }) + }, + w = function(e) { + r.hasValue(e.form.sub_forms) && e.form.sub_forms.forEach(function(e) { + b(e.fields, e.bind_type), e.instances = [] + }) + }; + return { + mapToFormModel: function(n, i, s) { + var o = e.getFormInstanceByFormTypeAndId(s.id, s.formName); + if (r.hasValue(o)) { + var u = JSON.parse(o); + if (r.hasValue(u)) return u + } + if (!r.hasValue(n)) return i; + b(i.form.fields, i.form.bind_type), w(i); + if (!r.hasValue(s.entityId)) return i; + var a = t.loadEntityHierarchy(n, i.form.bind_type, s.entityId); + return m(i, a), y(i, s.fieldOverrides), g(i, n, a), i + }, + mapToEntityAndSave: function(e, t) { + var n = s.newInstance(); + t.form.fields.forEach(function(t) { + var i = t.source.split("."), + s = i[i.length - 2], + o = n.findEntityByType(s); + r.hasValue(o) || (o = e.findEntityDefinitionByType(s).createInstance(), o.source = t.source.substring(0, t.source.lastIndexOf(".")), n.add(o)), o.createField(t.name, t.source, i[i.length - 1], t.value) + }); + var i = s.newInstance(); + r.hasValue(t.form.sub_forms) && t.form.sub_forms.forEach(function(t) { + t.instances.forEach(function(n) { + var r = e.findEntityDefinitionByType(t.bind_type).createInstance(); + t.fields.forEach(function(e) { + var t = e.source.split("."); + r.createField(e.name, e.source, t[t.length - 1], n[e.name]) + }), r.source = t.bind_type, l(r, n), i.add(r) + }) + }), f(n, t), n.addAll(i); + var o = s.newInstance(), + u = n.findEntityByType(t.form.bind_type); + p(u, n, o) + } + } +}), define("ziggy/FormSubmissionRouter", [], function() { + var e; + return typeof formSubmissionRouter != "undefined" && (e = formSubmissionRouter), { + route: function(t) { + return e.route(t) + } + } +}), define("ziggy/Entity", [], function() { + var e = function(e) { + var t = this, + n = function(e) { + return t.relations.filter(function(t) { + return t.as === e + }) + }; + t.type = e, t.relations = [], t.fields = [], t.addField = function(e) { + return t.fields.push(e), t + }, t.createField = function(e, n, r, i) { + return t.fields.push({ + name: e, + source: n, + persistenceName: r, + value: i + }), t + }, t.findParents = function() { + return n("child") + }, t.findChildren = function() { + return n("parent") + }, t.getFieldByPersistenceName = function(e) { + return t.fields.filter(function(t) { + return t.persistenceName === e + })[0] + }, t.forEachField = function(e) { + return t.fields.forEach(e) + } + }; + return { + newInstance: function(t) { + return new e(t) + } + } +}), define("ziggy/EntityDef", ["ziggy/Entity"], function(e) { + var t = function(t) { + var n = this; + n.type = t, n.relations = [], n.fields = [], n.addRelation = function(e) { + return n.relations.push(e), n + }, n.removeAllRelations = function() { + n.relations = [] + }, n.createInstance = function() { + var t = e.newInstance(n.type); + return n.relations.forEach(function(e) { + t.relations.push(e.createInstance()) + }), t + }, n.findRelationByType = function(e) { + return n.relations.filter(function(t) { + return t.type === e + })[0] + } + }; + return { + newInstance: function(e) { + return new t(e) + } + } +}), define("ziggy/EntityDefinitions", ["ziggy/Util"], function(e) { + var t = function() { + var t = this; + t.entityDefinitions = [], t.add = function(e) { + return t.entityDefinitions.push(e), t + }, t.findEntityDefinitionByType = function(e) { + for (var n = 0; n < t.entityDefinitions.length; n++) + if (t.entityDefinitions[n].type === e) return t.entityDefinitions[n]; + return null + }, t.hasEntityDefinitions = function() { + return t.entityDefinitions.length !== 0 + }, t.findPathToBaseEntityFromSubEntity = function(n, r) { + var i = t.findEntityDefinitionByType(r), + s = i.findRelationByType(n); + if (e.hasValue(s)) return [s.type, r]; + for (var o = 0; o < i.relations.length; o++) { + var u = t.findPathToBaseEntityFromSubEntity(n, i.relations[o].type); + if (e.hasValue(u)) return u.push(r), u + } + return null + } + }; + return { + newInstance: function() { + return new t + } + } +}), define("ziggy/Relation", [], function() { + var e = function(e, t, n, r, i) { + var s = this; + s.type = e, s.kind = t, s.as = n, s.from = r, s.to = i + }; + return { + newInstance: function(t, n, r, i, s) { + return new e(t, n, r, i, s) + } + } +}), define("ziggy/RelationDef", ["ziggy/Relation"], function(e) { + var t = function(t, n, r, i, s) { + var o = this; + o.type = t, o.kind = n, o.as = r, o.from = i, o.to = s, o.createInstance = function() { + return e.newInstance(o.type, o.kind, o.as, o.from, o.to) + } + }; + return { + newInstance: function(e, n, r, i, s) { + return new t(e, n, r, i, s) + } + } +}), define("ziggy/EntityRelationships", ["ziggy/EntityDef", "ziggy/EntityDefinitions", "ziggy/RelationDef", "ziggy/RelationKind", "ziggy/Util"], function(e, t, n, r, i) { + var s = function(n, r) { + var s = t.newInstance(); + return i.hasValue(n) && n.forEach(function(t) { + var n = s.findEntityDefinitionByType(t.parent); + i.hasValue(n) || s.add(e.newInstance(t.parent)), n = s.findEntityDefinitionByType(t.child), i.hasValue(n) || s.add(e.newInstance(t.child)) + }), i.hasValue(r.form.bind_type) && !i.hasValue(s.findEntityDefinitionByType(r.form.bind_type)) && s.add(e.newInstance(r.form.bind_type)), s + }; + return { + determineEntitiesAndRelations: function(e, t) { + var o = s(e, t); + return i.hasValue(e) ? (e.forEach(function(e) { + var t = o.findEntityDefinitionByType(e.parent); + i.hasValue(t.relations) || t.removeAllRelations(), t.addRelation(n.newInstance(e.child, e.kind, "parent", e.from, e.to)); + var s = o.findEntityDefinitionByType(e.child); + i.hasValue(s.relations) || s.removeAllRelations(), s.addRelation(n.newInstance(e.parent, r[e.kind].inverse.type, "child", e.to, e.from)) + }), o) : o + } + } +}), define("FormDataController", ["ziggy/EntityRelationshipLoader", "ziggy/FormDefinitionLoader", "ziggy/FormModelMapper", "ziggy/FormDataRepository", "ziggy/FormSubmissionRouter", "ziggy/EntityRelationships", "ziggy/Util"], function(e, t, n, r, i, s, o) { + var u = "1", + a, f, l, c = function(n) { + o.hasValue(a) || (a = e.load()), o.hasValue(f) || (f = t.load(n.formName)), o.hasValue(l) || (l = s.determineEntitiesAndRelations(a, f)) + }, + h = function(e, t) { + c(e); + if (l.hasEntityDefinitions()) { + n.mapToEntityAndSave(l, t); + var r = t.form.fields.filter(function(e) { + return e.source === t.form.bind_type + ".id" + })[0]; + e.entityId = r.value + } + return e + }; + return { + get: function(e) { + return c(e), n.mapToFormModel(l, f, e) + }, + save: function(e, t) { + typeof e != "object" && (e = JSON.parse(e)), typeof t != "object" && (t = JSON.parse(t)), e = h(e, t); + var n = r.saveFormSubmission(e, t, t.form_data_definition_version || u); + o.hasValue(n) && i.route(e.instanceId) + }, + createOrUpdateEntity: function(e, t) { + typeof e != "object" && (e = JSON.parse(e)), typeof t != "object" && (t = JSON.parse(t)), e = h(e, t), i.route(e.instanceId) + }, + deleteFormSubmission: function(e) { + c(e) + } + } +}), requirejs.config({ + paths: { + ziggy: "." + } +}), require(["FormDataController"], function(e) { + controller = e +}), define("../../main", function() {}); \ No newline at end of file diff --git a/opensrp-core/bin/src/test/java/org/opensrp/BaseIntegrationTest.class b/opensrp-core/bin/src/test/java/org/opensrp/BaseIntegrationTest.class new file mode 100644 index 0000000000000000000000000000000000000000..c74dba9b1de612c4fdb6b7ec3c65a9524794a5e4 GIT binary patch literal 976 zcmb7DO>Yx15FMv!K9)depit<=^i&RHFFhp)sT2^EB0wZm;^;WT#_g_c*-q5{G9-}T z&W}Qjx2cH47Q|s~uRZf--h1|spI^QKzya(wp~m2ecQOs=LwYKfA~h~cjYaL9O`i*o z$2wrHMhO#}(bpf@s7|$($V$CS2R5& zv!kAG&lv2!U+AC;x=u^w6(Ju+=}IpNxG{=!hAp_y;Kkn^FAe`EcLvGWES$twDw5i% z=&p2`lsR6L_4Sn>@CfLF(klU|(P|SKG&ajuvq39>jmkoz~#)Dr%eNKhf@0ptUQ|YOq83HFy9IX@*}?9v77W literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/test/java/org/opensrp/FormSubmissionProcessorTest.class b/opensrp-core/bin/src/test/java/org/opensrp/FormSubmissionProcessorTest.class new file mode 100644 index 0000000000000000000000000000000000000000..cd6580a064af391ce262ea6a8e1eedd7a8404f53 GIT binary patch literal 8823 zcmeHNZByGu5MBX6*ddUT5JJ*63h9gK3+@YP+CWJNfj}#o4A9K9-_G)3AIOq>ck;yj zW1VSd+VA}j{VSdBNybRnaIy?-XW|dGxxL-h-fDO6xjp{;``6zAU=g-W7&73#;7(Ce zA&Up3L5e=F6#Y8&1g{r2d|ulPN;M_~^Su|`cc>6P-$P~-Mhv(bO1Q+U6rYz4s3Q#+ z-WPQPX6;i%mkhYQ6L^x<=$6-Df|Xpl>Uq8-5}zOp7`3;3=MdS(e`b|RbC>c4bEp9m z_K&eK&R^e87`NjGl5zuXoOp6XNB(Pye;uDJn`^$;pgd%s4%ttTk$X}&Ray>Q+BV>( zy-A5HtGlfU-kL$?D~`*kC)=!(_F9~P9OJYRXPB_pV`H4p6W5Jo&;{f6YI}rpIh+gG zaq6;~iUv3{y39N#SJ3H&`Io3<{gp%Op&w0n3z@f`w0k@z6Zb2Ec5SNdh!D@A%OG{1EFc_HhEr+Neu}aiB zvhsCc4gJHks}I=%$y}YAQZp*o9|Ra&I*k{@*uz_IMP3>^2do1R{J%YbHE{=vaKIgE z`=m^Hm$0_58WKx3>olKJTcw8Olzmtul|pfRJMLdw(#&YnJ|C?o_V)gjc83A|>rG&W z{?)}1M*rH55y`peiXez<{{2OTSDNYa@0CQET2=8y~SrXiB%~%DylohpE$|hiq&ke2v4^DNMt%Rq^zB(LN(+lqLPIVUDFxh03HTjtaXNkX|Ko;@C{P z_M>x}#?V#HN%Q>FrG2WSj%jEV+kj5Hs?ERva3W zeZir)X1$r>?&4P-n5GU!kJ*1d~Tb{zlzhEMWv2i_TnS$Nlg>4L4g62-8I z7(IMRHM1sd#8Te{wG!ofstg)1W%~|sU$)9(i#Q^y4Etga>`YBe?4ex}R0i0w9J3=3 zxikhJ8^bdxx?uy*nQX|#52mX04?w5tA0M@eH5Ia#P4GViotTBHahrq$CVYZj>Nbp2 zJ$!{tF}cR<2!Uc!EgGYLrAVp)sO@NU$MY&Jyc~d9O}-@~cmQh8?o$jv?a|d(tob?s zwPA;B0BWOVJl?Ps~UHryJ*6i0W+r*KNHsRT0J=#wb@K~hBxco z1Kxx!LKtM1Rc=zi8k_b}W?`62iM9^fy4jh|b%t}o#sEW-*E;W0dc Mr?7#Z*@SQY0j7hfX#fBK literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/test/java/org/opensrp/MultimediaServiceTest.class b/opensrp-core/bin/src/test/java/org/opensrp/MultimediaServiceTest.class new file mode 100644 index 0000000000000000000000000000000000000000..6ea9627ac5741ea1e6362225b165542f4fbfde77 GIT binary patch literal 7066 zcmeHMTW{Mo6h3s)ICj%yOPj81cj2;|vx~hB*{$gcWNABOQ<|YpGVGC&8JmeD3MAzw z!2ZL2${sgt!1lf$HSExGEjd;pY3M_n=E0Ukef)TM&fz(S)Ib0J@fQHB!ksEq2(+|v zTZU`XI%Iv;lB(O1ArG_)TU(K5gwH#IwYlmGm+v5~3eyB$8elyZbX(i|huk#;UiMF; z30!t2DAowvco+qicQfbX5ku{|9Ll1TuZOdJJgkaD7?XZ zX{aPBz}L5Ey|&Ziw8LGGq4YFl?h)&9x{L;C4h^zQJCbXP%A!6qZjT!5!H+}Kf4T=6 zv}q06w1PC#{o^r&A4+AYec_|3QLofx)&z8))5lVdK?g+Q8HPnhczKhs^F55vW@iOh z(0C~aC^GY*uRRw~9opr2pqS4eNp)02<`=CC#@Zi+>1C*f;<{(loP@kyYY!Cp-7c<< z)eVnnjokvSa(ZpZ!0=;(mjls_R2fYfYfwj_<;Re3RODi4r*R@_tWcq8 z6mKY&-{a@7U#`P5L=Fn-+a;da^@p#!m zY=*Qhj_#6C%b_L&k4E4ra)g-jXC{zQBneyvXr z)Kd_@xn0yig%p`sX1JJg#9h~#V*xoC>Fc$#=!}VaGNzpNqr$*KRylX?{M?XeyqM=E z_)_865xLPbVJ_?>Wkt>*e)6iU!xCJdgGIPOV5u>=y|w$-1qTbM2a&(e)s78db{{NV z=Ispw+OToj^aO6wZ#pGU4eZ8QbF&)~sE=ZouEN^{YNKZYvrb$(tj)rEg#1!q(|lfP zJg(sr4=m-|B}xqf*K|)tUZ>6aJQ>a=xGJomZ`r$v62e+FP7CM+Gmfo9(7Yd$%C7~? zdlvJ_dGwz+ZAxd+XSTQ*x&OD^jC;SHg-^)T?=Pr7C%VYVP=$f#E95DykVNBUi;Yq_ zW;@feSE$PgQ)f*IB$) zpa%6++r>fK99)`cn}>x{ZPWO?2$%8y3ievXQ3zh^f5OsFi?93!ul_yYdJX^WXn?=h z@qaEx!5i@App7EK6iR6&B(OY^?j3BIZAc*z*n&LA3%mQXaE2J literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/test/java/org/opensrp/SpringApplicationContextProvider.class b/opensrp-core/bin/src/test/java/org/opensrp/SpringApplicationContextProvider.class new file mode 100644 index 0000000000000000000000000000000000000000..b96e51a6bc530ebb599a88d4c83f92d4a192e585 GIT binary patch literal 1785 zcmds2-%k@k5T0#IkDk>cP*Cwo4CV&!wxeOLF)oZ=&oCxj+1bk#iU@@9R zZxJYOOC{Yi0>#Gq5rNXK?ur0z5U5=`dv1(2vv89X8;8mWtK*^QQm&I!##u5nHM$dv z#BS2C((Vh|6+C7JjZ(%>Sx?Yayi7B{%qs0_VX4xNCd~0Zb%+pWDJDFQKr))1jHXYd zIgTI2kV&eIqyE9k0PjFKQ{HDs(2E==4D$@GV`?+Tj}1%2M{Q33A!L7`-b>e?k^yy^ zGV0D#5mrVW^6C(o*w~GkwFpzfT!G5l2>*^{Z(v5%oFsBQP#bHqk4-QzTtu2-^IZ{R zvhV(XKnNk!st~{&fqEml)Y5_TLf-OPt3^_YH-n@jOq-#62+T*Cv-pS^>G%0z$@Qfr zupRyRbU>YlJ>l|V6Ig1jPn!m_aEHLBYe@XBR}}NLWBD#OrlspS3=gtCd?7u3YgbLl zY?KgKL1{Rdh&?rwRwC0oesE;Hk3?6ZTyV(R%#g(c^t=>J6ABvC_Y~L4O6!DjFQqWd z@cwxK53!h&ECsNJ=aT{=P<<_}#l~o(mMuI0oX7ZLz+_+s%D5`xI)K^i#J@279w7V* z;fML^XSnqpcLlhOzvb)+hQW1pWCaVbh`S2ZVJY|UH1mJqVR?#&TIQjU;qJn{G2CV3 aX}E>oxFW0|x&Zg_KK}CveAci3`}1!AScau>s1aB) zI&4{PY^%rmtfh3frBW`9PFs;mn2@d2DAL@R4r0b(l)%&g7&F;z{j%HRp(QZ(gOI}h zNMK}PafiU@nu_>1)Co);Vt>+F=>R?_jo-H=5~{e*BO0nC6*03yNt$Z48}r0`PaE~l z9;XoxW2O<5vhX?UaypOEHH+w)d35tMQru9fEKQgV_o&5=d_Tpo${jJurc1Kv;%Rzl z@)1RnDs5d*G-T3|?sEEntQQvI(&?#)ofPu`mtmo*01KI`Kzqk>ZX{_eLLAU!Dc7j0 zG*)M!Rhs5gXJL^FLo*riXF_7Zo?#2#vn+O1I6yb)lgwDxf+)(Qt8h+S0%3iy!k&Ps zRg_WtBIS+x4vR&^TmVN4?8QCIL>#%;J@a9UTg$Z@)e9)|J+2P@RrS_VJ#bdQ+j z9g*;3mq-4Zst9|pgRhw5aAD`H*p}5oc26kwCs2K85;P!yOB3)JTqbaBp?zpS^AT2@ zJ)LZ$i}*Q9c5&}^I}w5DwhCFiQ|wH|!%@2@41s3*G!A)%z*UQeAm8s-Wt4ja0<)W$ zw7Bp$WM3G8qpmuCIWWFB$XMG=%#{Fc5b~gkJx25iv+ARAIs|5%>L@l!j@p;Er~tkq zUpbp3zhqA8{CXGd6(}8KneW&z893hgv)ZntcF(fc>s3^yt#Nu4b{OAxZ!eslr=Q&X~b*Bg_FFjN*|ipf@FGO~>#$J~)CM!8?G)Ul9B@-S`70{=r{0 zn8d5Y0Dh+MI+3H`3QP~4UB%WKd{LmT;rCIt>mIf%UbZhQu+4bbX1#2)71(Zi*p|I) vw=1xH?O}W3Wt*$OHt%73>SeoIf$g4$E%vf~TY+uC!}ik4b|2?N4ZeE|DWaZP literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/test/java/org/opensrp/domain/AppStateTokenTest.class b/opensrp-core/bin/src/test/java/org/opensrp/domain/AppStateTokenTest.class new file mode 100644 index 0000000000000000000000000000000000000000..b42faa21f09d00c3485b854c5ba329fabd3c7fdf GIT binary patch literal 3068 zcmd^BTTc@~6h2c5y@-O`yZ}0qn7~V$7+w@(0tiY{#YnC3ak@LSQ+8+8nb}5uioe7} z6MXka8P9a9l(3}Rgm{S$ozCuj`({FRP|NJgsg5x(Sc=_*VPf1bwm~*Phh$S514FK_nRH=SppM}g%tJ)fw9%K27&yx z@_7MD1g1{0J6bDUgezqH;~S~DQ9+mc)Kg(30%nDhG}5XW@X$P>g zJ7O(PS5RZ6ud$M7T%o?=hDv2=$gJ0<7C+=4B9t}wA-Y;|u2!6$N(xP4QG}7w)`_AX zla92>=})bHEkp*x)DB0ukaU#KhB5VUF(&&r0r$cv5FVN{al|!dMjESQ&nium;#*y# z!q8ay{7^_t`5~_0oW+65<1ciDzKD%=D~O^@x*AD{2SAu%tdSJYs8y6vdmQm{slfu_ zGbiADiKODTViEXGdrCzeaBI1CR#O3ke9y8&U#X7T4wx~!%th)r)%2Oooq`y&ogpkc z?_(C22G`UKibDyf=4tg1fO{`m&0Rl5M<*}gA&q)7e-nNAyuwEPel-VFK z>zZ{^@te|5b_s#S*Rizd>z?ciBhdDy>(RZ#15HiTT$yeZ;RYcOvm7yq9ul?xaIX_s za<2`vV^p(4GJQ literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/test/java/org/opensrp/domain/BaseEntityTest.class b/opensrp-core/bin/src/test/java/org/opensrp/domain/BaseEntityTest.class new file mode 100644 index 0000000000000000000000000000000000000000..9f046cd85097d3d222292763393381df2abc0727 GIT binary patch literal 6381 zcmeHL-EJF282!c#iS34_O=t_W&}k^(aA6AxaX}E0o2C%Sg{pRfxE$|JoJrR+%gk)l zJPB7^@DxZOm3wY^0$v31jn^fXI_-WStBG1JvRQkN&-XKDXU@#;fBo_p06u|_mY~L< z<80FL()rGzI1(LWM;(((?QGsj%~&Yixhww?*QO<)xfk8(cYF=v3}2jUw8|CwMQ4EGXk2berERoDWYB z#f1*4D~V@7s2NmUq*vS&pM1WrDr@gmnr2KK#uUUsESNFYLM$yt$suTIcAL2qg-pDCnrs9pltu8Y2Q zv#&7$LeeaO=Y>H|Me|K=FymxzN4$t(yK7I_MpHm##rv?BjpqZ?gsBY*%V-$#a>unHtTSe zu}>*m2SiuM<5hE946cX9PfQi|J-lfNZqc@k_7)9Y9o}Z}cs{K?E#rpj4JGcR5~UP8 zqpQO^4E~%?Rr7yuN%JNJ#DG6}snA2t)W7TS^8-1OkLth~{BTA)!Qev3zw6Nh4-33y za5a3<58JbH;n=crG8xq27OVYqM(b$21g4Kz!hGBqMcj?~gqjZvbrP6PML4^<>B&MJ zK4i5&Ua)X!eu^{-BoHkg4Mht0zpI=cAW?$@k z@LU)VodF#vLj$^q*QLoJ^f|l(X#NWI?^c^X!}4$VsRk=}4H&?`i+EiwQE&-XC*Q5% z(;B=nMP0`KPqST#uw99=y-8quE5gR3Y}W{E*CTALDBHUPwi^+)J5jcq|B-DFWm_k( Zy%)(Xi?Y2>VEZ7#_G6T-g_@|r#@~$m`mX>0 literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/test/java/org/opensrp/domain/ClientTest.class b/opensrp-core/bin/src/test/java/org/opensrp/domain/ClientTest.class new file mode 100644 index 0000000000000000000000000000000000000000..c8f7449fa903ed1e744f96a1019cf01ed538d1fd GIT binary patch literal 6039 zcmeHL+iuh_5FIb2-3^68x!+B>s0i4V5Kj~#L7@d{xu`8gJi3Y7bxG`CI~Du}KZ67k zyz^0r@n$J2VTh5Ur669qNpo^$e0;_p=ku5M9|7P7T$+Fefh$JG9m|dFY_cuZQF^1J zaxRU|JBiAeke&HdaA{W%G67=*_V;lqlN+5UYnwc_1jcU(DeP?myJj!15*V9T37>!# zfvNA<`&ujAggsv@d;kDB6aTFMz`ss!dUkNQIttn871)$2z`x};h9fr z6=l@E$$8Ye|EgfAS>;-+3zw0nI?83j^JtjoInz?ejh~{nm=+9IfvEM&c;gI{)dL9_ z{VGdE!kqj+4tzMFZQR{Lq=`5GsI|rrkYQgF$>K31PipY3{o__>3Vkv^kvp!IOVd@L^pDBVS?45+&u#dpu z+3xo?ymZ-|YtyH?*cCi3vNha|+@4Edx~pQAt`7F#!9T}rPZ$E%y1#Kym?Ln?;)2?5 z8}7)&El@EY3g(rx8aF5cCzlFou@WE3Enx&kzvKGt{y_kPjdz`2=9+Mn5E^n^Ky*b- z|GOOwfrC!#vROc}%LbzfCkVM-k9OOAO@+qWxWBmnA#mKOi6WwusOb_fkEf<5@+O=n zjm3I2t#6ImX+6tM%V+f6QBXu&fSu8BNi>7QT@xs2EZ1YN5qA?o;r>Wl6&N&V0QG_D ztNsus0+Y^a3q_hfW*Kk7c|zXSvV@_y11xKjrSidw}QzG+#_d?_ly1-ZfxqfCPNHAFn4%6dZtQyu-Eu85(eC zfI5u7Ke8S1u$}O-9SdMP?qR#&Wjh(bcFM!n_OhJ`U_0w!TlBJ>3t*e^uw`Dh3#fYo GE`9|MovY*k literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/test/java/org/opensrp/domain/ContactPointTest.class b/opensrp-core/bin/src/test/java/org/opensrp/domain/ContactPointTest.class new file mode 100644 index 0000000000000000000000000000000000000000..b8763ba237747dd1ba76c0f34ce4acac2bbf2942 GIT binary patch literal 2899 zcmeHJTW`}a6h1E9+Lc0gq1+0R*;6N^L50}q8RB+4Rw0|Utqhl9EPoHU8z+$nkj114*XU1atWE=~G|f|{y+wtgsSNp0NDR~v zSMZsok@Nmfv`1g2#<~?mQ6^nvbK)rw#swo=AedT38MVg=udVc1Btqr{oDFOt?rAEb z&}lEogMDr-*UoAoV4Cm6{Lno$R^5mhvx6n4^l_o->541>Oq-s=E19_&Gz(bFV>^TI z8MFLA#Qc0<+ry#I#nrli@CBgfD}OGJ%?0|kBWh5EOLbU+%LJP3-f2hPw_3pc~)sL!-;^U2GyJrst({ocYSM~A?MYruIuY|AjOAp)&8skE35 zyYfgFfu^=y-^~sLw6xrFS=_0@H9{WFb8H}bMq>SYodCn@T#re9(uJ#Vla%hBk3awS zko<)Ct9uB6+P+G4z;}de4$bM!x(dziRd5IJ28b6-z>#3XS;n!FT{ztwp!ON6@78M{ zq5c(TC1~L2Fo3^R9P2p>)?ht*w}GoAxH3UC@&7E_)dIG)LbmI3u-zzNYZbD!P)!ML F{QyoGsJQ?D literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/test/java/org/opensrp/domain/ErrorTraceFormTest.class b/opensrp-core/bin/src/test/java/org/opensrp/domain/ErrorTraceFormTest.class new file mode 100644 index 0000000000000000000000000000000000000000..90c26533af19f018ec1866bc83441fef233b2953 GIT binary patch literal 1615 zcmd^9O>Yx15FMv!lPoDIDW!Z|Oi$@$_W)cPgj6buDuoY`5Q(GXbrXkOdu4kg`pb|& zf;)eQJ7T;WXsWJI#R-YSdc8Z(GjHB_=G%`?UjX1C+-*ROzyoV|z5ve_(L2EPCux>Qjz*hj!eDO7I+Js!4K2&p+o#gfT*cy4DirM$Ex2cS;+6P~ z4(W^BI&VP~Wy-5uI$i;xMyPTH59%~!)SYD_XpLDSW9A857P%7lG?z*2xmVO=D4Y|< zN38^``g?wL=xaUKM+vj`n0cknDnnoFj|#|2@Bo^y*@ktvPGF}uIB$!gGg3|azHK@K zRQ6?_PB0&aoj{;F(3~Y>W~BdK{;a#1v;-av{-S~V1h#!2lu{h3xRj5;y*IgXG8HFk zA+5wX|mO5Bd8PWzBwwezu*TZKtPQLQ_~2NvgDUqG-sZBkgng zQ|noVIFH9FV)NX}aT(_F&wzVL8jBEFOqOzu@s!5uEVN3~V#{o9QDJB%BR&uk6E(mU zd}dkfqW=rsrq45D-3p>8lPS{?d@AFuARX^=<*Wd9dB>o>BZd3H*Z}h2cZQGxVQl4;Szzh&F-{? z6s~N$7PHvJitr*!`gjf*b`1h6T@|wUfNA08lb2OH5{AIt?r%1_Z33&VUlhl8M@Gew zC$RoHlNNW&o;(yrprIYtCi4D;c4}RB?6wBT@KN6_R7CjxG=RY@SSNBXuu6p z`F1+d{9p21GxV%wo-nVnaPnzydRGi@;MpsA1X}wl(;?p#u9mG%U3CQ|zqP_0!22~` z-T_B~)v<X` z=(|6`A7ebT<*?&2bRFVQz3TNg8Wai+IyKp~b>xgVT@)5z`2YS@4n7 zIh{q{O8dT*+P=-wP;o=0vb4!;(4ZC{u?g$r>odlEEjVcXbVntV*nHm2LTy4gY2+%K+#9U))q_H{)tkSey zeRK0v7@EkCZwrYz-^LX@XG!D|d5A92*NL%i1yPhqS0ruX4iKgoi^LNGY87SF?!~-V zSpJl-$W*x&+roL|DU`HfJS&|v@0gZC*8hrXF)bMOL$R=BykFWvxcSb8l1pr zMFlLX?l=7Y%|6=@hQPy0_VK(xVA5hYr3$qu!&l5S0vyFlN?MK0Kwx4$kybSMs%!}( z(D$aBV;T9o}PA7DS651ui zhq(V&Y6;|AFj3?3Fh$7t=>#x~@MgiBjr4Z4g3957v>M{%N?$!NSd_r$a}_KC^q?(J z?>cwK5Mh=VMKA>MhxEfW!HPjN#fI^Zk93F4JBEt`l+U)W&=@Y4c6Spaf) z)(-=C%%z_&y?6#t{08~=qs1>U_yezcU*0$!YL6}hD z{l)d4g}8L)IToOj^ii56B0{6dGp;c=X{^p8t28ak*WaVU&|Jo@)F|2sT5!+u#3}I` z?bDaJvCe`h%A`}dbi4vWjZozZ9@Hwzs6ETL*B-M(#LN-6EOI68X)co3aj&S!h+E6G zi&_a-_4nfH&^KzX4ijd~kU6E!DnnoFj|#|2a1UCr(SdciPGGwqp0~xwY9Xfs*EZb{ zm3@_`6U>KUClKg`Dq_i)Y2m(?KkIfT41q`CUo`N5z?SQSQi=l^m+}#~_coVSr2I%O zgb^6*z+L~MFELglbOH}rutUiHRk|0^f7au_yaWWik;-+%hr(5N=i&u&5*PCc?gLIz z9Mu3d+^s_c*Jd%g*Kh~meTLTip7#+tUkgkZSBC+7HgWBgD7XQ=;@=ipYjAUk+Q#=~ RZ?`JEZB%-@jpu7{=O;5L{~7=Q literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/test/java/org/opensrp/domain/FormFieldTest.class b/opensrp-core/bin/src/test/java/org/opensrp/domain/FormFieldTest.class new file mode 100644 index 0000000000000000000000000000000000000000..933ac73da3729c4e633bc4613e6fd5b19177e483 GIT binary patch literal 3545 zcmds4O>fgc5S?w)Bn^d@w3UDsx-FOXl5l_vMMxzOR4G73`XP=Rdy{OicdgxZX#W5Q z{tyyKaOX!MX5*4ZtwoGfrGi5o$9{e@JM;EU{Nv}BZvgNRHVQCBpklOFwcOZhkM&tq z=}uKeTpAr!eHAhxt97Nry5NDokEjCV2rLYs0h68Tn^uo|mO%cAkitGCFul2TNFY~J zJ}EtCtxX+)shP#y~onHKK%>BXGw3Pa#Q#IX5>Qwx%n8|Uo^ zFV6H?5c4A3Cgf9=NsCk|${pPk=Yx!aPh6*&JnM?ZM_|!nr4xJEk$z%HMOY=|(dBe$ z=!9e1GsOMdj!9tE6?A0V90}XqW158=ZN3O=gnYc5%1&I+Sq(KS?#i`aYN}X!ye_^w>~40GS{*A&d-(P02T3wWGM zP;e8Nl2ObbXNTpCzDJ&wT65`33aZ{HWdt`em`U!jy z5=bCk`6$HoOq&K}NG!n{Jj9vh%(>U+`X2lHk569!;4Uncp+sQC=%8u2vCTcU&zeg2 znkwPa=%g8{mLTKtf|PcW^)4{?SKH^YX@r%^zYM-*|Qv~@|*fJsN% z<@6}m{}89!UW%0-r%tAFYDH8C+>Db*1ju62glkk=8mrU5DoyhRwY)-wp{We{j*wW! z9ejh=ER9@k`sfCImKy8cAc`{S>Yfu1fUs&<_kujARg_VCknmb{n?)jIE`i~)7vdhJ zA_`sZ1*@dPt>xN9Ed&hmJ@tpaRC{VYV#aJRr_@1VXxFC&F9t(;sF8&kL*o%CucZgi zhTsu8!H|@LX?N1D3;Ed9T4Zi98o#!)BMP;sRlV}^0{v+aAECVx=`W5kD)w=s7SSd) z7?S}XfvG_SPR_s-oFcHW+&(t>j@3f;T5c1VZDUtHPvb830z+RXP;aY%McYgZcYpYB z((VdF;C9=46KWBdcV3=1&zcPLh9hw4RVuBB`KH_#Mqr3FXW`l2f)S?MZt1rwaE_2W zK06Si$H@8b*anuuTxAk_Q zPjgpktqeaRQ0<7GWH!~01eO~Evd zuXtC2SsWb(@HdC!Opb!nP|u#t^YX E0<{9 literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/test/java/org/opensrp/domain/MultimediaTest.class b/opensrp-core/bin/src/test/java/org/opensrp/domain/MultimediaTest.class new file mode 100644 index 0000000000000000000000000000000000000000..561d000f75b596f13783d54b75ae8ec8c8436102 GIT binary patch literal 3063 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 literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/test/java/org/opensrp/domain/UniqueIdTest.class b/opensrp-core/bin/src/test/java/org/opensrp/domain/UniqueIdTest.class new file mode 100644 index 0000000000000000000000000000000000000000..2cb8c08f4c61a6bf3c4617a615576786eeb679bc GIT binary patch literal 1585 zcmd^9OK;Oa5S~rbJWNX3l=8eRJ*5ZiOHTwLm5QQB<{{EX;<&N5$p(AZ?5-pF%aA~V zJO72hfS9!t8mSg4HzW>TuRY(+eDlrDeE<3RD*znA{U+21JTf{8EH^fovjq#3o(3x8 z(&#LRRmy}6&ZPK|^I?37peED_Y!}Fc$!YLc=YPO=uJ7 zUSgkXt#k`+klK$ksku?fg2yycX(ke8g_1PWYLf8OJf>dzbjE4Sql9S$Wh{Enrkw60 zJ%35hFX`>mSaCz8vNUBjno)}f`Ns@ttslfJeV3*0`1loW%7`M(l(vo(jhJ*!C!DUh z{<9F5&OFBgRFWR1St24dnmpqgbCbsEJhDpDvV8pmDh$nK%+G~H(azC=dzL3oiQj0S zzRZnv7DQ1doyw)-H4tiqDp&BJR#8UnMaI4Mm?a`+j=)usD{;?qk;IOBMNLNBTCQEx zO2E3m7uScrQFC>iFk?=bQ|h8J^r|x|jB8;%Xu(zoHsL0Ly?%Jv5F@LFoDN*WbVJni zRh~{T6NWuNpckr$C1a+A`(FO6+nF!~g7B}Jc0gd)-TgBCBN>;H5qR)6msX^FC>O#A z40GhJe9?;-r4c$&2Q9cm$l-N57SVrJ;y)`q0dJ&o9q|+4D!Q|}E>6~B4#7jfiHXA) zpoY6mXyDo`hVusQ0K6~Ide`$lLFZe6>Eh}zfX_Croe~8*&@2A!qO}IMmZ&{^U-fpo P!rNA*x4U@02KRmeyD0LX literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/test/java/org/opensrp/domain/UserTest.class b/opensrp-core/bin/src/test/java/org/opensrp/domain/UserTest.class new file mode 100644 index 0000000000000000000000000000000000000000..d3d455b6eb74f2e51b311daa4ce701146a2a0c72 GIT binary patch literal 3621 zcmd^CTTc`*6h7s;yK)o38;AvcfSBy6@kxvc5>S#=370iKmYFUTXWFst5P9+k_=8L| z(RY88@pNZ_O{i>Rhza_#J2Ukvj%t=0Tia&`tfusC zO=Vmfoz-HMG9hc*hU+Z^3_>4)u@)*}a<}$+XP-xwz`zqBg?&n(cYdKkpl?~ld=Sb6 zMo+LSS}R?GOJv~Vw$$9Hcu?!g=IL5mzamg-(_?OiLkme~UU`S}-hxN;!b+d>{d_H&`NK=EOf8c4u_QxM#UY zVy_sL@+P;o=qO%5C*SjM=(^fh%Ly}PmANcA^mrPiX@D9nGamj<&jXI8$m1?NOUNSUOjk(E)tlw*lJq6WJ$&^nAwYPTrMkVHRdgWsf}D(k@7Wp zAdEoUOKuXiMkJaVs5_Y!OK^>lnUFz>=q?HNueLP;SDeyC2SKTeu2X`Wgxo(L<&K+O z7ln^;7q%&4MK~=nOOJ+d32qVc;CyuakJ>4LvJ-McCES#N68LmJ5(f0w?hpba&bf82 zQ(+9glM|?Hs$55WRk$8F>?pPn(Rz=DS->}b{Ez?`z^ne&?_lf0q8IN0Dqo@WcD(W# zhQ8xn4~({vfU9G8Jyf9JGK}LLmMb#!z(gB0iT|hBu6o!eylmG4*lu{(X1r`u0c_JA dws|kxOaR+$58Fd8+w32*ZFt${Q1>3V^9vLfT9yC+ literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/test/java/org/opensrp/repository/it/ActionCreationIntegrationTest.class b/opensrp-core/bin/src/test/java/org/opensrp/repository/it/ActionCreationIntegrationTest.class new file mode 100644 index 0000000000000000000000000000000000000000..03a984d9b3bcb8823c14512ca554e9aa85a80b6d GIT binary patch literal 3038 zcmeHJQEwAR5T3O|&NhLBqybvmvIJKh^O^>us7W8o_5y} zdFkJ(1QLDkZ|HBSI(tqW(q3~$f=WnO^6l;3H{Z_A%+Aaof4z7G0Bi6=1T_Ym&dS)M z^YM<@6|u2{*yO04&0~wXampLJ7b_ocNUw~(Wl@B2OM4vH;&q#ZBbZ^ZP%xxI590g1 z9h9Cy)5#(BM=4qc=aV}qQa|h-EOpWDDv9e1E<6}%uQJ@yyUM9viW^!RU$8p{v&mf} zpAqb|#Z2iw+OaMSmXi&l_6JIhmkGH1)Yz;$>Sf9~Qg(kM2IrF7Wgkdl_9vy4|CvF( zz50kjYxB9pJRH z(&8jMw}y_ExgU9}xjjVQN0|yspj^mjVt{;wtl!zUe&^8o9pzVe-=O1U6rKq$huo7q zKF`U>ugjA!JHeNopjPL<*~a^;EH~Ek0L#e0m%QB4;nR!Ej{a~7g`vde?3(&24K$m)CB_>8t4l1!J zryC@=-^;Ppd@W&AAVYGifRrcB3ZatJSRpZmCZ+kag7zj-I>rjnB)wMPLgLKO4^5wk zj2%>V?PF`xDp!t=sBAn{nvx~yQe@BICVs47tJ(Ed=|P1?-96_qD*?5dH;qYA=(2Au zSc3C&a0))Aa@9@_>&SS|^-zW86VmwJDC?o!7F0SIEG9;Z^pUVC%=Z^({7_Mu{3UrS zrJRc435Wh+9s#EUKJg2KMl$x~dIK&q_;ZRX_uhJ*YJ4V?W^lIsq|7%B_>#e|Q&`{~ zMi6x=-69{|Rv|Q2j*aD_BcMpz(vo@_MG>q09fej{Ioylj8wN`y`67Z2$&}vt2(FWL z$`exr-%+TBzVK+uj9~3ZmpC>KgSoq*Pt${Kx{?kq0d-;2q1K@WCt#Ll5zWHbps@x` zXcgm0nES`KI?YePX~N7CVuof5ut;xf#KmZAy@aL5i_5>kx!((hPv{wVf&Lfh8TbeV zpTcLw+ULYopKx8A=y8d@{+oBDgtuM7+k`7{m39gYUmelxixP%T!B8V?9oqD)!753G V-}m%iAf3L3i*OBMdjA$~{0$SQ#q|IH literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/test/java/org/opensrp/repository/it/AllActionsIntegrationTest.class b/opensrp-core/bin/src/test/java/org/opensrp/repository/it/AllActionsIntegrationTest.class new file mode 100644 index 0000000000000000000000000000000000000000..3f20bc35e42f41a69ba40773f05f1cb1c7ab84b8 GIT binary patch literal 11026 zcmeHNOLH4V5bm)ZBs(S!4hfHturUy9l1L#qJmTh7I8kHmNE&Cgvo$lT z*gt_ACn`to6bFg}RZs1kTi%^|F z3T&pSZa71Ol?HQMR`n=0-~_b#kk*+qhF#CKyPoTIJ;(K!;|iu6G|*{MU2QlT_1S8G zz3kP;fy|kK%o($CTcgG8^JXBVb|TqObI++#GX%~ubJp$OC>Y`(?4MAN`ALoLKs0r4 z4d#k)X_~fI(u_<5xaWdxcS&RAvk_H+*<};a~H7$^FRyAH~ydK8Plb}*;1|F~Cicw);@R7E(468_H zPRvi^6Ao8S=)0`OeO$&h{0D#2(8E>MmCiZyq0;6blyazV)_n}zBQ!MF;j09*x+It& zc#EMyEJ0{?waNlR!wGV!TQzi^fR(z9rW?X_sK=znnX5_Bj9A!s zmDBCs6FUJ)wcQI+k0X-a?CjBO4ynHuWpovW>dM)K5+3t zvh@Hk=MfjTPqLl4ddlN(r6C!`Y{?c0h-Z8DPC;BRl1R)YCTy^bSMR=6)+RFFUT6r0 z;gw++gi!*g$4lLGR;)Z_(p@7Z3_KUY<}#BNiWw{dqa{(L-hC>$xoh>v31^F&#=j>P9^M>K0YZ zUG(ot(c%%5t*oruZ?((GdBw#kUoC2e0QCcO|?~~5<1MD-to(MDj#;ezJPCY z&DgXUdT3!9_nRzSA^r6uzueL<57KUNkZetPTuT48rt9Sihu7yPNMNkJTQDpvh)=L( ztP5c7tu=GdQ}IFXDk1xQcs)R#^E~qx1g>`CkQsqd2*%-l-2@@+BYZ(3v*K%JL$4Jo z>r7|iBLXwq6KqtalK3)~z_ksLLo{dYm;sL(MRyj9Z1h^uEms@N4L!Dibpiw~tt&M} zD~^=V7r^OOs$mK1r#Rz(xP67N@q$~@vy1zVJZW& zh~6EE4BR&N9s0~baYH>;Y%Z2y&Bt3>1>cz~xBysCg>_&AKgZxDyk_v1xn}V?g4aP9 z!tdjFH;Ix)Zs<=K{&w`l?{M;Oyz7Hg_-!-{%B%Q2981AzI1@d44H5d`b^JYm|Gd#@ z;VeGcjQf@a_nZ~?{1&)xTX7u=?wA#KY)827Sa7dcao^h!?nMjkH7oA;j&LU|xHDGV zOFP27Y{9*2#m(&qH*dlH&WigX;`VjC%kBl&ENH$JZE{Ce+HhB`xYu`$`@I$S<6YxE zw&H&Bl%x8S1+5Q0h0l-!Hm~{{mU;Qbf&hqcvj@R&SIkGBTM&M=AoRhPsM7~u!5yQE MoHPS-$Vy-T2S_Nf+5i9m literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/test/java/org/opensrp/repository/it/AllAlertsIntegrationTest.class b/opensrp-core/bin/src/test/java/org/opensrp/repository/it/AllAlertsIntegrationTest.class new file mode 100644 index 0000000000000000000000000000000000000000..524a36952a0dde7fd428abc8fe9983877785b556 GIT binary patch literal 9350 zcmeHNOLH4V5bm*^SW*lzfh2@r*ccKV0#X9u6;qInACxFrrXo8jZj5)w(j=>yt(jTb zK5>DcKyl_DaHA?z0cU;`MbEA*KeE=YvE!Js4%%n;H{G+{J>Ap#`=2L&0KjdS9)%$S zceU~=hG|oIL_4%1RkI>PCbSAGiiJ{hBh^NQn~EC*Zorh$Rbg0DQNyKJLcUQLAut{@ z2UIjGiz|bRXBXR&N& zv24XE?~Rs>&)cC?#))Yo!vn{ob_$#o=4{HpgV5qVif|$hm9VRC7Uuq>ls?S@d^XzT zo}Zj*Z~KOM6ngHcI#gUVR~2ouHK`uwk@*?1pnE^$rj;UrW28eJvk|gVu@TGr^)g!Z z?U{gTjckIc46Yf8(P!P@X_YslBnoA)RNG;|J@g$Ng%)25ZB*o8Tyv6GHFe$L+KGhE zR=Gf@Ud1EJWJaH%R4BVWU6-yp5<-bT^|{hFHCbm_c`sp*$>uXl~tO zp^eBHba@B0fjt8%?~t?9uqBN48E}2bO2s}ex0_VFK4pxPn`Q~EbWf}fRh;6If>B!W zW|OI$)bZ#ITAP2i`aHN2ep5`m8rb?!40DG{sUdUn@9-=muO zi#;W(v##)M(T=5RJ1oFEWaPV}RjH4Y418(lPVw$sCZ{zNPinq#a`iseRT_b7Npy-M zZQN;E6u}0@SM1oh^@RquTyULdegWPk!+#CJQN~gkoB5#Z8ACO?6R1baF3vAGgcyV@01LF1{z60ad6 z<*|8g3(JY#?C$E^$GvK-|7zWaovjf&G>DMrLJd1?Pc_=`9|NBueGiYo*aFuY<+5=` z!xg|jJ^r_V;O`Wi#`7p%*>eHUV|Xq?36E#+?lw|dy3+43_U*YBe}nNq@oorS#-ru1 zD6inrav>F*hYRtui+DW@uj2IxzPZ#J;W9pX8u#@S+=*1&H}=4NGZoiK!JSOSo!l4h zTPe7=QgN^D3-?+I?#HRPQ~Scbo`PFX#l5jF-1ky&y;R&X;tut!ApL8lp?#l literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/test/java/org/opensrp/repository/it/AllClientsIntegrationTest.class b/opensrp-core/bin/src/test/java/org/opensrp/repository/it/AllClientsIntegrationTest.class new file mode 100644 index 0000000000000000000000000000000000000000..99b24963f33a045e8b772b092295f67bc76fc3c8 GIT binary patch literal 8841 zcmeHMTXWk)6h7;u^(DQ8(hJZFYAE28Vz&@(O)2DBT$Hv`CuM-AjkLBmk+d3VmDWFj zzrY`124>1Te}G4x_zmTW;jHBN7RB1o(3DOm6U$zm{r2qHv*&z!_P4)(ehdIJu#$%y zfw?fSs*;7WxqmT-OU#3LDgAaH0myl#|=t1V{O%yK9WYWURJq)lc_p;0Owqf~lEsc<=E z*n))yDs8w_S}j9jfA+}7`SiKsn|`V z8EOqA=nPq1%wERM0Gwwy$+TG7zd}ooEaofbkpWh3hmyG|LTHRGkx6;oKh_8g#S>g6 zTf#OJ1zExD7nXa#LkuZpEfrBvK4>QpM4qS;KETW~Ime7GsVV@V(zJZF zJe!GN+GqsAjgM=iqcEPg8Y~Ev9aYG7c^E1q#+`;iN5(-->y4OZW{}nMnh`J~UTynY ze3sAfp%E}6UTu${>CJl-*ED~EnlZoObJgZLlLStc&0Yy4+4!@n zL~`6jHhCv<*IBTtQa6DUrm(2!MTK6P;jt2Bo~Cf9rdrS4V_^Kgzp zvHP1q!A#iSYysXRRbP4{u{xb%1MP5!6)C12;~YkS7|}(ug$! zBV?HD|8M*k;D|!teBwWK7N^g)NkfdeHlCPl<F6AD9)8+5e zQf2|F1b)!4+_PcV1g82IdKp6mt}jhCAzsW}yIN;f9zH+@kV>)(Fhj=1HKwBxB~k~- zh!!L0ZC^>Hn*(05`2H)O{=?h|B0b_&;wR7IobcSUc;ug5HzRPST>H)(=Jm*!3-Bp{ zd!zS@x;Gr|I(i#mv`KdHEhgvNi*1j(+VISIaaKfIEh&sVXs8p1`u zn_;}_&f(u7IE=sY_)9$tacdDuLv0iIdjgK&=h66zdtgWLZA{DKiv literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/test/java/org/opensrp/repository/it/AllErrorTraceIntegrationTest.class b/opensrp-core/bin/src/test/java/org/opensrp/repository/it/AllErrorTraceIntegrationTest.class new file mode 100644 index 0000000000000000000000000000000000000000..3a8339d62ff70d884985bf4d0057c2f643157da3 GIT binary patch literal 2777 zcmd^BTTc`*6h2)pdtteVf*_&=A6$Icec?%r335p=gC??Id@M6%w=grEw4G)7WhR>F zyFbAnV?3S3y};nCiN+XTdYSpo*VEH;zV^$v51#;F9iHSNM_^kkw`RCDwNut&HK`gk z8Szl7sHS)%wJ=g$)P$*R`u>hmQq>i6`Ce#vLop*{SV!ADj1rhh2z(YcYOjw^xoZea zvVJ21)6M|P27#qFacD$Q2O-?=T`V1GK5p&O2 zgVR-vLG>~Q)m{v$!mLtHa!t`e8ZhHFsX=?*j&QI2_88HsjcC=nRlS+5v%Ux-sSLHS zK)PobZ|X7|1bWQrj~xs^6WZ7aKMQC%Po>9(!o?WdzXQCC^)QS70#rvzgpCu$0)8&l z*)Z&X$OKdTtuW0L4=5fsqvj&wrQ$*2@5@6xhV?CwMz+) z6#{#V^k;Th#Hb1x-VEz?Pm8k%yP}-|+-8Q?QHoPwc#8c(o`UGhn@?BvQb!DIwu1G_21$fOk%tPtlLj~ml=p?! zSSxju6b&nYPab@-5y-(9jANh2ne7YMk6>Sf61Ee`v(C-|N*|&8Zg%QD%zVaK4sK&> zEiB6&Y|9-K%)xx}?JhEmzygj(@y}v+g(duQo%enU??Ni?gBy4srt;Dh-sKeD9IT>! P4j#c8_TxBu42$0Z$=Gq$ literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/test/java/org/opensrp/repository/it/AllEventsIntegrationTest.class b/opensrp-core/bin/src/test/java/org/opensrp/repository/it/AllEventsIntegrationTest.class new file mode 100644 index 0000000000000000000000000000000000000000..97e07e274a3d3a7bd624e3182c2a844cfb6e87b3 GIT binary patch literal 3823 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 literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/test/java/org/opensrp/repository/it/FormLifeCycleTest.class b/opensrp-core/bin/src/test/java/org/opensrp/repository/it/FormLifeCycleTest.class new file mode 100644 index 0000000000000000000000000000000000000000..c4a203f998b1c7f2b65a27c7150e6dbf899550b3 GIT binary patch literal 7483 zcmeHMS##V(5bkvj*&Ac$auNuK60U^98z5Y92sn;I9F)uJBqW?;X}mkJj?HMa@p51P zi7Kdqci#9z6yHc%Te8;CLa8XA@?gu;)BR0P&(;0;w?BURg@{hl4+f3Y=*>{t4aGy% zxWl@v5y(~}=x{%jordI{AQUQ)y@pVY^MUj%vBKwiw#%1bV9@p&?T)Qn=C>MGmhW&| z)o9!a>~JYq%g4KClCcp2LfguY|`J{H_Savdd?EKTu4Gzz=J*%bJZ;a8F3?KzEmQ zEn==%5nNmD=rT9L;M-QhPK_S6^o*L(vM0h2##d!v^DvCZ82?PPTD>NhU17su!n&Pl z18M(C&U7(|6qhwRun97eLw}#vpNHG3hpBYAjMb-N^-W@EPlk4zJCV!R9XMoN;LKI+ zX4)as9wjLu~m&;46(@EmRowO(M zQ7;iXVKSAU|N7tuHw9qB&7D|kdljY=l6%5;xSX~1k^#$_#h_|V@^}psu~u{Jli0ltK#NAIMIzjNIa9$U)^>dbW$H0+CUjM8txd`$Q0VUsP>Z=gq8B@ygf zrLEK|4qo3XX`p8UR`b3LT-QUa(Y;%bmytkc=V{>!bq4$I*zp?}XnxJ+op{?C^al3o z!j*Li7G*AQxIr+R+&E$LQU-FA-m2|cxb90H25y%-rX6@4fp8$2W=94%5ng!8tdA|V zx#@7*WjG6FhuN#F#m%EQ;M3^=pWZm&(?T6Joq&fX&XVadWw%WQd%o7exy#z)x|r72 z#k6*7dTX>~eBpHhsZ6bQC&KJao9WYPE_1W*e?ig1M!~I9p=#`^C`F9bA|>3ip@&w~ z^X99#w>o8zafAYg4W&11B!>=p^@@LK5%n8@ovWXZVdn3}kH&x7AU%S^O!tB6g9to` z!2dJ?VMhwTwIZ3v?*(#onET-0V}eZlrcmtxPMdhYnW=gmULR}5Q@nT`&;Q9emxUqB zd@f6@kS8m?rtn!2tw<*6O)-1O4y22cMPx;hw7C^9GnXHd(F2c4nN!EKC(Ot)0s`BGqV{@)l6E#=a(aInad^p zBx+_du$g-!eIirgcGVW3erBw{O{s$J*%5LTfsPxsk_DO>r3*E>I|ScT?Sj_mMA!}@ z*NKTao^1SC--$OYzI`e(#IZfs^O+}XgWdzPmLai5tz=hd^2^dIhRIy1(fRvNMsrug z?53eT)H!PMT949VjokYWpKxbYZPXeyh6|&1GR|4R3^wBw_Po$L?SOt6a=d%Yydlt5 zntmg?2SAh;(`9r_E%-JvJ!G$-B`<&mXVPx>47v?YdcgBx(1#d)<03ZbV+^F*@jYtL zr%88u4H^WJegfSYqSGKJF-dMVgI2&%=kf%D+TcewCzS@>!KUv&PzJd$%e}D%fh-=+ zW(Nl0ob1!_*_1jN1Ty|${z+Y@_YDG<)vvh*-WSeTfZPgFm@E!l2I(_`&Iw zL0^Ev)tS9PUtzRCwSht3;2tT~ECzjtd1ljBG%xA@QTVMT6jUJ{A#lj}7tR!o&<@&( zmVwp?jpApF>S*smTg%5|`6TTw$oA0Qf@~k{FUY3oKtXnp4i#h%(<24hVS2P6dyF10 z$etjxAUi@wGqNY+c|1i=$KPk@+4y@b{T@%h&(ZT4n`G`U(2E7xG&Ksc6ZBF+_A`A_6wqA?DWZGS N!y121U((m~?Vn)Qnird6`x8|^J#R~D<#|3z zLyu>jQlEt|lh1_|=A{MWYwP;`{U-*I2h9y{`n9Ji3vKq3U`axJ^ zgm+=USl?kpVNYZHE1<6ox=o68oKB-KU%o?kOGgoNInXfBLN*RG_wiWiqfvxhk_(mX z2Vt5+6fmP0XQmxsE?Y_TzTKnT*eH8E49QKRPVp)$Y4F6*NkQL-5~@)<`+d>{EW)KyO1*MfORx!l|5TEzEVW5zTE4Te|FKaDh+ zBN<6GM&rbZW4bv7_bm7^$~gExcYp?EC8?d)A`b0RFPHlUeKL$J$U5EHrzlOdxEGPb zqBE>!39zs&U7F;SbTqNw2-IA=&9)5>X`1(^whimF%e{rW9|$%)ri~sfZVU47L>N+< zR;kZ~umUvj>5FEJeiJZBcQ)O{*Qvysh1`IRJ_aC9_$!3S(9^3hOaC^A$D(WQ3(S3- zzxD|hz9kGd=^XO`9k=M5@1S4_mJ{3UgsZpe9kLCw-5tWVGK6g$82OLUTivHCz!N%h Mr11f1T!Tly068NW?*IS* literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/test/java/org/opensrp/repository/it/ZiggyServiceTest.class b/opensrp-core/bin/src/test/java/org/opensrp/repository/it/ZiggyServiceTest.class new file mode 100644 index 0000000000000000000000000000000000000000..3056d7d4efd7fda3de4e89872346376962a23c18 GIT binary patch literal 6551 zcmeHL>vP*g5MSk`*iA_rng%EZHM|@sHjfOHB$Vb!!zc|CCt={*MZVaVSUPb!xiSA3 zGjs;N^G7l4os1(T>YT(d&>8X}k#F_8z1_XlzJCAXmtO&35w>g?vEV@@yoRKaY@CoD zX>ieQ@Q?v0`kM1MhhA|6n=uKS`v>UreC)ATj`bhyd zh$N3m(CSiQ!Hlanr)bL-+}Vo*$$YvU^jO4>x^y)NxFnMCAhKY>-QnIT!p3RKC!qz? z?k2*eX1qf}d~?lRjU|7|1a0AJ>X-|Ei*@O@M0V7X=aMz0U_l!(wtGmrF;!f9>IZT? zi8hddr<8m`e5A}OKF#>ZXHkTr3>3Ct&fUs;fxM=*!s=+3la|u=W}@#o2~pQOi8WC6 zP+_Lsfq4=FA|_T?z~n;!pcl4kct?&;q}OpI?x$xV8ZW&c-KnnJsjkGTKc8E2KJ!B^q@!RbF>3F4 zM0tU8M4i9nzXbHrG0-btc&Ii2DV}ViaDHo?j zZtaEKg5fJyc1$1NG18qGg9H)fK-{#0J)f74e(*&G~hBR*MKd`Q>S19uOwp| zK>zxI1@0lYMlk51@9w--FrW(vktr+;?A9pOJJbLg)*S|%swjLaJG|wnQbvgy)wFu4 zx^cl_krM|kddvbW9PoHuNvO}&xrnV+${D8|x{#L@0;!MRV4I>gEOcJh%?u}}Zlz6S zb}O!G$%*&z%4E5_DJ1IG5f2OkW56SwLUe8(w_yd*8Gp3_=esjXnCz^;hDSI#zgTbBu!i|rQ_pYFhKtBH0nU+e%#SmE7>5a5*|<{ANqmk#1*$39HBFm>>z8OZa%eYUCWTA*y$rWB zk6E~V;oT^%=in7Q^HoHQ;p#Pb9e*vNd=@^d&*1L&GjIM3_kPnH-p2n*PQbr+@c&eT zf_LFPO{*cV(IKyepwf~Yg?$eI literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/test/java/org/opensrp/repository/postgres/ActionsRepositoryTest.class b/opensrp-core/bin/src/test/java/org/opensrp/repository/postgres/ActionsRepositoryTest.class new file mode 100644 index 0000000000000000000000000000000000000000..756d38836c8e240b7f6489bc34354f29d3bf1cb5 GIT binary patch literal 10011 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 literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/test/java/org/opensrp/repository/postgres/AppStateTokensRepositoryTest.class b/opensrp-core/bin/src/test/java/org/opensrp/repository/postgres/AppStateTokensRepositoryTest.class new file mode 100644 index 0000000000000000000000000000000000000000..ecef2d9aef10b16376984e97abd58670b176a476 GIT binary patch literal 6212 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 VgdYM;#C-%?I94zMKZZ}>>fbZ08NL7j literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/test/java/org/opensrp/repository/postgres/ReportsRepositoryTest.class b/opensrp-core/bin/src/test/java/org/opensrp/repository/postgres/ReportsRepositoryTest.class new file mode 100644 index 0000000000000000000000000000000000000000..75a76ee8a8633f411060602ead288397d536e95a GIT binary patch literal 9897 zcmeI2-&Y$&6vywRvE{`~y5k&(SAe_&b@D2x*rujx>tZZVk= z!V@t#PbP{_U5wrLkAloUZZ9*j}p`1$uG3&l?M~P`E2o}o2h`u`lSgU< z4RE?HsgY6J(A;PH{`wi<+zOQ}j{|&wS=d?&YoFzV$xVN?KDwGXlEO3&{;1w^jK5qOorh52l2DWX2NSyW3E<5}*q z^@_8_M4sa61A)n`SD>X$D!4jtTpW@+9M?iJ*>LMJ9Vt`-;=0LXkx6_hr(3vglPd^b zmI#l|FJy5Rgtv!tyy#L{5$MiL{pwPu`^#t<&o(D~i!r!L$eh8_O7n@JO8J*g5m9J~ zS-8(6u3Kem35mfQ1ojN1GpK)~Uf59=0l5fi-v}{f+c9{XkZ+GYvVd^@+w)QEwWuB*jJ72Nh2_( z$~H&0ajU`ccCmDmrzR06S=g}exCBO3B38L;r>ko?#D7TO`+oL^?sX8}-HR=E)kakY zH=AV5@mqw<_S5mx($S3lByg#z9gch|+YH51n{W7H*u0ajwp2~Ib{_W^2wZ91%{XOQ z%`t&H1Dj0vxT_a~JA~ZskMe`+SzRVFA%9)M7xaEo(uZ~ZjF20rTi4#i3m7u~Iavg* zw<`5O9j|)A$yK%-?yHhj`T?rS^x0Gx!Z4{tJvfo1FLwCV#`T2wcEV^@O5a#7||9R&WVk!{ZQ4!)0t^2ERw( z%07P<&pWBFYpBy2Dgg`IiR{y^X=!sBnx&<^X+V2RLz~yqt{c$iHMCn=+B*iccQv$( zmUhE{me9~Pw6ymPXdh^3&$P6U3}`nsw6C7ctVW+%Ti3sGjL`}VkjtCNDaOA!W zrFp<$Y-xFu!T6eLU=d~*%yfegh_G3GqP5Z`IKd|0zYfWD6?Cw{ebtU+(6z-Qt;l#g zzQ@ax^%n95`hg&`JQDt{Xd+*vXjb;4S@{vo%0V<2c|&2$Njz^0Z+>Q> z$X4tORjjy58fQ<7Y)48PZoxYV`O1A^gT%LxANcZnz^;bG$RLd|e_+=c)evcxot)mE zo-CZBfyR-RVRKuHHojGQH;a%gL;8zg2q8C$3vTuzEKl~AM+$Cm9j3rvc2H~Cz!X>w zhkcnp>#G?XoPz^mrsT0OSf|{bGAS8hj;>{7%?NWe?zr3?*&X4IVlqY~Bg{=}8IHlpX_$gj4Ca=+ z9|c-3GpyJGZpM=#zDU|zsOy4iGFvz*Uj&;%OWWUnIBr^!D#XX0Tdg{%*Y539OwKmZ zkjG++O4*vPWn_rExU@_qt9?CLlg&_=M3b8N-qZVs)juF)**nOVD$Sm6CSUE2>=`%mjIe*nxMN~;bj=a&C??}{WQ4hCr7TuciS}__+Vp#F zaJ1cNyXO~0xIrg9gRhIQOouU)W{Pl&UJoXD2Gh@F9Mg|roqk$lxD14*Lo5abn1CbH z7O7|3618L0PQf%?k9H5bY#*Tf368y)J^le^zfi9Lb9A*MEX!%ST0EiP44kEQ9L~Xc zVw$J>0$k|xU!?wF)=NWJ&kkW_z{yUb&vtnz+u{(mg&}MOxY|{B4Q^9gBDL3H32uG| DMiQzw literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/test/java/org/opensrp/repository/postgres/StocksRepositoryTest.class b/opensrp-core/bin/src/test/java/org/opensrp/repository/postgres/StocksRepositoryTest.class new file mode 100644 index 0000000000000000000000000000000000000000..1739fd77c24721d231982c86c1c058adcd5f6ba1 GIT binary patch literal 9464 zcmeHNTT|Oc6h7;aST+O*ZJH+ZBIpg8*6tj2Hedgm;g<#Ty?{$kbj$cbHUtaGHR)OV!Tp18>iA|J#t7U_hEt&d zJBmVJIv4>bFjF0!aGAjD{kAK4i*30b9`GH9t+}ozspOs;5E!qnwWarn3udG2c=fwB zb@(o40`JausMBTyF062u%T)sB78V~87`x-yEDuuzrXms?>Nd(7LU_V}OJw@-0~eR> zIUQ!3me=yR6U}A%!o$g1!ID`l)SJw-ndMNN*7T{hPaDjfM>b1+HcN+WmIiFjo3_US z6O}hxR9a0_A`1K2XOnNi0%0Xl)08Qzc)RbMH6$=M3 z7b7x)lpYlIvZn$_2>pxm9qQH#dN6P z6bruoPvSG>dRt)K1fk7KWJPW1Y*AVZNR&P z&{JMkmP;>WlFl&-Lx+0c+f*_G774j|%A6<2uxGe{?emC%x#l+eHW6n8%+_BW`zUURzjflZRF3)zO955g|It&chm>z+)YihdX%s zKPs1p4SYIU+hR`png;fgGHN3pnQSE*uRUFXA{36L`HC{paBv zegY`|4wFC3O#ccqf8t#ZF5@+PBSd)xuc16j!4-HF$1%7H*Km$m{G5Z=4)9;c`=?Rg zP@rB@pb{`~p4kz%mNn2; Z6lhNrXgOGoBK0fS#L>XWy$uyu{|7#&)oK6$ literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/test/java/org/opensrp/repository/postgres/ViewConfigurationRepositoryTest.class b/opensrp-core/bin/src/test/java/org/opensrp/repository/postgres/ViewConfigurationRepositoryTest.class new file mode 100644 index 0000000000000000000000000000000000000000..5d8fed80c5dc5730ace8159a5f6daa188652b888 GIT binary patch literal 9878 zcmeHN+j1L45baT%=wf3hhH$e38#{nau*4H3aY|8U%?y2M?ldl>z3?9JG=HqHkB9cMct>nPxs93^z0x1{`wFAuEAy&G6e4U zvQ|>eSEc*3O-n*HO2T8VFTIjvp76O6vQxqn)sW0D?QnK*OSpTy(UMeg;cgFvstA&W zDFQd+L2go?J&HnLq5Wh#1TNWQ+*n8L?Ut)}lYQ;BxzBeUR(4&Xy6*Y}rtNY|i32WK z9c8EOZ(G#idz?wUI@_jBixD`t!CkIy5ID24x39MrpKMGEz6SvjW_-4Rv};AXI7on9ExTwkJcX02D6rs?qZMb;*joQ zpYA2AE|_nj^H!6p+Pz9+fc*psx$4upJQ;)sdLV618YEhQ{! zsgB1A`N1fTkQ*~|L}=b^GbwqUMTk|HZY+(uT2TR0PY32J>hDK;6inR_{)BjoD?gm# zQ`0mEqtfveYic|wmm?R2 zaoO9V!QD7<$5sf%^1tvcNfM0%Pfpn+G?P$~+TfZ50Vis92@w!Mb&~8QFXRYk;yNFa zPwttqW~zieE2Yt;;N$Nxah_9?D2-E{y-5&uj5f#5ECrZ_=VxFVULbIB#U8d(4p&9% zLAzzn<}UlD)!b#WO0k1NVBQur>g-U-gX`YSDYehBpL5ra*KZmVYA~Z<7ihl0)E89I zUF=L%YLa^j&16?rZCpv=-}wq}xKy@L?iSSIkd0V_%7`UnQc)InOBJqF74dJf(sneF2V{Mnjz z*an(FQu8P2VS{r{FvjkAb*fknRtfp*c#14UY+7R^AA4OJTOkyS@hfL+Q?V5i`_{`m z&aP$0$-z5>tfiEBW402<67I#NZ2ZSK}_+=STkbMQVPm6WO=c~y@ODlQ3O`Q)CNY7$uP6CY-Mv$MmbkK4;R z_>ho|Nz;G23w*K9^JZtO>8VbIN!-dB5c~5!;1zfkZ7kq<1{MeSm+(4_`kDrHQG-grLOYoO z+GQ=;k_K&Ai+05T?F|junilOX1GE(l+LjjWZ3DEc8no}UXln*&MGe{yTC{f!(B9La r2`$#l<}CudR~Xm;Pd|gN?Gyc literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/test/java/org/opensrp/scheduler/ActionTest.class b/opensrp-core/bin/src/test/java/org/opensrp/scheduler/ActionTest.class new file mode 100644 index 0000000000000000000000000000000000000000..5e4ccdd011eaf0827cc3b470f589728f7378273e GIT binary patch literal 2167 zcmds2OK;Oa5S|U8NlYPq&=x32OHb*=Mu-zdNTq6_Qh11#pdL5&HrcS=HM{GG{<2CS z!JQw4n2kdksjeC%gaik#W6$SrzIkNk`;X6G0pJnbt3ic8XiXeBZe28BLl$Y%i*&}7 zHCbfiK2LJVO|%_5q17RxYEUJxFoH^^deQ6dfX9x&+!LXMdrII+YqLY3x}y_bg9d@- z8FtqgZR&81R2SYU!>yJ>p3qpQnUKsopqbHK$y587293i$rwNZGGYHC9{DJj2-9UZe zSYJ5Nw?PxlEmhjll)1Q19e&F{WvFcWTZ}aHk%nGUSk6@V6=|l8^U`R{l;`bo`b+VD z4pH*5m@h~8+zxVVh*GNkG?OAmqs=pJFw4q1lgCaQTC`JZlL||7mGEPsu!6^E!QU*G zz9tiNNMGjGc?+T_Q@-Q{@e~NFg(WZ1L7k?Ix|56tjoptqleWW+I2K+}NzIGDK#6IZ z=RGq@sNRLBAv1zuhtDLc!=y-<&&qi{(@rP2XStBc1@aHLbKLk;lme#tp3e?_qX&9N zGHdskFW*Ut(x5R*<^rh0^?A4oHwdh>+GjK4z!^;FmY*rjHkSESo^~+~pF{#nZ5=b& z87Fo8vg-Q65_r)5y}`CcV9gJQQ7Z^{vaOOA%=Y~pBe4E9S5BmSUk!y7=zH4_h0)AH zS95Kj*R49N5jdS?vLU)8Q`0s0>kUa@*+*a09%C>1r4DxpdH82SnzZR9p-*uCa61zS z4s>o}z9)R2HqZ9wX!pQcXEMoZa00|Z~7ezX*v!u&UUsz4J@j{&?E t@SHDDun0?|cgtw4z|Apg1@GtCR!i6xOWAJCz;?TYZMBqb9o1Ce?oZnIr|19x literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/test/java/org/opensrp/scheduler/AlertTest.class b/opensrp-core/bin/src/test/java/org/opensrp/scheduler/AlertTest.class new file mode 100644 index 0000000000000000000000000000000000000000..77bc28b5a6307cb5a0ae0ccb372f6f3a89e0f3be GIT binary patch literal 7252 zcmeHMQEwYX5S~rb#5SP`DWyQwa!m_3AnXTtB7hXqv_x_MHEyatZtgbrI_KMCcP~oB z@8GY11QNXSe|Q8jduRJj%G$R{tP)f|_`d9ZydMjxjcA@vBg1>ZyrIN1NEDWtr5s_*-xC2XV@h!e`j!iD;2CAmbpI30OVv2n z;yqU>oq>JfA8{?p)G<;{3A)pdL++!oRT49a0T3xI6JHDIWszQA_qg(sC}4*?!r(f@ zD|k+m(1gnf-SBo3rOg#Yc{DQ7m=PC17)Th67VSLLnR@y(X0__}4+#y`K9l^A8;LC8 zm?kI7l_Je^DkC0s#-fg?

v{lT77OvInKb6wKH*9~ z#e7>ryLZ7mjJ2&o6lKoDae{s?dSWZ2NGNW;`CXR2JSO*?$y_<^5$e$9{jzO#gr%z*yCll80om5(YkxykcbCRvky+5~X*nra z&HuGP4Q-cb+DZ#;R;5I_8Sw z(wnC7Pv;W2(n8DVw^4!H1b%jzULd-p$a>kG4S{<``K`Q5%W8eJLe^1K;9Wv~nvQa# z)~Cb>BiyV-I@8$}VxK@gb=+a+vrFaCrrHXHV!?B+yV+TqAP7{3qpu3wBjoStZ0Ia4 z|1Z-rfsZFU4o+V~hGWu!@2nVf(Yq?JM&^E;jt{w%qL;_yW&UKY9OqbORb$5z4r zbwfVcCReZ>Adn92M?;^1a}NDB&3?llsd8gneuz1fE^iiGeh8|-hXfu?_WJZCMd@Rn zKy6PX(r1sksb+4ZBDV3i^eqJ32Yh9MZ({(ecy=8Y@VJ=1owHT~}4eU|Ml3)@{Q+uIIo?^xI#SlRA4u-&z= zeQITU?}BV!TG>1Yw)+;@o>u=jO5I?0!?09L@rcIxFDA~)|I(yx^b#1a1X&yrWrRid~z&blpbdlD)u~=T5!wJFar-3EV#E7G35nxo$Yzj+xF=aV_Xr1v!w;&&IWgP zk?c}kh8Em81oKjGmrBV6Qe1X9t9y;^l2gud{{T{4qe5^|6~v`os_V|`;X$O#`<=a7 zaQo1bZ=`@!aMCX%cNq3^kPmShxCfv%ZJB_daGVYj1Nao+Z%9kCj%dklRmhB$Q6brSh#`aSBB zy%9;JpCFY@n0Cf(;69?lgpOwkeAwtkiLDMoT9`--l__&F!*)aG@quG;_V{oE0XYRS zF0ME6Ic3swifW`OM63HQ4Rt1xLZ`!aKvk31Y@HEkUC5$lYank*FeM$gwchQ-35Tu0 zaC=9RNqkZ#MM~Lve2%G6WwDs7=AhHl6sAq}s)d~b72p3#b@NQo8(PZ-*WtWntSRho zVtG*6dinpPdqj8ybJ}*g*f|&h2{-G-iV_}c-0yhSBb+$xOVCA&f9L&An;d6{1MW@=HRH1H+@R=20KZn}Nzh>T7jzeD%E9vEMHFmfqfQ553#J|J69084D0c=& zRnx=%+JbZB79cjj#w1m*uq{{UCR8#9a~4c=@3EEUv{UVcJbY|f{}?pEE>iPOm++V+ z;pw}-jH$T=W!dDBUt6I*ZD2Htb6DlQ7}@R5jyu|ypz+LGBflCL&k1^-%z^zP``0~; zo?q*WRp&qZ?;7tK#cq4ta^;%fgD*GoaNinp-mcBY`5GE~l4837@!3wqGw=OuZzr?+ zNm1arOr+vEy{Ib=_o368hsGIkpRXoowyv6)iYle_wS4>ZYJ@2Yd~HNMl2$u0-q z;7k00q%#MPEV!BMDRS@_|9lXC)-7UlfHlla{9!looZQfVVPK6aw&o?w0>0(Pe@=|S z2!6)#E{Aven#b!1Oh92^>>ZdK7`qHt2F9k~Y6}_n2GjWTI^I3R)hxUg{(u`lP2caNGM+vwO5^+Bng8OMA zZZQG(Q6lbVnQ%W(z+Fnj{UQ@?DFOG#1l$q$68Ad-4`30mS5OmQp{8cxTlfy1{0DBD B@5cZD literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/test/java/org/opensrp/scheduler/RepeatingCornScheduleTest.class b/opensrp-core/bin/src/test/java/org/opensrp/scheduler/RepeatingCornScheduleTest.class new file mode 100644 index 0000000000000000000000000000000000000000..ad6533146b724262dc6f59ebdab28efb864c796c GIT binary patch literal 4600 zcmeHLTT>G;6h0|POF>Z-6|Vtr;H7=>NxTf!I^q;?+QR6Q6SlDpZj+rP+tL5xPw?Ft zozZuHgg?dcWLs&K>TWB(C=X3HyI;PXoSa+o`Rn_S0B{rXX-E;cW3-pI+}Qj!Yq7l2 z^}GtWG&;x|ufc1f&vm}c1J10F^@7r}(s^CQL1`Eza5x(2Gg;5CZ*6nW5|}EK*VmpG zpFSxUE0vY?H3HM6E~;WRaxD=!SWwbfChaEkL!N)4gIVV!CKT~^N z(F~Nf)IqjGTo?72bnIK4ewTX}P&MmuuxQ@U3jbdK{$4pN&A=BPYR-fK*SN`Op*r-e z(zI>e3yV}38p;}fAtdh73;cr5Ec8*^U38AFhQ_)th@wooZEX|xfU@IlU+AM&Y87SF zz7BXoP+tR&As%K-B8jV_$v67jUwdIKrUgTnNw_!{Z2rPp1`u-?RqfON6nlD&`oB?5 z0^40>L5y`L^160_ieY-hOe222Va$D)F^SeSfT<+nd%!G@(NY3PLHRx=YE1v;mt@^A zHyAp>^zo1^%)qHhn1<5?W)^lAV6NVoDq(tB3!7V9S6w`Im74OHzuAe;otLAwAq;_g zr9UbcvD`Z9>X=pG`@&%H*W%i8P2hAnlonIQifjoZP>f|)wM3;A&N^0dF0_<^izM|W zNddN>EIK7>PYp4E4-MnT`}BK~>d+ybgP?1ePSu%#D&B(>?aDJ`)MXw*&ZLE z#}hyXOB{ot6HFfuA&{-8P<#BLaQWk0H+=kbTM!*z({K&5Q5Vy58c)NGA8r%c#z-1B*p47(8jfOn z40|`DK0x*Z%siVu@eXD`MSN$lb?kt@v)E2X&sjJJ=c9KN8B!=s8#RyryV)-EVLRTJ d?NS1^%YE49`mm*70i{X7BIF|JQg9Wne*@rU>fitX literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/test/java/org/opensrp/scheduler/RepeatingScheduleTest.class b/opensrp-core/bin/src/test/java/org/opensrp/scheduler/RepeatingScheduleTest.class new file mode 100644 index 0000000000000000000000000000000000000000..5a57e731943fc288f0a587241b6bac863c8c8b6c GIT binary patch literal 4552 zcmeHLTW`}a6h7|8dfCSAj62@AZCu)yy}%Gs8AS|r1GU*Co{*P%t4A6~wo}1h;g2AJ z1cFC?6yi87bfZN{P+vfMSQaOrzjJc@o#W$v`~Kk*0IWeV3mF3Uv~o*^Yg0O8ZB~-% zpdG|FvcMXB@x>K$>uO3&b z<(CA=CV|Nf>1)G$v&+1YkD&Difoy%}(X+~iLtwVrBdHsOX4Z2sVG&`Ma;jE&Q7JpG zHn*KhZMR&t6sHKxsNek}Fjwt!cAdc31K|tvkif{w>MnuN4cXvXSRgRfGhIZx?s>eW@6$rwX>!`&uE!LD0_MJE2b?Zr_=?@|6@P_q znKmTX)R%^~m~orb;9UMDz-S$viwjY-3sJN#6$dkQ?21+(m7x}L7~*$Pm-&``kJF!i z_W`?J4G|i-85-fmasCUyp~Z5u6?nqMHPKsFdgC}phCWrF9TM98c7*7Zv$S)_hrP8@rj&pM2qhX z7Hh}XHdBIOexY|ubibrComrmDZo6On}8WOPherC zzrV6g&{P$7mhG^$$CYF2u5HAm%e>ug9qv9HHBF%jtXKcKQN;dh&Nen%!t;d2Ua-xT z;flb8TId_B^_zZMXn`)2Z5tEyT4-^sYLf?B!K)`%wvY~;zkrkGwyPs41An>j+|IU>2`)I9iLw0ELe*|8n-sdpP?!;=6!X z%MSQ=5w8=`eE}}P<>=WJWXJ%;dy87a|NU&s1K1V^vRzBSc6|Wb@&L9B+(d6OumX1@ K?=r9ow|@Z30oE%3 literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/test/java/org/opensrp/scheduler/ScheduleConfigTest.class b/opensrp-core/bin/src/test/java/org/opensrp/scheduler/ScheduleConfigTest.class new file mode 100644 index 0000000000000000000000000000000000000000..9ae941515660a2476bd36aa71bfeccc768324dd9 GIT binary patch literal 9934 zcmeHNTW=dh6h4!iFHM^!Pzn^mG=<`nU{h{F1R;fxpdcryViUyUWOrguy1TQT*|nPA z!w=vQ0TR3-UiddWBF?Pu$u?^{tHeZp@p^a9esj*8bH155Gk^X2>+b;YF?^JPDFUBr zWt9T1gVHf;u#!}@lJvQ!m0!|Uo!gB7nZf&Auki~E6)p3cAx0ynnzI!`iilfcbyD|@@0 zM+9azq|GyMo4`W1?MNLP_`EwsF?fn*euxNU)XjCf3BQ@I< zt}j(UjmU9`9YHPT8T3O=+j^f7tTWfbmx;1b<3c7uMq*(goXZz9W)Esj)I}OyH$V>! z+?6c{$71$}YK#aCBxN)>@p(SC?fQGrghSuQ2-V*+{s=$4Z%@a%ZeuF~Ayaj70LV z058u&2JR5JQz&;ULro%HGo_}5GA_h-L-&xYs#zNlSSm}4IR~w^LhIoSjwqVIXXVk# zVp!sOtm`s#?0wGcb;o(4u;`!y!S$9@6&$P_UR9!2JqrOA9{gs`L@>(TA+68 zrYscIu27k!@@dY(W@a1A3DJtVvT?*(7ATp0FhKe1G*kk~4B+L-VtuSgXRMU@|1x08 zbbPV(@mMJ{luvu2@nT(&77&3?UQEzCp%VzdL(%P9L(*AzKxY4*5Nvm!qCHtn7(r5w z-N_WQuhcSBGG1p_Oo{=`ZO@)vs(Zu5r$V33tF8VMi<8 zEUXat`uwbm4ss;!BNJFXugP`aY{#2oz$UJ~gA)Re1`}^C+6(6imt{>@PjIrtJv9OyfI%{BN-E!_wl<@X{Z6HwCXma^?-{g1_@k zDR>oLi=MrXXwwne48EC%doB4l@p=~btr*<9vAFk#!d;HRU5&+kJF@zV)}#s E0Pt(v@&Et; literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/test/java/org/opensrp/scheduler/ScheduleTest.class b/opensrp-core/bin/src/test/java/org/opensrp/scheduler/ScheduleTest.class new file mode 100644 index 0000000000000000000000000000000000000000..b70893c64134398cce1d606b6a282c5bd5dd6549 GIT binary patch literal 3778 zcmeHKT~8B16unchEfwTL@dHo?`~Y5BV|)^0ViY5!fT4i#ao7%YV0ULTGmG*s{5K|= z=!;MO7k`4rJG-Tnu*psp6JvbncG^92=G;4H?%nrEx#u&5 zpon??hSJc08LveR&gE|-RMtHgW3Ad)t5#Aqn<-sa1d&vR zB9q5LOS{eKk>HaE8RS9iI(r&}%c1%sxEMFZW#Qm}`}bXd?cBRSb)-bNyQ5gZ-$=Fp z2c{(ZC}bXU0*j6Ce-F46M85DapE{1XLf?kksMs@7(exC|%~PRi95(rm2+?>ucn8NU z_Hhr6(N($q07*z8G@;ilu>gS@yft*V{LWut;eI}@SOJ7uVRl5 ze9rQJze1a!bZ>q?6xT#At+^t5*}jIchbbqDb*!ne@_1dcrgiA4+SP4{XQ?xLnqw6| zQHmYraBt#a(;1k`fKwcf{&R$_uqZ=HcPiXOx$M9Trdzq|RiF$*gK!Qm5E!4UA2-NU z$AWF3!*whUt8uW+)ds_!NMNikJ?3vQCG79^pZ%sKG=cl|UiyQ0drMm*6sip%Zo`Fu5LwMg$zE2`y046Wb}1K8}itbz2>9mGV&^F2f{&FD{KA zC+2L}2`OiYb#oMfYc_SSglV;Nwv7Eftutk~LEziJ5M|O`T#6@w+0;q)IgYE2ZI;59 zOlz*Utg8}Vlwg{``K|(4hFhfY?rgHvSvSWIUCZYndvTdl3F)cU{;$uS=NzZxI)R+( zGuFOF(np`8p9zc}RRvqol6MCJgDXO7Y{(n<9HwC!@Vy7$ssQ?NbPkGmEhTSReK-QB ze1!7rvC4ZG{EWW}FpO7=0sM^MbudN2D2yflUBtV6a0$njZyc`R$l|Z!_i5gV4Bqif q-l?8=uV?U1Wb)qZ@D?#TnyYvwgZX9#a{+E+#09tmcasbx+&=->ezwy9 literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/test/java/org/opensrp/scheduler/SystemEventTest.class b/opensrp-core/bin/src/test/java/org/opensrp/scheduler/SystemEventTest.class new file mode 100644 index 0000000000000000000000000000000000000000..401564bd309b64367c86a7a6c6f9acd33b46c496 GIT binary patch literal 3197 zcmeHJO>fgM7=B&0wGD%gvN2#F%ud@SIRF=ikkHh@qz)uDhB&&Z*SaKjWIGl6Wk?{w zofE%;pMiLtlr?BAjnJfV*r9F`KYsjvKK8etpS}RVL%3Uo3V{bkhk@nB1_L%^fzrJ| zC0rVv1SahBZW?hN>>nG;VuG#K?8pRoqaiERC5B`_$rE{vkojifhqb-?{5Mll;j{`Mx4fl(x<^ z8Zzm4JDmQu_z#F<8KmfX8DOj|5Bun(i&>ckBTr{RGk;PmqB8^j-L2g?iA0D#n>67X z!z7K>X=s(Ec|B}wQekK+yZlHV+yjGvppiW^q|9WN!v2kH`$r3ugKy_8a%&RK6k8f?*SR_2&jV>U8-Q z!?u?dWY*kghCHWi?I<0$q!spf+Z7m-)=YJ29HSC3zsT`Os0-~@F4&$2HMp_}^Kg~G z%0_#966|L|-Et>Iqm8})GL1W2AGo?D&}^%aMTet09(|m%ePIYZYX8HTwMAgn>3*Tw zw>8gB90F^vQ>>bp@5-St0u6ZP^gf%!{TAA;oVRMQO33#zht`Eul^5i38=j9;5x6&{ zEZz!fTQZGnaGO;8|2OaD`Y>1gakMW)uOMXwQJ8vO2F>i- lb)2oh@(8tp|EJk*Oki7@$ab>?+pP&~YZKYl(3%R|`32!W7s&ts literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/test/java/org/opensrp/scheduler/TaskSchedulerServiceTest.class b/opensrp-core/bin/src/test/java/org/opensrp/scheduler/TaskSchedulerServiceTest.class new file mode 100644 index 0000000000000000000000000000000000000000..225bcc842eaebf28880b2ce02d54db8ca9e61b91 GIT binary patch literal 8886 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 Q`1TOT3ep#l{s_MNAEcu%Bme*a literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/test/java/org/opensrp/scheduler/router/AlertHandlerRoutesTest$Event.class b/opensrp-core/bin/src/test/java/org/opensrp/scheduler/router/AlertHandlerRoutesTest$Event.class new file mode 100644 index 0000000000000000000000000000000000000000..50450d1c3cfc5fb137c21881bbc61e763a36204c GIT binary patch literal 8110 zcmeHM-BKJy6g~}vWfu$yn)s8b6GUBN-1P^e21IdLWy@Wt3LA)5sbRKZ2WFaRWD;CGc_nAYRND4QXTqdJG z-wQYu%-g07%VB=Y_3Y4Pfz{${&7;1!W972-Cbb&W@obJnE!)|$H>fp^nk#fPSLn*j z3z6o=tp=mQ3Rr0QcIY&%5FzMJ3pJ!epeYK{6a~py;Yh%U3)gQk9$J!evyED@96OMU ztWm2g#Q{Q}h16-HJkmaAV?sx5Nz5p%v_scRjZiAiXU>)zvLwuiG*9PkZ~)Dp!}re3acG7=(-!Av#jGUIJVm!8m~uPuxf1)%3qMmvIFT|5wJ#- z%SK@rBddiPu&wY>i=xAz3nq{l;rRB>p)lJvcWsO)Lzaxz>qYvZ%SHkkp&i#U9Sd~z z?me>HV4H18V=xT&J+?i&QX8ozT}7YOC7%Od<&rvLOPs1xXU6edg8?AA08lbHi1`jsTLT9f5U`{r$MRgsj@WOdJd!ox(At4)@`x1+|3G? zDc^P-ngD)+DY_>npqm>*b1_GT7uBZX8N1Gzud=elSisC`opK=+C}YQWg}_WUiXja% zm(^a9r06=Vl01P}6GV&mU7uGFrwH`DKnc7UZIKvZX~0D3Py*6|Et<*emG9TfcNgcX z4=VGA;vF|ZDJ_)e?^VkW7Uyc^v_NZ>YI(W7v}laFT3MW5S~cat_!vKiC#Pd;Bfm1U zwGosNQL3jj{z=nNZ)q`9-&P-G#QI}K^hy+fzrJ6 zGN(L2#dU%yil5G1K!W1TjiJ>x&!$KtaQVPOm`UXKyIqm=Urp8Rc7sjnF+qWvTFy&8 zbv2`PtIf)Q^O8?B+fB1J^X3I^?8~gp9r_I(9|W%H`+~|o)E%L^(ZYMZN)S-4I+Rpo zV2Z%psk3kb7u2DWflmo6pBgT@&D1jy0>fHfl7Tz;K|3`vFoPeoJuU-yIhpHeIs;$r zxfzYpK~zR9Y8}S1ZZU^mO`%0qYc<eS(9$Ys8m3M2 zl#Xdrs*|Qnn9wR|>R`meG-9f$WNL6|;j`JHBE)gee$qpnSb+r(?z`C$6(`Nzqf-_b z50(b)9e?{-*FWsGzV%?WdqFZVii?w{9xS(|(1r@LPotDoq2@u=Zxest?+-m#+~k6r zEf3~5p6q+D(3T;qz}p_ITtN9sNmYgW-pa4fgkoAoV-}J?#tDz8;Zl%9$)kwH`WsTO z4M&WGEQqK=qJ#!#^n{Uh6uL1Hy75xzMke$+2_@4+NJC<3f)OzY!Ja25Vjcpu*sxk` zSk4;%37B!g<3uV$Eahp6Qj&lQyT}nE=TclDjHO}02<5Q~z8e!JYAa&KX(cs0ni-*0 zTr7h#Ze$T=MmlrVb>bxA0a{L{2~+5D=*cP#j8r5GfsH4GYm$nP9dm)sa*TiQnWhmM z?}EBPdZ{+{4^j~-taoL=Iih+ki*okc2mntEO4&(=mp_oEYGYlB!>GX+umKNOQ~kIioUB${ttZl zZI>O}in*-Q3S92Fx~X4^R!k)^Gb0%iyOnLUBdYc0RHUsbdx_0NHY&*Uyxj1|OqhCY zDqcaD^<1WL00opbqfTTnJZ5@>3-ju{_IQLlm=vtc(mk4NW|sac8@38~EicuM#PAQx zF!4GlojqNFg+vLNq4W3+1R?2UzM|UDX3CJ#eP)^rWDcZEk56*B(qto4$H8*1a)}V zgSCyTO#pkcU+Ln}r=P}0ObzYP!gdQ}K%@Q1QDgFP!Hl@}pxwQ7&jMQy5A{fzE$irgS9<`oU;S&#jDbsj(lLs>o z>I0dofPIJA2_?yA<%_?$V@?zyo7k1sWdvM|Dx zdszY=VhyX|5n!JO8&e*91ovPO#|pm9K@~3)2;Rc`l51Se;}byr4_N+bb>%mB=PyV1 z9^UONi?D|GrHl&RhY#Gh4-sJwu`{ZV9ffU!<k`@2} literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/test/java/org/opensrp/scheduler/router/AlertRouterTest.class b/opensrp-core/bin/src/test/java/org/opensrp/scheduler/router/AlertRouterTest.class new file mode 100644 index 0000000000000000000000000000000000000000..e776fc11b354113b6138d86479e5a12e59eec423 GIT binary patch literal 10509 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 literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/test/java/org/opensrp/scheduler/service/ScheduleServiceTest.class b/opensrp-core/bin/src/test/java/org/opensrp/scheduler/service/ScheduleServiceTest.class new file mode 100644 index 0000000000000000000000000000000000000000..076144796090eaba5c6cf9d6824497bed34dd8da GIT binary patch literal 10854 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 BVpr)?lc|P>@G92fqH!K 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 NyZFC=cQ@e6zX7l}n(_bu literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/test/java/org/opensrp/service/StockServiceTest.class b/opensrp-core/bin/src/test/java/org/opensrp/service/StockServiceTest.class new file mode 100644 index 0000000000000000000000000000000000000000..3ebe7cd342a51761f4e6a1c111add81f4cc3cfec GIT binary patch literal 7969 zcmeHMZBrXJ5MCL=*$x3hOW$akgQhL?#m=OpFM-mU0ELbrO-$11r;a!aTW~&IbvhG% zS!ddr_IrOpe@kcD>E0cf>sa>587HMPjK@Cfw0g99R$A>!zyJO7uK=(F-&l|%a3_#X zS+PKs4{4j0g>00C&%8kT<$%dHcUZZmgmY9&3VSGN!6<>LSlp#vqx@k1kU5ILc#sk# zFi}l6T*fAGeej6+BH&8M69UtTOzIuV%{~e}#anFKYx98byR71QLQ%zq7ZA8wt%OP( zbIIx`d$sy7q%J?;Ok(Luo4O$*Ft)-yu2u<*EG#}DFnV9qnFZGgOrC4KA*GOcc!^9j z9($4n!fmsli%H49I z;{SnQG=@V_r&%fvBp0F?jQ~vrPpxHw`FunJUvjT;AZd#o3wdOsh)I(*8nE+)6|GVY zvaN(oZFSqCiN(UIqkeL~B&wbe3;a-T* zm4=C8VVx?rhtZ|BvJd97RbAS(-W7Fdm`}^}A^Lx1*KOBj4eC~8BWy8GneO1mi!Ou4 zA$rK3Py?)JgN0zq(8Y9w*#j)X6wHjnHF$-<%tG}%6|Jc#FkOyP)yXRN*lyU`XL65X z_8Fzf!lCXHDtS~seL1R{9CP8N>fqTsrpeO{rqB)2eM}l^j^w^VENfx0iV-VT7izrW zQ58z;eKvW!(yi?(N*1eU5$tjv<_P>{kV&7l$e6y_!E?gei-9o;=kbKY7k-GR2keYp zq^L8i0}I~4Ly}r5n9sv|B=^STC+R z%Z}rL6Ud*Pbm!q?LTbaAK$n4Z%Ku_WmRMnv;q5|9d$4x$trQL(kxC0b!T7Bca^&GN zLPmyTg$`(z8@-6f6nGnzVy)u3dBE^>y+1SYy-(&zI)->P5lV+`@+e%NNjsKk_lj?L z@cp*u;QbYngSp@qURP1+G*2w}3d8a4Sj>Voyu88~*n;&aW=vhIS+I$LW@7mB6MqY~ z{&gpp1jpEPhX(;B7khZpBJ{2foE;B|NdOQSFgZ(_?E_&*14b?|Ruxf|8i zpx)4+5|~H5M&RwZ2LiV;aNpJ7-qPYOAa1UMwy4$eeGS@eE!u|$Xdh|NmbGZ*XGGi4 zqTMz?yQ9(V2QAtXqMh60ZU%#&YH$yIB literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/test/java/org/opensrp/service/formSubmission/EventListenerTest.class b/opensrp-core/bin/src/test/java/org/opensrp/service/formSubmission/EventListenerTest.class new file mode 100644 index 0000000000000000000000000000000000000000..82529da5911ff600f43b49ab13a2bbefed49b7cf GIT binary patch literal 8800 zcmeHNTXWnr6h7Xjadw+ao3??{0&ch^Tz0tx3QZ^^+q4Pel$mDR86Fj{vg^cac_cZs zKLP#_GcW`1{3wPa+v~Nnp2{W-53mnekL6FFK1t^s9ZC7~uU~%$fHnBegqi_cf;%lq zg=`&>6VhV5*J1(n1rJ(+@)OsgtwY8K`{BXB6~bkHYx{)y(sqTUKII*(X~L8Nm!s+) z@q4ZB500oK4VZJ7f9Ur1V;Tb%>~^+b-GG~qLtnZBy6c~~!aeZlrtdRJBsL=qn6~$r zbBwS$@w}*2EWBiI4qxy~1HZIA7X{&`S@kJ-!*5q8=ZtqaacC;xs=a->5Rr3EM3JIU zXtqEh`o!;gl<$!spd5Q^@9tzv5Hd^ExTGBOcBD9YPrr-DER>2N`JTMv_xY&47!Isz zBkuFC1ToVauJ6iw23%NKeQLl|n{}xPuj9~;MnCG{47_P9+E08=1@lg5*K*h(aJ^_` zt$;He>VddxHR_!{wYt>t2uDyroMY0X)-qZ_GqHlEh^Mcaw}NG>%c!t$wyXh>PT!J9 zM4tsX@mV4?uBI}srqb6eK^rS_2La>KQurgme9IxqF02D;4LdZB3vpy#DsX_t=So(F z^Sq#vI(?ii%LV`K7_d7CJlDZcCPG|kFmC%o z^3aitTk*QOvTC`)3jHoUbbXAq7?&}EACl0+7%@UOt-Vl4^#xHD@l|k+i8G)^U9GSM zCSYOQBbIy~&_+GCXlt+~=+fo;rBEfy{n@$3@`AHd=8^~vT|S-AfU}uJ8EBGZl!6Yk z4GnmUqTNvqsEXyNL}Wl^pLH$e$}4S;2(gi4xL08LD(z5aYDHr*6tA+N zwW~@@E9yovn~!R+#S(MISXE}OvZi_LQaPtA);X$PRph9qMqwpiD^{7OsH!wyTcbAT z0vc>aEb*V`e5k5MHJWNQA-J{Dw7RD@0F)QO;xs++Ym~Gvx$F0emN5AON6vR^i!qN9 zzbeUQ5bWdDl6KfJE!t6Jm%Mo66>rrvov#3`H0@Pme6rEhsKr^01#56s96lx-hF%Tv zKLD4ShALiCb`Yve!Rb>4%`lXXRca;EaBV+xXrPWvbU1ZBA(CSY4L0L(nbkO+yo8}@ zK*?3sG>^wD8blmOG@vR??hw(}H><2%(`f8EF9TGfv8acdw#s1iX4ZgPaC;VRz_J0? zSM1SwQ#=#v>O5+}#=XX)aBx6*hu{&D0gEkaov6U>_?AyCU#L! z`6Mu4#*TB+^%;2IFn=y__BF|2v#E9(6{|XST2W(%Ro0Z^_>*I(Dl=DEBei^ZF5I<@ zs#g^`s;N;}DVHc7%{)a_rTN+#wN+NASl7Qz;3q<)0X}pGvId`UGaguIX27 z3zIx~blH~O8vn2JWW1%7XqIifOeLJ)nfwf_VIuot`;4wxwc9v!hkX`uhdyvs;=B}D z;V>X6>yEBaP52UlBhNG8F8WOx5lz^@yXst~V**|m&*c_i6TZdU@v#GM6SnXcJ8CyM zOfca-_Bi&3p%fDy3{lCkvI#qg%I5a1o~Q&BQnL zoWW-e%Nt{5mtc0RY!2qf$`;`AsWN~ouo&@Pg=^9CIxI!cSKw8AP9gpVyoSFw@of#2 z8Tf4c2Dg4#eB&3e{)n(|;jdB%`1dycDm93Lci`Qq>^)?trTtjJvT?T60=7GaY#$)o z1^5tIl)8^n-c}*+#|69(3wb}ysVrvutbmObu+`vmR8xa5U>BcDI2L!{D_DoG;Tzb5 KHf*ErhkpZ;Pltm5 literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/test/java/org/opensrp/service/formSubmission/FormEntityConverterTest.class b/opensrp-core/bin/src/test/java/org/opensrp/service/formSubmission/FormEntityConverterTest.class new file mode 100644 index 0000000000000000000000000000000000000000..7f2eecfd8fa773ca5a167940307c8133a5faa346 GIT binary patch literal 10341 zcmeHNOLG%P5blu;D+`0cJi;?s$OAbLDI|~wCM3ql*hFB0g(1h$YAg-xLp3`x_9^)T zxg_V@bImDLp(;7#mLHW$&q~%~S!>3&l!S^7tJUswf7{*D)6+dOfByCBZvb!=RxC&n zSPX@emn@X|r*xg>15wQfb>@eno)4K==MKxS1;Sftlsz7XJn-`i_*n2Imz(o}zs`hY zqJ;bwj1xE&klVl4y_8O_jt6|_1*k8PZcYNM|gZo_GBrukp zS;gl0pu#LTLSU++LqUi@q~R!;KKIBMEDYRrR>&|rrutoo`YjcD`GU%wgtUKLkxhD zRYeqJRCG-+jx7V5+H$kbG865vsG&;;x*Cq1Ajg8P23f`7y^|Oir?BC$x|%^WUsJ~E z%ySxI73@7GYeB`XGTFuk*qLWi(do^ToZXGC;Rz_M}D;Bl{Q;-KLV2Fay$j z(7-%%l?uk9Py?ho?LXu7y~5n1bpzpJNu-9us1J7T$Oitlv}_uPo;;wkR@kVk-ovnE z%C<81#FVs|hGYJ|#;c9yEMv;r+eI2{4?9Zs3Ns9U*@Y`~W(FE!#xF~v!LsEba2fS? zH5ZJWt6i{kCp{zQLg!kbZa8%B+C#Y5K~UOd*fWo-ks6~ompGUT>-zl8gvKCNy<#K= zT4&%e9G`@Pa01t#vc=8xO#5A9G5kY zD_wVsgIbqUOJ5R83Idt7>xUM+PGF+_td_-8ugs?5JV||Ovet#vnz_G?uA%Fl!!^Xi zj`@8Gl0Hoa$#@^`K21Z)R{MN$PpS|&rd(}aFf3x!Dn?WOG`vMp-~Y2-HLBV=t3$&c zG`%Bu7+Lsm#zD(nSE?7~osdw(VFvXO)lT1WOxCPe;9O|v&((o}!)d%CNdx%~;h>^RD z!scPV*Fc(n`=2?sK`}RBKtte)^38UM^SH)c7Nxzo=@aoUh`>`lrS@Sb@Ahrgbl{soTx9`V11zX}cTI*GrNO)5AAr=xdg z5Md0?;{S1MIoJOB8~EmBTsr~xVj}K^9pS#2fO{@yF|1bZE4LdorL~F zBKl_oLjN%l{pNtse@aCEd_d?wC!&8bAoLdr=m2wY3&;7^$W~FO88PM){Nj%UgfS=} fPYM>`4&DJC;&l=Zz#`nm=uw3G@F4Q($h-druYK*V literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/test/java/org/opensrp/service/formSubmission/FormEntityServiceTest.class b/opensrp-core/bin/src/test/java/org/opensrp/service/formSubmission/FormEntityServiceTest.class new file mode 100644 index 0000000000000000000000000000000000000000..9a5c41c4945db889f95ebafa35144c0d7528ca92 GIT binary patch literal 8836 zcmeHM>vP*g5MSj{C2k&V+Vl+-;ZX;QU1)eUrI4lx2`Ej7os^c>DDuTtD(O6Ta;D)s ze*%9CGcW_+`$sYCNw##V1t-TD9y9(BE4SMF-QC{a>UX=(|M=xM09b(Ubr{lMl{32> z5FV5dtV63zS-nh~#OJJ8=7b$OHYx8@=2cpIp2N9A{qia{SNy;Ujw+Et6?^M2qQRLE z!nOQ*d2{c8*ntKUKRESzM^S?*^NG}6)ZprN3!yx+?jJhb*>lN~@6*5va3HS1DRYC` zPf_iBdJfyP6%eMu1yf8WnOh`B{o#Gy)Zp?9ueTVr3Fnld#yNo)En}JbhlGWIvtf@H z#Hc-KyAJV#_JTE-HkV}qYD|zrSz*dtk=povirWoRYqu6W_lb?O zuv|AzlDe zgOO!gBRb6Ed=uAMVT`gdcuSkPvEwtsse4FjhE2VurP?01J3wP{iRfGJ9*fRp%_LNlAhDLUm? zzHs*w_n(9__CLXxWGbK}f~nBFPmmH4g;LB`6?z@_iRk@FDhr0|k)T0qhM?ABFL^Q9 zuC~95OW3^OaHHkd$iCwviN)20tX2e2BeO$cT!@qVQ{H%Vyk0%T=kx&4wN7EvWP$O0 zPSN97N2!;PnA`n(2#k4;LGR``UXP_9V9p+1$G0qoH!X$9g_kN+@*cRfizq;)GgK!* zx+}Jd6ZxtuCmzXr5D`BQNNjhk7oi}L9t+jdaL+VH0 zwYV4}N)#eK;VHhWjoi+0iq+99i4uyv6fYr@i)l3QtTEj4&obSqTC z4DG5T2-B6sA*7^3SQ$g!weH(kvvqiYb6s-?vzXmD(qRRwm8nda4xeFJF!|Q#u#U_q zzSipS1@=gNwshFQ0;GIUb=brTZZe(t#;?Pd8eB{V#yF{=Lj^0z>6cMzL5CeICTHgZ zba;f-+s^GLO7H0K7#U?p);5L?Un8j$@jac`*5O;6zI-9V=7uPy`}HcOW;nb8ST4ny z{3Hy)D4fEUjxF&V!{-o;L!nD{8Ya4AlQ7jKn}#!8va>MLB|8V_CE08^?gh9g$)dSj zg3Dd9D{xhkT?_lZlrfi=;ku+3;ThrT<@JuD&K$go>wXQ9MzHld+`#`9&_)_Q3%^3~ z@ywe)!_D8rk;?chYz6pt3x9=OPz&CHcSG52#2SvV7Gm4Jk8itiKght{$i)5VFL3W< z;x1<3?quSA+!OA-3|uc0_tU;{f6Txgh9z9@5Zs4ld;)xje+Ep$16YMM_#8~!w}-F= P+fc=Q+=Z{;34HS>C0$i- literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/test/java/org/opensrp/service/formSubmission/FormSubmissionDataMigrationIntegrationTest.class b/opensrp-core/bin/src/test/java/org/opensrp/service/formSubmission/FormSubmissionDataMigrationIntegrationTest.class new file mode 100644 index 0000000000000000000000000000000000000000..ac55fac3f077fac4309f2ba90809446b6e51bc61 GIT binary patch literal 9480 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 literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/test/java/org/opensrp/service/formSubmission/StubAllAppStateToken.class b/opensrp-core/bin/src/test/java/org/opensrp/service/formSubmission/StubAllAppStateToken.class new file mode 100644 index 0000000000000000000000000000000000000000..ceaef81a940fafbdc99aeac1a37ee8b32e796e62 GIT binary patch literal 919 zcmb_bO^?$s5FNLrX+xpAg#{KaW>3o{xo~0;(yA;UQh`IuN*o<`NW4vK%XTaFmmz@! zcYYLN5{eeO72?1l<4p2Ae(%lr+xJgj0N^3qi=f5e#5o#|Ziih8Md}oHMQmR~akbYKPvGE1Yv_DyvEnhy%CI zWF=Pq5s&+`0{I+eDI9^UkPDF`KOiB=T1c`MlKd&;fX@wju1(;T2(sXT3gHJ!fgc5S>jzoR~n`l=4w7OHXjIFFmygsR~3z3UElM#BseD>}~B`Yj+*BzYGZ^ zxbveBV-r-`M2G_i&wAF+v+uo`{r=3Z=&X%!5 zyHpb6kH!|WDk+q6%IJ9JtK>M(C)aiZ=rGu7O5{SP@w?;@P2Y??dUnd7Gd2qhpwD1<_4g}ljqSm0#?*Ul(V2XS3ocDjs$6&?!AonB91C~I z!~Q%&zCf7^OQ2H7bCDw7CneEJNwiWDU01Tt7X}^I#`8jWnQ>2r@S-Gge-5||ov$`KK2wgt$@Krs))9kn zW-2RjqUtmEHcnvE9-{tQOQW4~9<@JFXoZ#8WdIL|>$-yhJfg9^X%vIOn|j!FIwvC? zJOKu6x-&p4BZs;agXRvkp+#%>1$rMw;U^e;qpSr(iZ!OjZ&4gH?;&i%h_W{9P;9|H P*rgRCGmJZ!$px#P%dY zSDx@ZCKZ17msvF;DiPFyb7|#GZ%2=^5-h6D+(KZV&m%>Ar5jfTPhxy2H0m7a^%hBt zs7tyuFtl*i`<8N^sd0b3tv_0~MXW}$Arb`hjE2Dyl`-}ORXp87)KJcWGm=KZB9)R< z=?-+*7nCS^r>^!+{fV0_V(OLy-4m0`XplQRpapmjjlI+FIU%^{gA2~!!)KA8l7|~K zaD85jS(w_@#W6uc*W?Yi*k4(rZb1Ezpo!g>`0J>LJBDLF)foG!mt#NX2AoP4N5`!Z z<*&I4o6@Zq2fMW?PNFG2iKethQ%0h?R91_*P_9O3Q!>R}pXkANSE&0^??Zs5dM1j6 zS>j(IP#ft*f6SugxxoS|42@iz^2Al!F)j8t{agmF&EsUCwWG{{)ICuK=&13aqt4LSs#|q;p24IY zdIsdb4T_a&If9ZnMt3To6A|GomKlAyO;@>~8KAu8!>kZwJ1;UTljSAMf+yF`S;({M zf38YdNwm=XFqiXvBG(R6-eJl*?7ms~Ppe6iZ6%9oWF;xr1#l#l%C=>G<7Q>@oD|AW z>uiPerjI9*mcyuFN5rUYRb@tY`iyL7+#3A7hU}d9j;LLVFaquXoP|*bh9~x(mxt+Nw`b|)8CEC9<|2s0^+*&|L$Axa-mmJmBgC9+!oyFKQ~C2 zpzJ=c9?H%1!6m2gy~SNXJ6Xo8eH|%Uc|VIi;`r}Ld08skb6ZKW+DZ;PnmW#Xvog5V z&}Cc6V!>HSI{vFN+m`u_o0Z9PQYb&IvlX(76mdINl!&{0Gs4t^m&T2_F_#>eJ9uN( zck~ufrURobiG=bRPr_iHuyA3uf_IQiK1#ySf#TejPvbPVQh=+NKxuyK%!Q6ZQKxGT z+|AZ0J7jfW>_C;~YO&gOVEjN(g>#QbRR=Eafh}PSB%%kBNA;=oI4UPT=BO~Vn%)Dh z+aeYD43kK+QP9Y(=+}FVl+e|EnrY+h-)eGKuBO%Wskk%=w5&riRBU2jtd_A0I(i^f ztK-0B1Lgp;oPU{2bmIf7*!#;N#tZ14I?eJP|&fXF3W#+jc*y=T4d) z!ccl4!aSVBYib&)`-}=A{I%@@+{5IS_TvRuz+@M$!U8?;v>$)Ha00&y_@>J~EOmVm-%sLO7YyL@jkfPM+r9^3 zsEI#?_|v;M&tMI}TQHoKZ#T+!(o(lO3-99d9R53vS~*x2|A3KiPoMt{-v0}~x?l{S zT06ks2lyPQqhK69OzS>EhOTBGCb4cW+eHK0xRLGhF1AmMY*Pld1tZ(1$kq*?AxjTx zeWj`8w2}971MgEK?-w2OJ~#4S@0j;HBkz|T^9DxV8y)km8+m6s<`qWXn;r9R8F|0z znD+-G@2!q`e>C!b-7)V^M&55a=Ka~oJKHhuFGk+m9rONb;O&Mx=wG_vF3e#G@C1KD R=zFffJlux|;Gs`?^ew+g-cjvu4E)h{st_;e>UmLwJRX%C;R)_X+bGao>g~NR!!u`rZzXH6d@nr3j#H zd(Fz@-F@N+116Xp79_(An5>^dsv0n}9eRRx$cERYobI+s&GUQ_fpY^c)N7&eUrDeM=#DJT!Z=v27q#+pfn$=@Hv1rvr9GMT9hYZH*b;<>{ zuS743;gWc)$^0;o+t-6gK& z_?>{ZBfTuN2`bv*_pMTKr$sE6IBgqMv;y0CZa0ZFi=HSSd7|9&M45_N%k>Gj&_Gtl z7Ea3&IGP*;Xz$~r(W_!zvd?`l zO~irdLiDE=;L9UC3IrV~2O#BvoE>}2?vNKgd#*&^XnH;)icgmCE!z@@0Vx$55l}4% z+SG~Sdl_dbIS`mIy3{2sWq2~dQ|L~mjudK41t}D9c1R(L6GjTry3Jd|#$ibz_@ z)flr6vjWQsCsU!8$XFTa)dPnFa&MYKr)9{&79A}WwD_jS!Di#}BQ1W~gf)&kO_g;^#lg&QzMZ6He=WBwxr zZQk<3w!6%TEr`4t!3)fq=WY{+&~C3IhT0}P@I8)Ms+8nFZoTk`tUAT%eTB4%BE2`Tk`?k^UN1n!fZv8Y zVFywt-H!&`i4|@T&)p)NW4WronjLj4G2eC_n~R>}awiy{W*xtHk|mAl$M7cS(u+xdOL@c9wSdLTQWJ3hYfK_PhdHdRT2^748!S zF2G&*5+&^U?p_iHIg~e!s;?C?{-D6hLlwv5U?K6p)cG6y0c_%L8YBHW+=E5<7M5TI J)-Yz){{>K9uAcw^ literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/test/java/org/opensrp/util/Event.class b/opensrp-core/bin/src/test/java/org/opensrp/util/Event.class new file mode 100644 index 0000000000000000000000000000000000000000..288bee3d6404c986af37c776d63f92850930a694 GIT binary patch literal 767 zcma))O>Yx15Qbl;X_G90ltB5oxfMbQhusUO25|rt2`Rv#r4mQS>n1Lay|TSg{}~cU zaOXz><4vSS0-+u}^2a-mUeC2WQFN>%`EH1@L6wc2JS1B8ORn$?N z;$)?4?4ZrC-w2Gb^WwwoQpw1$_d;78Uoz~B#^(&}*RE6@^cV)$+7s`c@8TB2?~m52 z;LJ*uT)JhYjfmP=UU@e&Y8j4s);n7$UMgvXCs8HjXE9g&h+O3xS9x-E#7n0Fw=VLf zh;qRrrKzimOl_yp*YfnWJh{pLf@Hn7%gSh}BM)_@Jejf~`dUWk`TC2aG1r0Dwp16| z68eH(XfJ9Lx79g+SBIEhNX3OsUe@3(WR{_e+kNcf4#UA{dR?N^=(U|sQV9oBBD}Ac zGv&_&RfSBd(hyQOJ z^^GArb+wo3jZU7kW@?(U;}A3+G;lzRcDvZ4*l7lEhju{r4c$+}>7;UD&Mc>~^(x$u4Pv09ovz25bkI-DZ0#Xo-!PN}?c9 zNrwHO{e=M=u)Xg`4Lg+VT7gxV#tftneGy6V@Z&j$=SKeX?;n2wzy@sRAxGe07+4L( zL)AE9$E+cP!-n*^7Y2SKQo?Dpj=874kA!3MAP*}9uEul@^9~#P!y|4f0_D&eaXWH& zkGY&cr86bzt3Y^%TLg-(aBvstA;Id2@N9X43p)pKPp?Co5q1XlK>>@bz}l46RuIUb05?eS zx2ImfL+KoIn_ANK1#TpyNBuw!9qxvYX{k6EacXnRVF42P%zDWVIbBEf)yL|qYxS*D zTk?>4Qc;&FYeW?;o^(z9TH5Xc+lCK-={~6-1Vj z0Zn|hTB9PQk!SN4!b1yufiu`=k%I?5rLNO%6e>M~RFrwzWE0>NQK^_XcZPB(+9spw z7oQsvO~b%4&?Yfr4%TwXmZyy6AsMUHm~eT#Em!+*GFn&a$Pg#eITqQSJRpN#;6DFUUUDzln3K@(E4f6 z`mwj$dERa=O*B(?DM1Bpm0=CuC2*rUTXgD5Z>@tFtQWaM9t^a4b#*E&<~$p#d;D`n zjYLS`QD=c_7z@_&iBO~dxcDWoo5jRJkOiOw9E0-H$N^1=2wc`eyz+jmvGq7H00LXp zbctSDP?&oJlz}kD)@Djb;EEQaHMvgM1a9gd&5WzTW_5a}SX90T1bhSemKq2N+|r_S zvhF^ykll=X)5W2_!J#`;Yn@a&+A6^3?dsjit)HK9$$iT zJia_`uf%N;5!T=;ey`!|2BHycOMgP;=gK?3!_B|rHSghfHJ%~xKK9EA72Jjoa75rk z_z1rfgdF}$5I)X8xSfe`X8{D7iLefzWb$w~gNJ*W2=^D@;Xx+Cr%=u0p_aizBNO4_ w0tg$K2%jy0u$hVQ2oLpAOHXW literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/test/java/org/opensrp/util/Matcher.class b/opensrp-core/bin/src/test/java/org/opensrp/util/Matcher.class new file mode 100644 index 0000000000000000000000000000000000000000..174e5a33cea74c562c5a3958548030b63f14e8fa GIT binary patch literal 1989 zcmd5-TW`}a6h7|8dRf`V*v5T$L!g$2R!BUpW72>jA$9DbWr#;N@e*%I9Bik8Uxow{ zyz`?F$4R$EZB#mm2Oi?Y&UeoF&egwufBOLd&*4!SN(7#0<+KggrhUqWtSyz-mNAdC zira}1LHm#y$LFdH^8{8>NWdbmeKa`bjv=tHDVOh*!(< z+NQ4Lnnu#l&@!Y3#rWqKN#(`Rxt4XVW!bbQlw{UK7)xcS{ToW>Oc+TW7FpE;PS5#H zKpApFn=>GN7CNZL%z~Xp;B6QO!V!k*B<2bO7-^#t$4Eu9bTpb&XqrSWKM@gz;ROHS zH%kJveTi<-!vxu6D9R!mw@h&kl=&NS<4cz^<@J4L8a~rK7V`N4T(`#%>t`7 z8|F*Q>8N~a)qUk9A&<=Hpdc0$R?7|ueo-Vh|~I>RFmUXg9==)!!=kUu-@oi_D#Y=({8waMfqnDg;)$ z(qX|dQ^M{?hx5i4nn0sFTT^!kY{;~cKM3RJGmCQ}&m@anrEp=J zumyM>;S~qC66~u5T+8W|XZHZL?@;-;TKfw1pSUZ*GOiW__^jYs&rom!R&iH_o3Mtc zb^I>DMyly)s`*^gtpZJpsismYe+TYf$loiFzh5A~bRl1Y&D8Qk*v9t)YN9ar2Sbx) AUjP6A literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/test/java/org/opensrp/util/ScheduleBuilder.class b/opensrp-core/bin/src/test/java/org/opensrp/util/ScheduleBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..4d6b8f300fb089f9f5a6205120bc6d67a62640c5 GIT binary patch literal 5958 zcmeHL-HzKt6h4z~>%?rk?b4Qim~Me41(F2{7i?9DpIre;TB#d~K;mN7o+h)kJ!U-K zf`A9$g6Ba33GTV#O?U&unK)THn@BTRqOwT6h+~hxbLRYfbLM#d`1_aN0N@6^>p_h` zJ5xbN^GtX4*#YZFHR#BcCz(n+xfW4pHyH9TkN5||E8?3udwAJV4kje~V1{A9WD5!1XcVjCeGVWpS5 zn&~`Sim&5Fz^2O$)?=wn(bCG#$1EG#=j(CJLZ;b{;L$ve`whq7+ZC1RvBaP!BCOLg z;oApT-7MfoT(3VDNhlxQX3OHNV{{#1i$u-G(bxXdD zcmAz9TqdNa#vbXbPQXwm8F^nOu&nz_UA$g zI9Zir5(JA?jWksjB@G9{}LQ|Z3Nu1Q25DQuC*VYS_rxeE9WHsJ&=PS)A@ zAarz+=)tQ5>JwKyXrfSA3Ou-u`(XK8?1LV>PT)dybaWWwL3;{Zlwl7x37nfY+k>}o znljKH+?YC&E%HQQwI{L+PjLEpzLCKdz_VFA_XX^8k>+p)uioe!_!Qm&_`gE^i*^5J zSp6NJYOsb^g8}@V$Lnf=f(x*YPYrkyF5-yMa2@ro;D4dv(i{z!M;dA)xu@Xiikz{i zkb7p1+|`QQbMSmc&dgiLy)Z}aT1D<9pmXJ}%#qtXl&is2oS_CU!#nuDjvolGz%^*W MYw!ki;7xe@AA6t9V*mgE literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/test/java/org/opensrp/util/TestResourceLoader.class b/opensrp-core/bin/src/test/java/org/opensrp/util/TestResourceLoader.class new file mode 100644 index 0000000000000000000000000000000000000000..3fc8665b6f520c5a306480ad9eddce569e438731 GIT binary patch literal 5621 zcmeHL?Qh#e7=JDeb()oSD;t1>A90hbQc37k!&eHIQo>-`<>Y69nsULe(a zdfAdbfrai^Zc|Gy9Ig_W&jhy=mmv%I_?Hc))GtB~2%Om#GPvi-4W>r~7Nb~=dLl!9 zAf)k%0Qrf)^mkt9>F)_lEw`Q$sNWR>?!Z~Z99zCGrH~C+AkAO5LW#lndwf7$5k#KP zv?oFuNzwOtpuVNencj%g0e5{SQ7B^WE*o;Xgo$YzzcDdwlb9ts5M0qvXc{o>j;Ka8 z{yf4|wWk6ph0H-}XX2Xwyfr(q^m@HU9<`!rP%^IacV#_)=z z{D#E2m)gT=pPZL`GRJ}`QEp*r%5*H#zP5h?QYWmS(uZiF zvk>{QoTu}-HYiWHS(>ZN9ivC9kgH_$Egx<8W zy?#Yzn*>nq+`A?bj%yaf*U5`9P zV5NKH{XXv47l&LIlZHhvD3CYxm6YU%W!4v`{~KW^^z89O%iznJ|X0iMgLf}g_Y17))fS< zmZq{ewm68l2>fG_$fDls7{+5-3vk)oOiten{}Fg^@<1**TXNtwfw^K-4y+JxvIW_J zFA-|YKMs6dIL1qxhQRD2^ItI>_V9o}!4<%hH9RhS3+nip#=AN=*|m{fXR>P(&LonE z0dJ$;Tyo4fg?9kWKVbgZ!nxnzoxkv@2Jhncbn*s6!u#1&3NFC=_*93B@BvC)N~CIV z89q8dGv1_VS4z;Xm7;wNS2MIa+9|`jR)Tf26zc{omtxfp{A!h8t(0P2gil`*LS0gBo<;8@$e8c0a>NKgWaK%kb5Icuyn| literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/test/java/org/opensrp/util/UtilTest.class b/opensrp-core/bin/src/test/java/org/opensrp/util/UtilTest.class new file mode 100644 index 0000000000000000000000000000000000000000..76d5fe06c258854824e7af9c76bcd16c1de6a2df GIT binary patch literal 6722 zcmeHM>vG#f6h7+&TXr4NrUZJSunCtWrP!4FeI~;sj5}_VN!$+bZ!K-*4U$%~T8HK# z;5B#zW?%;X^9(!-!&zBLV|#;?iOrNYelO#>Q}mC$g_x-j>YcioivWy8%<& z+Y~(Twjxeop`FeZu*h%jY9%87vr)Uw50U_B5h#ByBB8$|FtfV$fWYim(&H7FBQXCM zV?!ya9GEAyzwSp0=MVO|M_n1lB4Ap`h{j5G10E)y(pt6CPeo^NNO4~?e?g~$M~a|yBe{N9z#MJhP{UIrZEOGm`#MSRGON*dkK2uvdG|e zIX!fC`gVO}vB<<32YIGxxIz{(GjvYQ@Wem{m1LQSYDpQ@2Qf#QF;_Vzt*wnmE|1f? z8PC*lutGE5WpU1gguH_>z?$e&-L)5I9eT$aErDg&3&%c=tCvLv?-c}MaMfo_O^#yC1$;t)|q+{ z`ROvG!|=8085uUDY<2grHRl9b*sv|p)p5cKdV02}C)%P;Q!j_DyIge`N?s$jrOSc`ObIj2ew@`kkq}sG=LmYU#7u%wpD$`Wf6euP&Q0w8 zcTmd`s2ycDslYV?7mj6-!1bMeq(#VE(Y{CoIdvWzAs2FNhXrAd z@rVQ&Qn}|+HQWC9FQh7N+GOSTO^|e?X-E#dO~_AAa;X(+P$MPw|5my979LF#E|ZNg z)(4n32i_rspJ(jkuhl`tOyIkOzzs_xve$Wi^}A-vCGtDCGm^j(;N~^%xR>z!9F*~jKm{B;J9t%v z8XhmCJMuGl1yK79>fbIr{|j9F14kvejK^|%hrkPXT_0G%BD{zr0xu!L3|ztMSsY!3 z>zVz_cpk^SVZmLr;=YQwr5v;+3)+$u?X?1EuUpVotY~i@#au=oufj@>pKBK6rWN_E vQzGB8Ab(*+Zk!UiX+dsTk#C<8`CSY0wgtI_{}P!B`~W`2vx8M;nEvn|(M(lD literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/test/java/org/opensrp/util/it/UtilsIntegrationTest.class b/opensrp-core/bin/src/test/java/org/opensrp/util/it/UtilsIntegrationTest.class new file mode 100644 index 0000000000000000000000000000000000000000..44096bc7a19c95c47a4184fc6016ac84ea5af789 GIT binary patch literal 5058 zcmds5?{6D57=E3l&5w1o6gIX2!>xd|FcKIYnkXPm?Isna-Lxh}d~_~u;`Yuy`A1jy zWB50am;~SXqY$qzH=2^Ga-FUX;zQ29+~ddg^S*xl+JFA_+wTCd247a7MBpo{=~kf1SX)&z-a);#=}a7|{*+BPo?l7!83+YmbGFBW~u%R|r&{;d+Nfz8W)Q zUMSroP>+?iJ1**SOhK9psCh2 zLiA&7Cb^!_YD3|AJGNNti@qDKy9rIUqBs-*I)rht=U38L?E-WrI$WJAt5g{3WRLF) ziB7tYU$D+xh$5Vz8+6+l>%Sn1GU>f~NIU|n*OKKrVMxQZKLPYVCi0PT!tA$Mh<1p0 zuk*b1_&DIPkFXQkBmubqOfK_WGH64&V6fRm$CnsN(L=}M;OOc)OA3sY7o+`u-d>j} z;EoH!XG&nG(s_M%n)+R)G}D}CaZ9!+#pz_nTp6*JhZI z`7}}mEZk#S`1kbBvKFLA{LbKWOpX@F^~%`PUD|9G#dz#SZ7ru8u2Z273N zUWFw>e#w(fUQ7%+E9m73jH8(1{G>RhqCAek@`#x?yJ*oTWBV+gEMBGTRrrXIV0t#q z^tjjD{6=k@$5(P$uQ7DVhCA<*Bos^i2Io z_MW9@>MDFnNV^!Zr>R^nFU|!j&Ia{e<#fQG2)~`(O4j1PE>e<<0RpvFdYZ)j=|&4T zr?J!DdIi2Xb>%Xg3W2$8VGN$H+j!hGumpG;g7-UR{LR2DJ^|`!c{MHPl5z%-*We9& z&Ld_GTM>_a2@5|iF8&H{|AB8Mcn6=e$rl1Qu|79M!7aFrZ+NSN3|HVite5faeW;}P z53n5Pr5U_;GI^KJ#rt6f@4ZakkI%(>H-q;0" + }, + "label": "Pulse rate", + "instance": { + "openmrs_entity_id": "5087AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept" + }, + "type": "integer" + }, + { + "name": "temperature", + "bind": { + "constraint": ".>0" + }, + "label": "Temperature (C)", + "instance": { + "openmrs_entity_id": "5088AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept" + }, + "type": "decimal" + }, + { + "children": [ + { + "name": "birthplace_lat", + "label": "Latitude", + "instance": { + "openmrs_entity_parent": "birthplace", + "openmrs_entity_id": "latitude", + "openmrs_entity": "person_address" + }, + "type": "text" + }, + { + "name": "birthplace_lon", + "label": "Longitude", + "instance": { + "openmrs_entity_parent": "birthplace", + "openmrs_entity_id": "longitute", + "openmrs_entity": "person_address" + }, + "type": "text" + }, + { + "name": "birthplace_postcode", + "label": "postalCode / postal_code", + "instance": { + "openmrs_entity_parent": "birthplace", + "openmrs_entity_id": "postalcode", + "openmrs_entity": "person_address" + }, + "type": "text" + }, + { + "name": "birthplace_house", + "label": "HOUSE_NUMBER / HOUSE / HOUSE_NO / UNIT / UNIT_NUMBER / UNIT_NO", + "instance": { + "openmrs_entity_parent": "birthplace", + "openmrs_entity_id": "house_number", + "openmrs_entity": "person_address" + }, + "type": "text" + }, + { + "name": "birthplace_street", + "label": "STREET / STREET_NUMBER / LANE", + "instance": { + "openmrs_entity_parent": "birthplace", + "openmrs_entity_id": "street", + "openmrs_entity": "person_address" + }, + "type": "text" + }, + { + "name": "birthplace_area", + "label": "SECTOR / AREA", + "instance": { + "openmrs_entity_parent": "birthplace", + "openmrs_entity_id": "area", + "openmrs_entity": "person_address" + }, + "type": "text" + }, + { + "name": "birthplace_town", + "label": "MUNICIPALITY / TOWN / LOCALITY / REGION", + "instance": { + "openmrs_entity_parent": "birthplace", + "openmrs_entity_id": "town", + "openmrs_entity": "person_address" + }, + "type": "text" + }, + { + "name": "birthplace_busroute", + "label": "Bus route custom field", + "instance": { + "openmrs_entity_parent": "birthplace", + "openmrs_entity_id": "bus_route", + "openmrs_entity": "person_address" + }, + "type": "text" + }, + { + "name": "birthplace_district", + "label": "COUNTY / DISTRICT", + "instance": { + "openmrs_entity_parent": "birthplace", + "openmrs_entity_id": "district", + "openmrs_entity": "person_address" + }, + "type": "text" + }, + { + "name": "birthplace_city", + "label": "CITY / VILLAGE", + "instance": { + "openmrs_entity_parent": "birthplace", + "openmrs_entity_id": "city", + "openmrs_entity": "person_address" + }, + "type": "text" + }, + { + "name": "birthplace_state", + "label": "state / state_province / stateProvince/ province", + "instance": { + "openmrs_entity_parent": "birthplace", + "openmrs_entity_id": "state", + "openmrs_entity": "person_address" + }, + "type": "text" + }, + { + "name": "birthplace_country", + "label": "country", + "instance": { + "openmrs_entity_parent": "birthplace", + "openmrs_entity_id": "country", + "openmrs_entity": "person_address" + }, + "type": "text" + } + ], + "name": "birthplace_address", + "label": "Birthplace", + "type": "group" + }, + { + "children": [ + { + "name": "usual_residence_start", + "label": "When started (startDate / start_date)", + "instance": { + "openmrs_entity_parent": "usual_residence", + "openmrs_entity_id": "startdate", + "openmrs_entity": "person_address" + }, + "type": "date" + }, + { + "name": "usual_residence_lat", + "label": "Latitude", + "instance": { + "openmrs_entity_parent": "usual_residence", + "openmrs_entity_id": "latitude", + "openmrs_entity": "person_address" + }, + "type": "text" + }, + { + "name": "usual_residence_lon", + "label": "Longitude", + "instance": { + "openmrs_entity_parent": "usual_residence", + "openmrs_entity_id": "longitute", + "openmrs_entity": "person_address" + }, + "type": "text" + }, + { + "name": "usual_residence_postcode", + "label": "postalCode / postal_code", + "instance": { + "openmrs_entity_parent": "usual_residence", + "openmrs_entity_id": "postalcode", + "openmrs_entity": "person_address" + }, + "type": "text" + }, + { + "name": "usual_residence_house", + "label": "HOUSE_NUMBER / HOUSE / HOUSE_NO / UNIT / UNIT_NUMBER / UNIT_NO", + "instance": { + "openmrs_entity_parent": "usual_residence", + "openmrs_entity_id": "uniit", + "openmrs_entity": "person_address" + }, + "type": "text" + }, + { + "name": "usual_residence_street", + "label": "STREET / STREET_NUMBER / LANE", + "instance": { + "openmrs_entity_parent": "usual_residence", + "openmrs_entity_id": "lane", + "openmrs_entity": "person_address" + }, + "type": "text" + }, + { + "name": "usual_residence_area", + "label": "SECTOR / AREA", + "instance": { + "openmrs_entity_parent": "usual_residence", + "openmrs_entity_id": "sector", + "openmrs_entity": "person_address" + }, + "type": "text" + }, + { + "name": "usual_residence_town", + "label": "MUNICIPALITY / TOWN / LOCALITY / REGION", + "instance": { + "openmrs_entity_parent": "usual_residence", + "openmrs_entity_id": "municipality", + "openmrs_entity": "person_address" + }, + "type": "text" + }, + { + "name": "usual_residence_district", + "label": "COUNTY / DISTRICT", + "instance": { + "openmrs_entity_parent": "usual_residence", + "openmrs_entity_id": "district", + "openmrs_entity": "person_address" + }, + "type": "text" + }, + { + "name": "usual_residence_city", + "label": "CITY / VILLAGE", + "instance": { + "openmrs_entity_parent": "usual_residence", + "openmrs_entity_id": "city", + "openmrs_entity": "person_address" + }, + "type": "text" + }, + { + "name": "usual_residence_state", + "label": "state / state_province / stateProvince/ province", + "instance": { + "openmrs_entity_parent": "usual_residence", + "openmrs_entity_id": "province", + "openmrs_entity": "person_address" + }, + "type": "text" + }, + { + "name": "usual_residence_country", + "label": "country", + "instance": { + "openmrs_entity_parent": "usual_residence", + "openmrs_entity_id": "country", + "openmrs_entity": "person_address" + }, + "type": "text" + } + ], + "name": "usual_residence_address", + "label": "Usual Residence", + "type": "group" + }, + { + "children": [ + { + "name": "previous_residence_start", + "label": "When started (startDate / start_date)", + "instance": { + "openmrs_entity_parent": "previous_residence", + "openmrs_entity_id": "startdate", + "openmrs_entity": "person_address" + }, + "type": "date" + }, + { + "name": "previous_residence_end", + "label": "When ended (endDate/end_date)", + "instance": { + "openmrs_entity_parent": "previous_residence", + "openmrs_entity_id": "enddate", + "openmrs_entity": "person_address" + }, + "type": "date" + }, + { + "name": "previous_residence_lat", + "label": "Latitude", + "instance": { + "openmrs_entity_parent": "previous_residence", + "openmrs_entity_id": "latitude", + "openmrs_entity": "person_address" + }, + "type": "text" + }, + { + "name": "previous_residence_lon", + "label": "Longitude", + "instance": { + "openmrs_entity_parent": "previous_residence", + "openmrs_entity_id": "longitute", + "openmrs_entity": "person_address" + }, + "type": "text" + }, + { + "name": "previous_residence_postcode", + "label": "postalCode / postal_code", + "instance": { + "openmrs_entity_parent": "previous_residence", + "openmrs_entity_id": "postalcode", + "openmrs_entity": "person_address" + }, + "type": "text" + }, + { + "name": "previous_residence_house", + "label": "HOUSE_NUMBER / HOUSE / HOUSE_NO / UNIT / UNIT_NUMBER / UNIT_NO", + "instance": { + "openmrs_entity_parent": "previous_residence", + "openmrs_entity_id": "house", + "openmrs_entity": "person_address" + }, + "type": "text" + }, + { + "name": "previous_residence_street", + "label": "STREET / STREET_NUMBER / LANE", + "instance": { + "openmrs_entity_parent": "previous_residence", + "openmrs_entity_id": "street", + "openmrs_entity": "person_address" + }, + "type": "text" + }, + { + "name": "previous_residence_area", + "label": "SECTOR / AREA", + "instance": { + "openmrs_entity_parent": "previous_residence", + "openmrs_entity_id": "area", + "openmrs_entity": "person_address" + }, + "type": "text" + }, + { + "name": "previous_residence_town", + "label": "MUNICIPALITY / TOWN / LOCALITY / REGION", + "instance": { + "openmrs_entity_parent": "previous_residence", + "openmrs_entity_id": "region", + "openmrs_entity": "person_address" + }, + "type": "text" + }, + { + "name": "previous_residence_district", + "label": "COUNTY / DISTRICT", + "instance": { + "openmrs_entity_parent": "previous_residence", + "openmrs_entity_id": "county", + "openmrs_entity": "person_address" + }, + "type": "text" + }, + { + "name": "previous_residence_city", + "label": "CITY / VILLAGE", + "instance": { + "openmrs_entity_parent": "previous_residence", + "openmrs_entity_id": "village", + "openmrs_entity": "person_address" + }, + "type": "text" + }, + { + "name": "previous_residence_state", + "label": "state / state_province / stateProvince/ province", + "instance": { + "openmrs_entity_parent": "previous_residence", + "openmrs_entity_id": "state", + "openmrs_entity": "person_address" + }, + "type": "text" + }, + { + "name": "previous_residence_country", + "label": "country", + "instance": { + "openmrs_entity_parent": "previous_residence", + "openmrs_entity_id": "country", + "openmrs_entity": "person_address" + }, + "type": "text" + } + ], + "name": "previous_residence_address", + "label": "Previous Residence", + "type": "group" + }, + { + "children": [ + { + "name": "deathplace_lat", + "label": "Latitude", + "instance": { + "openmrs_entity_parent": "deathplace", + "openmrs_entity_id": "latitude", + "openmrs_entity": "person_address" + }, + "type": "text" + }, + { + "name": "deathplace_lon", + "label": "Longitude", + "instance": { + "openmrs_entity_parent": "deathplace", + "openmrs_entity_id": "longitute", + "openmrs_entity": "person_address" + }, + "type": "text" + }, + { + "name": "deathplace_postcode", + "label": "postalCode / postal_code", + "instance": { + "openmrs_entity_parent": "deathplace", + "openmrs_entity_id": "postal_code", + "openmrs_entity": "person_address" + }, + "type": "text" + }, + { + "name": "deathplace_house", + "label": "HOUSE_NUMBER / HOUSE / HOUSE_NO / UNIT / UNIT_NUMBER / UNIT_NO", + "instance": { + "openmrs_entity_parent": "deathplace", + "openmrs_entity_id": "unit", + "openmrs_entity": "person_address" + }, + "type": "text" + }, + { + "name": "deathplace_street", + "label": "STREET / STREET_NUMBER / LANE", + "instance": { + "openmrs_entity_parent": "deathplace", + "openmrs_entity_id": "lane", + "openmrs_entity": "person_address" + }, + "type": "text" + }, + { + "name": "deathplace_area", + "label": "SECTOR / AREA", + "instance": { + "openmrs_entity_parent": "deathplace", + "openmrs_entity_id": "area", + "openmrs_entity": "person_address" + }, + "type": "text" + }, + { + "name": "deathplace_town", + "label": "MUNICIPALITY / TOWN / LOCALITY / REGION", + "instance": { + "openmrs_entity_parent": "deathplace", + "openmrs_entity_id": "region", + "openmrs_entity": "person_address" + }, + "type": "text" + }, + { + "name": "deathplace_district", + "label": "COUNTY / DISTRICT", + "instance": { + "openmrs_entity_parent": "deathplace", + "openmrs_entity_id": "district", + "openmrs_entity": "person_address" + }, + "type": "text" + }, + { + "name": "deathplace_city", + "label": "CITY / VILLAGE", + "instance": { + "openmrs_entity_parent": "deathplace", + "openmrs_entity_id": "city", + "openmrs_entity": "person_address" + }, + "type": "text" + }, + { + "name": "deathplace_state", + "label": "state / state_province / stateProvince/ province", + "instance": { + "openmrs_entity_parent": "deathplace", + "openmrs_entity_id": "state_province", + "openmrs_entity": "person_address" + }, + "type": "text" + }, + { + "name": "deathplace_country", + "label": "country", + "instance": { + "openmrs_entity_parent": "deathplace", + "openmrs_entity_id": "country", + "openmrs_entity": "person_address" + }, + "type": "text" + } + ], + "name": "deathplace_address", + "label": "Death Place", + "type": "group" + }, + { + "name": "today", + "type": "today" + }, + { + "name": "start", + "type": "start" + }, + { + "name": "end", + "type": "end" + }, + { + "control": { + "bodyless": true + }, + "children": [ + { + "name": "instanceID", + "bind": { + "readonly": "true()", + "calculate": "concat('uuid:', uuid())" + }, + "type": "calculate" + } + ], + "name": "meta", + "type": "group" + } + ], + "instance": { + "encounter_type": "patient_register" + }, + "version": "201504030905", + "type": "survey", + "name": "register_with_address", + "sms_keyword": "patient_basic_reg", + "title": "Patient Registration" +} \ No newline at end of file diff --git a/opensrp-core/bin/src/test/resources/form/basic_reg/form.xml b/opensrp-core/bin/src/test/resources/form/basic_reg/form.xml new file mode 100644 index 0000000000..8926f192ec --- /dev/null +++ b/opensrp-core/bin/src/test/resources/form/basic_reg/form.xml @@ -0,0 +1,287 @@ +
+ +

+

Register with address

+ + + + +
+
+ + Location of ANC + * + +
+ + +
+
+
+ + + +
+

+ Birthplace +

+ + + + + + + + + + + + +
+ +
+

+ Usual Residence +

+ + + + + + + + + + + + +
+ +
+

+ Previous Residence +

+ + + + + + + + + + + + + +
+ +
+

+ Death Place +

+ + + + + + + + + + + +
+ + + + \ No newline at end of file diff --git a/opensrp-core/bin/src/test/resources/form/basic_reg/form_definition.json b/opensrp-core/bin/src/test/resources/form/basic_reg/form_definition.json new file mode 100644 index 0000000000..c6be057f92 --- /dev/null +++ b/opensrp-core/bin/src/test/resources/form/basic_reg/form_definition.json @@ -0,0 +1,245 @@ +{ + "form_data_definition_version": "1", + "form": { + "bind_type": "register_with_address", + "default_bind_path": "/model/instance/register_with_address/", + "fields": [ + { + "name": "woman_name", + "bind": "/model/instance/register_with_address/woman_name" + }, + { + "name": "last_name", + "bind": "/model/instance/register_with_address/last_name" + }, + { + "name": "gender", + "bind": "/model/instance/register_with_address/gender" + }, + { + "name": "birthdate", + "bind": "/model/instance/register_with_address/birthdate" + }, + { + "name": "location", + "bind": "/model/instance/register_with_address/location" + }, + { + "name": "anc_visit_date", + "bind": "/model/instance/register_with_address/anc_visit_date" + }, + { + "name": "pulse_rate", + "bind": "/model/instance/register_with_address/pulse_rate" + }, + { + "name": "temperature", + "bind": "/model/instance/register_with_address/temperature" + }, + { + "name": "birthplace_lat", + "bind": "/model/instance/register_with_address/birthplace_address/birthplace_lat" + }, + { + "name": "birthplace_lon", + "bind": "/model/instance/register_with_address/birthplace_address/birthplace_lon" + }, + { + "name": "birthplace_postcode", + "bind": "/model/instance/register_with_address/birthplace_address/birthplace_postcode" + }, + { + "name": "birthplace_house", + "bind": "/model/instance/register_with_address/birthplace_address/birthplace_house" + }, + { + "name": "birthplace_street", + "bind": "/model/instance/register_with_address/birthplace_address/birthplace_street" + }, + { + "name": "birthplace_area", + "bind": "/model/instance/register_with_address/birthplace_address/birthplace_area" + }, + { + "name": "birthplace_town", + "bind": "/model/instance/register_with_address/birthplace_address/birthplace_town" + }, + { + "name": "birthplace_busroute", + "bind": "/model/instance/register_with_address/birthplace_address/birthplace_busroute" + }, + { + "name": "birthplace_district", + "bind": "/model/instance/register_with_address/birthplace_address/birthplace_district" + }, + { + "name": "birthplace_city", + "bind": "/model/instance/register_with_address/birthplace_address/birthplace_city" + }, + { + "name": "birthplace_state", + "bind": "/model/instance/register_with_address/birthplace_address/birthplace_state" + }, + { + "name": "birthplace_country", + "bind": "/model/instance/register_with_address/birthplace_address/birthplace_country" + }, + { + "name": "usual_residence_start", + "bind": "/model/instance/register_with_address/usual_residence_address/usual_residence_start" + }, + { + "name": "usual_residence_lat", + "bind": "/model/instance/register_with_address/usual_residence_address/usual_residence_lat" + }, + { + "name": "usual_residence_lon", + "bind": "/model/instance/register_with_address/usual_residence_address/usual_residence_lon" + }, + { + "name": "usual_residence_postcode", + "bind": "/model/instance/register_with_address/usual_residence_address/usual_residence_postcode" + }, + { + "name": "usual_residence_house", + "bind": "/model/instance/register_with_address/usual_residence_address/usual_residence_house" + }, + { + "name": "usual_residence_street", + "bind": "/model/instance/register_with_address/usual_residence_address/usual_residence_street" + }, + { + "name": "usual_residence_area", + "bind": "/model/instance/register_with_address/usual_residence_address/usual_residence_area" + }, + { + "name": "usual_residence_town", + "bind": "/model/instance/register_with_address/usual_residence_address/usual_residence_town" + }, + { + "name": "usual_residence_district", + "bind": "/model/instance/register_with_address/usual_residence_address/usual_residence_district" + }, + { + "name": "usual_residence_city", + "bind": "/model/instance/register_with_address/usual_residence_address/usual_residence_city" + }, + { + "name": "usual_residence_state", + "bind": "/model/instance/register_with_address/usual_residence_address/usual_residence_state" + }, + { + "name": "usual_residence_country", + "bind": "/model/instance/register_with_address/usual_residence_address/usual_residence_country" + }, + { + "name": "previous_residence_start", + "bind": "/model/instance/register_with_address/previous_residence_address/previous_residence_start" + }, + { + "name": "previous_residence_end", + "bind": "/model/instance/register_with_address/previous_residence_address/previous_residence_end" + }, + { + "name": "previous_residence_lat", + "bind": "/model/instance/register_with_address/previous_residence_address/previous_residence_lat" + }, + { + "name": "previous_residence_lon", + "bind": "/model/instance/register_with_address/previous_residence_address/previous_residence_lon" + }, + { + "name": "previous_residence_postcode", + "bind": "/model/instance/register_with_address/previous_residence_address/previous_residence_postcode" + }, + { + "name": "previous_residence_house", + "bind": "/model/instance/register_with_address/previous_residence_address/previous_residence_house" + }, + { + "name": "previous_residence_street", + "bind": "/model/instance/register_with_address/previous_residence_address/previous_residence_street" + }, + { + "name": "previous_residence_area", + "bind": "/model/instance/register_with_address/previous_residence_address/previous_residence_area" + }, + { + "name": "previous_residence_town", + "bind": "/model/instance/register_with_address/previous_residence_address/previous_residence_town" + }, + { + "name": "previous_residence_district", + "bind": "/model/instance/register_with_address/previous_residence_address/previous_residence_district" + }, + { + "name": "previous_residence_city", + "bind": "/model/instance/register_with_address/previous_residence_address/previous_residence_city" + }, + { + "name": "previous_residence_state", + "bind": "/model/instance/register_with_address/previous_residence_address/previous_residence_state" + }, + { + "name": "previous_residence_country", + "bind": "/model/instance/register_with_address/previous_residence_address/previous_residence_country" + }, + { + "name": "deathplace_lat", + "bind": "/model/instance/register_with_address/deathplace_address/deathplace_lat" + }, + { + "name": "deathplace_lon", + "bind": "/model/instance/register_with_address/deathplace_address/deathplace_lon" + }, + { + "name": "deathplace_postcode", + "bind": "/model/instance/register_with_address/deathplace_address/deathplace_postcode" + }, + { + "name": "deathplace_house", + "bind": "/model/instance/register_with_address/deathplace_address/deathplace_house" + }, + { + "name": "deathplace_street", + "bind": "/model/instance/register_with_address/deathplace_address/deathplace_street" + }, + { + "name": "deathplace_area", + "bind": "/model/instance/register_with_address/deathplace_address/deathplace_area" + }, + { + "name": "deathplace_town", + "bind": "/model/instance/register_with_address/deathplace_address/deathplace_town" + }, + { + "name": "deathplace_district", + "bind": "/model/instance/register_with_address/deathplace_address/deathplace_district" + }, + { + "name": "deathplace_city", + "bind": "/model/instance/register_with_address/deathplace_address/deathplace_city" + }, + { + "name": "deathplace_state", + "bind": "/model/instance/register_with_address/deathplace_address/deathplace_state" + }, + { + "name": "deathplace_country", + "bind": "/model/instance/register_with_address/deathplace_address/deathplace_country" + }, + { + "name": "today", + "bind": "/model/instance/register_with_address/today" + }, + { + "name": "start", + "bind": "/model/instance/register_with_address/start" + }, + { + "name": "end", + "bind": "/model/instance/register_with_address/end" + } + ] + } +} \ No newline at end of file diff --git a/opensrp-core/bin/src/test/resources/form/basic_reg/form_submission.json b/opensrp-core/bin/src/test/resources/form/basic_reg/form_submission.json new file mode 100644 index 0000000000..84c463821c --- /dev/null +++ b/opensrp-core/bin/src/test/resources/form/basic_reg/form_submission.json @@ -0,0 +1,254 @@ +{ + "anmId": "admin", + "instanceId": "88ceee24-10b4-44c2-9429-754b8d823776", + "clientVersion": "1426830449320", + "entityId": "b716d938-1aea-40ae-a081-9ddddddcccc9", + "formDataDefinitionVersion": "1", + "formName": "basic_reg", + "formInstance": { + "form_data_definition_version": "1", + "form": { + "bind_type": "register_with_address", + "default_bind_path": "/model/instance/register_with_address/", + "fields": [ + { + "name": "woman_name", + "value": "test woman_name" + }, + { + "name": "last_name", + "value": "test last_name" + }, + { + "name": "gender", + "value": "FEMALE" + }, + { + "name": "birthdate", + "value": "2015-02-01" + }, + { + "name": "location", + "value": "unknown location" + }, + { + "name": "anc_visit_date", + "value": "2015-02-01" + }, + { + "name": "pulse_rate", + "value": "55" + }, + { + "name": "temperature", + "value": "37" + }, + { + "name": "birthplace_lat", + "value": "test birthplace_lat" + }, + { + "name": "birthplace_lon", + "value": "test birthplace_lon" + }, + { + "name": "birthplace_postcode", + "value": "test birthplace_postcode" + }, + { + "name": "birthplace_house", + "value": "test birthplace_house" + }, + { + "name": "birthplace_street", + "value": "test birthplace_street" + }, + { + "name": "birthplace_area", + "value": "test birthplace_area" + }, + { + "name": "birthplace_town", + "value": "test birthplace_town" + }, + { + "name": "birthplace_busroute", + "value": "test birthplace_busroute" + }, + { + "name": "birthplace_district", + "value": "test birthplace_district" + }, + { + "name": "birthplace_city", + "value": "test birthplace_city" + }, + { + "name": "birthplace_state", + "value": "test birthplace_state" + }, + { + "name": "birthplace_country", + "value": "test birthplace_country" + }, + { + "name": "usual_residence_start", + "value": "2015-02-01" + }, + { + "name": "usual_residence_lat", + "value": "test usual_residence_lat" + }, + { + "name": "usual_residence_lon", + "value": "test usual_residence_lon" + }, + { + "name": "usual_residence_postcode", + "value": "test usual_residence_postcode" + }, + { + "name": "usual_residence_house", + "value": "test usual_residence_house" + }, + { + "name": "usual_residence_street", + "value": "test usual_residence_street" + }, + { + "name": "usual_residence_area", + "value": "test usual_residence_area" + }, + { + "name": "usual_residence_town", + "value": "test usual_residence_town" + }, + { + "name": "usual_residence_district", + "value": "test usual_residence_district" + }, + { + "name": "usual_residence_city", + "value": "test usual_residence_city" + }, + { + "name": "usual_residence_state", + "value": "test usual_residence_state" + }, + { + "name": "usual_residence_country", + "value": "test usual_residence_country" + }, + { + "name": "previous_residence_start", + "value": "2015-02-01" + }, + { + "name": "previous_residence_end", + "value": "2015-02-01" + }, + { + "name": "previous_residence_lat", + "value": "test previous_residence_lat" + }, + { + "name": "previous_residence_lon", + "value": "test previous_residence_lon" + }, + { + "name": "previous_residence_postcode", + "value": "test previous_residence_postcode" + }, + { + "name": "previous_residence_house", + "value": "test previous_residence_house" + }, + { + "name": "previous_residence_street", + "value": "test previous_residence_street" + }, + { + "name": "previous_residence_area", + "value": "test previous_residence_area" + }, + { + "name": "previous_residence_town", + "value": "test previous_residence_town" + }, + { + "name": "previous_residence_district", + "value": "test previous_residence_district" + }, + { + "name": "previous_residence_city", + "value": "test previous_residence_city" + }, + { + "name": "previous_residence_state", + "value": "test previous_residence_state" + }, + { + "name": "previous_residence_country", + "value": "test previous_residence_country" + }, + { + "name": "deathplace_lat", + "value": "test deathplace_lat" + }, + { + "name": "deathplace_lon", + "value": "test deathplace_lon" + }, + { + "name": "deathplace_postcode", + "value": "test deathplace_postcode" + }, + { + "name": "deathplace_house", + "value": "test deathplace_house" + }, + { + "name": "deathplace_street", + "value": "test deathplace_street" + }, + { + "name": "deathplace_area", + "value": "test deathplace_area" + }, + { + "name": "deathplace_town", + "value": "test deathplace_town" + }, + { + "name": "deathplace_district", + "value": "test deathplace_district" + }, + { + "name": "deathplace_city", + "value": "test deathplace_city" + }, + { + "name": "deathplace_state", + "value": "test deathplace_state" + }, + { + "name": "deathplace_country", + "value": "test deathplace_country" + }, + { + "name": "today", + "value": "2015-02-01" + }, + { + "name": "start", + "value": "2015-02-01" + }, + { + "name": "end", + "value": "2015-02-01" + } + ] + } + }, + "serverVersion": 1430998001293 +} \ No newline at end of file diff --git a/opensrp-core/bin/src/test/resources/form/basic_reg/model.xml b/opensrp-core/bin/src/test/resources/form/basic_reg/model.xml new file mode 100644 index 0000000000..06822afad1 --- /dev/null +++ b/opensrp-core/bin/src/test/resources/form/basic_reg/model.xml @@ -0,0 +1,79 @@ + + + + + + + + + female + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/opensrp-core/bin/src/test/resources/form/child_enrollment/form.json b/opensrp-core/bin/src/test/resources/form/child_enrollment/form.json new file mode 100644 index 0000000000..98878c7e0e --- /dev/null +++ b/opensrp-core/bin/src/test/resources/form/child_enrollment/form.json @@ -0,0 +1 @@ +{"name":"Child_Vaccination_Enrollment","title":"بچّوں کا انرولمنٹ رجسٹر برائے ٹیکاجات - Child Enrollment Vaccination Register","sms_keyword":"child_vaccination_enrollment","default_language":"English","choices":{"provinces":[{"name":"kpk","label":{"Urdu":"خیبر پختون خواہ","English":"Khyber Pakhtunkhwa","Roman Urdu":"Khyber Pakhtunkhwa"}},{"name":"sindh","label":{"Urdu":"سندھ","English":"Sindh","Roman Urdu":"Sindh"}},{"name":"balochistan","label":{"Urdu":"بلوچستان","English":"Balochistan","Roman Urdu":"Balochistan"}},{"name":"punjab","label":{"Urdu":"پنجاب","English":"Punjab","Roman Urdu":"Punjab"}},{"name":"gilgit_baltistan","label":{"Urdu":"گلگت بلتستان","English":"Gilgit Baltistan","Roman Urdu":"Gilgit Baltistan"}},{"name":"kashmir","label":{"Urdu":"کشمیر","English":"Kashmir","Roman Urdu":"Kashmir"}},{"name":"fata","label":{"Urdu":"فاٹا","English":"FATA","Roman Urdu":"FATA"}},{"name":"out_of_country","label":{"Urdu":"ملک سے باہر","English":"Out of Country","Roman Urdu":"Mulk se baahir"}}],"ucs":[{"province":"sindh","city":"karachi","town":"korangi","name":"bilal_colony","label":{"Urdu":"بلال کالونی","Roman Urdu":"Bilal Colony","English":"Bilal Colony"}},{"province":"sindh","city":"karachi","town":"korangi","name":"nasir_colony","label":{"Urdu":"ناصر کالونی","Roman Urdu":"Nasir Colony","English":"Nasir Colony"}},{"province":"sindh","city":"karachi","town":"korangi","name":"chakra_goth","label":{"Urdu":"چکرا گوٹھ","Roman Urdu":"Chakra Goth","English":"Chakra Goth"}},{"province":"sindh","city":"karachi","town":"korangi","name":"mustafa_taj_colony","label":{"Urdu":"مصطفی تاج کالونی","Roman Urdu":"Mustafa Taj Colony","English":"Mustafa Taj Colony"}},{"province":"sindh","city":"karachi","town":"korangi","name":"hundred_quarters","label":{"Urdu":"ہنڈریڈ کوارٹر","Roman Urdu":"Hundred Quarters","English":"Hundred Quarters"}},{"province":"sindh","city":"karachi","town":"korangi","name":"gulzar_colony","label":{"Urdu":"گلزار کالونی","Roman Urdu":"Gulzar Colony","English":"Gulzar Colony"}},{"province":"sindh","city":"karachi","town":"korangi","name":"korangi_sector_33","label":{"Urdu":"کورنگی سیکٹر 33","Roman Urdu":"Korangi Sector 33","English":"Korangi Sector 33"}},{"province":"sindh","city":"karachi","town":"korangi","name":"zaman_town","label":{"Urdu":"زمان ٹاوَن","Roman Urdu":"Zaman Town","English":"Zaman Town"}},{"province":"sindh","city":"karachi","town":"korangi","name":"hasrat_mohani_colony","label":{"Urdu":"حسرت موہانی کالونی","Roman Urdu":"Hasrat Mohani Colony","English":"Hasrat Mohani Colony"}},{"province":"sindh","city":"karachi","town":"baldia","name":"gulshan_e_ghazi","label":{"Urdu":"گلشن غازی","Roman Urdu":"Gulshan-e-Ghazi","English":"Gulshan-e-Ghazi"}},{"province":"sindh","city":"karachi","town":"baldia","name":"ittehad_town","label":{"Urdu":"اتحاد ٹاوَن","Roman Urdu":"Ittehad Town","English":"Ittehad Town"}},{"province":"sindh","city":"karachi","town":"baldia","name":"islam_nagar","label":{"Urdu":"اسلام نگر","Roman Urdu":"Islam Nagar","English":"Islam Nagar"}},{"province":"sindh","city":"karachi","town":"baldia","name":"nai_abadi","label":{"Urdu":"نئی آبادی","Roman Urdu":"Nai Abadi","English":"Nai Abadi"}},{"province":"sindh","city":"karachi","town":"baldia","name":"saeedabad","label":{"Urdu":"سعید آباد","Roman Urdu":"Saeedabad","English":"Saeedabad"}},{"province":"sindh","city":"karachi","town":"baldia","name":"muslim_mujahid_colony","label":{"Urdu":"مسلم مجاہد کالونی","Roman Urdu":"Muslim Mujahid Colony","English":"Muslim Mujahid Colony"}},{"province":"sindh","city":"karachi","town":"baldia","name":"muhajir_camp","label":{"Urdu":"مہاجر کیمپ","Roman Urdu":"Muhajir Camp","English":"Muhajir Camp"}},{"province":"sindh","city":"karachi","town":"baldia","name":"rasheedabad","label":{"Urdu":"رشید آباد","Roman Urdu":"Rasheedabad","English":"Rasheedabad"}},{"province":"sindh","city":"karachi","town":"bin_qasim","name":"ibrahim_hyderi","label":{"Urdu":"ابراہیم حیدری","Roman Urdu":"Ibrahim Hyderi","English":"Ibrahim Hyderi"}},{"province":"sindh","city":"karachi","town":"bin_qasim","name":"rehri","label":{"Urdu":"رہڑی","Roman Urdu":"Rehri","English":"Rehri"}},{"province":"sindh","city":"karachi","town":"bin_qasim","name":"cattle_colony","label":{"Urdu":"کیٹل کالونی","Roman Urdu":"Cattle Colony","English":"Cattle Colony"}},{"province":"sindh","city":"karachi","town":"bin_qasim","name":"qaidabad","label":{"Urdu":"قائدآباد","Roman Urdu":"Qaidabad","English":"Qaidabad"}},{"province":"sindh","city":"karachi","town":"bin_qasim","name":"landhi_colony","label":{"Urdu":"لانڈھی کالونی","Roman Urdu":"Landhi Colony","English":"Landhi Colony"}},{"province":"sindh","city":"karachi","town":"bin_qasim","name":"gulshan_e_hadeed","label":{"Urdu":"گلشن حدید","Roman Urdu":"Gulshan-e-Hadeed","English":"Gulshan-e-Hadeed"}},{"province":"sindh","city":"karachi","town":"bin_qasim","name":"gaghar","label":{"Urdu":"گگر","Roman Urdu":"Gaghar","English":"Gaghar"}},{"province":"sindh","city":"karachi","town":"gadap","name":"murad_memon_goth","label":{"Urdu":"مراد میمن گوٹھ","Roman Urdu":"Murad Memon Goth","English":"Murad Memon Goth"}},{"province":"sindh","city":"karachi","town":"gadap","name":"darsano_chana","label":{"Urdu":"درشانو شنو","Roman Urdu":"Darsano Chana","English":"Darsano Chana"}},{"province":"sindh","city":"karachi","town":"gadap","name":"gujro","label":{"Urdu":"گجرو","Roman Urdu":"Gujro","English":"Gujro"}},{"province":"sindh","city":"karachi","town":"gadap","name":"songal","label":{"Urdu":"سنگل","Roman Urdu":"Songal","English":"Songal"}},{"province":"sindh","city":"karachi","town":"gadap","name":"maymarabad","label":{"Urdu":"معمار آباد","Roman Urdu":"Maymarabad","English":"Maymarabad"}},{"province":"sindh","city":"karachi","town":"gadap","name":"yousuf_goth","label":{"Urdu":"یوسف گوٹھ","Roman Urdu":"Yousuf Goth","English":"Yousuf Goth"}},{"province":"sindh","city":"karachi","town":"gadap","name":"manghopir","label":{"Urdu":"منگھوپیر","Roman Urdu":"Manghopir","English":"Manghopir"}},{"province":"sindh","city":"karachi","town":"gulberg","name":"azizabad","label":{"Urdu":"عزیز آباد","Roman Urdu":"Azizabad","English":"Azizabad"}},{"province":"sindh","city":"karachi","town":"gulberg","name":"karimabad","label":{"Urdu":"کریم آباد","Roman Urdu":"Karimabad","English":"Karimabad"}},{"province":"sindh","city":"karachi","town":"gulberg","name":"aisha_manzil","label":{"Urdu":"عائشہ منزل","Roman Urdu":"Aisha Manzil","English":"Aisha Manzil"}},{"province":"sindh","city":"karachi","town":"gulberg","name":"ancholi","label":{"Urdu":"انچولی","Roman Urdu":"Ancholi","English":"Ancholi"}},{"province":"sindh","city":"karachi","town":"gulberg","name":"naseerabad","label":{"Urdu":"نصیرآباد","Roman Urdu":"Naseerabad","English":"Naseerabad"}},{"province":"sindh","city":"karachi","town":"gulberg","name":"yaseenabad","label":{"Urdu":"یاسین آباد","Roman Urdu":"Yaseenabad","English":"Yaseenabad"}},{"province":"sindh","city":"karachi","town":"gulberg","name":"water_pump","label":{"Urdu":"واٹرپمپ","Roman Urdu":"Water Pump","English":"Water Pump"}},{"province":"sindh","city":"karachi","town":"gulberg","name":"shafiq_mill_colony","label":{"Urdu":"شفیق مل کالونی","Roman Urdu":"Shafiq Mill Colony","English":"Shafiq Mill Colony"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"delhi_mercantile_society","label":{"Urdu":"دہلی مرچنٹائل سوسائٹی","Roman Urdu":"Delhi Mercantile Society","English":"Delhi Mercantile Society"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"civic_centre","label":{"Urdu":"سوک سینٹر","Roman Urdu":"Civic Centre","English":"Civic Centre"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"pir_ilahi_buksh_colony","label":{"Urdu":"پیر الہی بخش کالونی","Roman Urdu":"Pir Ilahi Buksh Colony","English":"Pir Ilahi Buksh Colony"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"essa_nagri","label":{"Urdu":"عیسی نگری","Roman Urdu":"Essa Nagri","English":"Essa Nagri"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"gulshan_e_iqbal","label":{"Urdu":"گلشن اقبال","Roman Urdu":"Gulshan-e-Iqbal","English":"Gulshan-e-Iqbal"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"gillani_railway_station","label":{"Urdu":"گیلانی ریلوے اسٹیشن","Roman Urdu":"Gillani Railway Station","English":"Gillani Railway Station"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"shanti_nagar","label":{"Urdu":"شانتی نگر","Roman Urdu":"Shanti Nagar","English":"Shanti Nagar"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"jamali_colony","label":{"Urdu":"جمالی کالونی","Roman Urdu":"Jamali Colony","English":"Jamali Colony"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"gulshan_e_iqbal_ii","label":{"Urdu":"گلشن اقبال 2","Roman Urdu":"Gulshan-e-Iqbal II","English":"Gulshan-e-Iqbal II"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"pehlwan_goth","label":{"Urdu":"پہلوان گوٹھ","Roman Urdu":"Pehlwan Goth","English":"Pehlwan Goth"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"matrovil_colony","label":{"Urdu":"میٹروویل کالونی","Roman Urdu":"Matrovil Colony","English":"Matrovil Colony"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"gulzar_e_hijri","label":{"Urdu":"گلزار ہجری","Roman Urdu":"Gulzar-e-Hijri","English":"Gulzar-e-Hijri"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"safooran_goth","label":{"Urdu":"صفورا گوٹھ","Roman Urdu":"Safooran Goth","English":"Safooran Goth"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"akhtar_colony","label":{"Urdu":"اختر کالونی","Roman Urdu":"Akhtar Colony","English":"Akhtar Colony"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"manzoor_colony","label":{"Urdu":"منظور کالونی","Roman Urdu":"Manzoor Colony","English":"Manzoor Colony"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"azam_basti","label":{"Urdu":"اعظم بستی","Roman Urdu":"Azam Basti","English":"Azam Basti"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"chanesar_goth","label":{"Urdu":"چنیسر گوٹھ","Roman Urdu":"Chanesar Goth","English":"Chanesar Goth"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"mahmudabad","label":{"Urdu":"محمودآباد","Roman Urdu":"Mahmudabad","English":"Mahmudabad"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"pechs","label":{"Urdu":"پی۔ای۔سی۔ایچ۔ایس","Roman Urdu":"P.E.C.H.S.","English":"P.E.C.H.S."}},{"province":"sindh","city":"karachi","town":"jamshed","name":"pechs_ii","label":{"Urdu":"پی۔ای۔سی۔ایچ۔ایس 2","Roman Urdu":"P.E.C.H.S. II","English":"P.E.C.H.S. II"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"jut_line","label":{"Urdu":"جٹ لائن","Roman Urdu":"Jut Line","English":"Jut Line"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"central_jacob_lines","label":{"Urdu":"سینٹرل جیکب لائن","Roman Urdu":"Central Jacob Lines","English":"Central Jacob Lines"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"jamshed_quarters","label":{"Urdu":"جمشید کوارٹر","Roman Urdu":"Jamshed Quarters","English":"Jamshed Quarters"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"garden_east","label":{"Urdu":"گارڈن ایسٹ","Roman Urdu":"Garden East","English":"Garden East"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"soldier_bazar","label":{"Urdu":"سولجر بازار","Roman Urdu":"Soldier Bazar","English":"Soldier Bazar"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"pakistan_quarters","label":{"Urdu":"پاکستان کوارٹر","Roman Urdu":"Pakistan Quarters","English":"Pakistan Quarters"}},{"province":"sindh","city":"karachi","town":"kiamari","name":"bhutta_village","label":{"Urdu":"بھٹا ولیج","Roman Urdu":"Bhutta Village","English":"Bhutta Village"}},{"province":"sindh","city":"karachi","town":"kiamari","name":"sultanabad","label":{"Urdu":"سلطان آباد","Roman Urdu":"Sultanabad","English":"Sultanabad"}},{"province":"sindh","city":"karachi","town":"kiamari","name":"kiamari_uc","label":{"Urdu":"کیماری یو- سی","Roman Urdu":"Kiamari UC","English":"Kiamari UC"}},{"province":"sindh","city":"karachi","town":"kiamari","name":"baba_bhit","label":{"Urdu":"بابا بھٹ","Roman Urdu":"Baba Bhit","English":"Baba Bhit"}},{"province":"sindh","city":"karachi","town":"kiamari","name":"machar_colony","label":{"Urdu":"مچھر کالونی","Roman Urdu":"Machar Colony","English":"Machar Colony"}},{"province":"sindh","city":"karachi","town":"kiamari","name":"maripur","label":{"Urdu":"ماڑی پور","Roman Urdu":"Maripur","English":"Maripur"}},{"province":"sindh","city":"karachi","town":"kiamari","name":"shershah","label":{"Urdu":"شیرشاہ","Roman Urdu":"SherShah","English":"SherShah"}},{"province":"sindh","city":"karachi","town":"kiamari","name":"gabo_pat","label":{"Urdu":"گابو پٹ","Roman Urdu":"Gabo Pat","English":"Gabo Pat"}},{"province":"sindh","city":"karachi","town":"landhi","name":"muzafarabad","label":{"Urdu":"مظفرآباد","Roman Urdu":"Muzafarabad","English":"Muzafarabad"}},{"province":"sindh","city":"karachi","town":"landhi","name":"muslimabad","label":{"Urdu":"مسلم آباد","Roman Urdu":"Muslimabad","English":"Muslimabad"}},{"province":"sindh","city":"karachi","town":"landhi","name":"dawood_chowrangi","label":{"Urdu":"داوَد چورنگی","Roman Urdu":"Dawood Chowrangi","English":"Dawood Chowrangi"}},{"province":"sindh","city":"karachi","town":"landhi","name":"moinabad","label":{"Urdu":"معین آباد","Roman Urdu":"Moinabad","English":"Moinabad"}},{"province":"sindh","city":"karachi","town":"landhi","name":"sharafi_goth","label":{"Urdu":"شرافی گوٹھ","Roman Urdu":"Sharafi Goth","English":"Sharafi Goth"}},{"province":"sindh","city":"karachi","town":"landhi","name":"bhutto_nagar","label":{"Urdu":"بھٹو نگر","Roman Urdu":"Bhutto Nagar","English":"Bhutto Nagar"}},{"province":"sindh","city":"karachi","town":"landhi","name":"khawaja_ajmeer_colony","label":{"Urdu":"خواجہ اجمیر کالونی","Roman Urdu":"Khawaja Ajmeer Colony","English":"Khawaja Ajmeer Colony"}},{"province":"sindh","city":"karachi","town":"landhi","name":"landhi_uc","label":{"Urdu":"لانڈھی یوسی","Roman Urdu":"Landhi UC","English":"Landhi UC"}},{"province":"sindh","city":"karachi","town":"landhi","name":"awami_colony","label":{"Urdu":"عوامی کالونی","Roman Urdu":"Awami Colony","English":"Awami Colony"}},{"province":"sindh","city":"karachi","town":"landhi","name":"burmee_colony","label":{"Urdu":"برمی کالونی","Roman Urdu":"Burmee Colony","English":"Burmee Colony"}},{"province":"sindh","city":"karachi","town":"landhi","name":"korangi_uc","label":{"Urdu":"کورنگی یوسی","Roman Urdu":"Korangi UC","English":"Korangi UC"}},{"province":"sindh","city":"karachi","town":"landhi","name":"sherabad","label":{"Urdu":"شیرآباد","Roman Urdu":"Sherabad","English":"Sherabad"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"rizvia_society","label":{"Urdu":"رضویہ سوسائٹی","Roman Urdu":"Rizvia Society","English":"Rizvia Society"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"firdous_colony","label":{"Urdu":"فردوس کالونی","Roman Urdu":"Firdous Colony","English":"Firdous Colony"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"super_market","label":{"Urdu":"سپر مارکیٹ","Roman Urdu":"Super Market","English":"Super Market"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"dak_khana","label":{"Urdu":"دک کھانہ","Roman Urdu":"Dak Khana","English":"Dak Khana"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"qasimabad","label":{"Urdu":"قاسم آباد","Roman Urdu":"Qasimabad","English":"Qasimabad"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"bandhani_colony","label":{"Urdu":"بندھانی کالونی","Roman Urdu":"Bandhani Colony","English":"Bandhani Colony"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"sharifabad","label":{"Urdu":"شریف آباد","Roman Urdu":"Sharifabad","English":"Sharifabad"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"commercial_area","label":{"Urdu":"کمرشل ایریا","Roman Urdu":"Commercial Area","English":"Commercial Area"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"mujahid_colony","label":{"Urdu":"مجاہد کالونی","Roman Urdu":"Mujahid Colony","English":"Mujahid Colony"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"nazimabad","label":{"Urdu":"ناظم آباد","Roman Urdu":"Nazimabad","English":"Nazimabad"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"abbasi_shaheed","label":{"Urdu":"عباسی شہید","Roman Urdu":"Abbasi Shaheed","English":"Abbasi Shaheed"}},{"province":"sindh","city":"karachi","town":"lyari","name":"agra_taj_colony","label":{"Urdu":"آگرہ تاج کالونی","Roman Urdu":"Agra Taj Colony","English":"Agra Taj Colony"}},{"province":"sindh","city":"karachi","town":"lyari","name":"daryaabad","label":{"Urdu":"دریاآباد","Roman Urdu":"Daryaabad","English":"Daryaabad"}},{"province":"sindh","city":"karachi","town":"lyari","name":"nawabad","label":{"Urdu":"نواآباد","Roman Urdu":"Nawabad","English":"Nawabad"}},{"province":"sindh","city":"karachi","town":"lyari","name":"khada_memon_society","label":{"Urdu":"خدا- میمن- سوساَٹی","Roman Urdu":"Khada Memon Society","English":"Khada Memon Society"}},{"province":"sindh","city":"karachi","town":"lyari","name":"baghdadi","label":{"Urdu":"بغدادی","Roman Urdu":"Baghdadi","English":"Baghdadi"}},{"province":"sindh","city":"karachi","town":"lyari","name":"shah_baig_line","label":{"Urdu":"شاھ باغ لائن","Roman Urdu":"Shah Baig Line","English":"Shah Baig Line"}},{"province":"sindh","city":"karachi","town":"lyari","name":"bihar_colony","label":{"Urdu":"بہار کالونی","Roman Urdu":"Bihar Colony","English":"Bihar Colony"}},{"province":"sindh","city":"karachi","town":"lyari","name":"ragiwara","label":{"Urdu":"راگی واڑا","Roman Urdu":"Ragiwara","English":"Ragiwara"}},{"province":"sindh","city":"karachi","town":"lyari","name":"singo_line","label":{"Urdu":"سنگولائن","Roman Urdu":"Singo Line","English":"Singo Line"}},{"province":"sindh","city":"karachi","town":"lyari","name":"chakiwara","label":{"Urdu":"چاکی واڑا","Roman Urdu":"Chakiwara","English":"Chakiwara"}},{"province":"sindh","city":"karachi","town":"lyari","name":"allama_iqbal_colony","label":{"Urdu":"علامہ اقبال کالونی","Roman Urdu":"Allama Iqbal Colony","English":"Allama Iqbal Colony"}},{"province":"sindh","city":"karachi","town":"malir","name":"model_colony","label":{"Urdu":"موڈل کالونی","Roman Urdu":"Model Colony","English":"Model Colony"}},{"province":"sindh","city":"karachi","town":"malir","name":"kala_board","label":{"Urdu":"کالا بورڈ","Roman Urdu":"Kala Board","English":"Kala Board"}},{"province":"sindh","city":"karachi","town":"malir","name":"saudabad","label":{"Urdu":"سعودآباد","Roman Urdu":"Saudabad","English":"Saudabad"}},{"province":"sindh","city":"karachi","town":"malir","name":"khokhra_par","label":{"Urdu":"کھوکھرا پار","Roman Urdu":"Khokhra Par","English":"Khokhra Par"}},{"province":"sindh","city":"karachi","town":"malir","name":"jafar_e_tayyar","label":{"Urdu":"جعفر تیار","Roman Urdu":"Jafar-e-Tayyar","English":"Jafar-e-Tayyar"}},{"province":"sindh","city":"karachi","town":"malir","name":"gharibabad","label":{"Urdu":"غریب آباد","Roman Urdu":"Gharibabad","English":"Gharibabad"}},{"province":"sindh","city":"karachi","town":"malir","name":"ghazi_brohi_goth","label":{"Urdu":"غازی بروہی گوٹھ","Roman Urdu":"Ghazi Brohi Goth","English":"Ghazi Brohi Goth"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"kalyana","label":{"Urdu":"کالیانہ","Roman Urdu":"Kalyana","English":"Kalyana"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"sir_syed_colony","label":{"Urdu":"سر سید کالونی","Roman Urdu":"Sir Syed Colony","English":"Sir Syed Colony"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"fatima_jinnah_colony","label":{"Urdu":"فاطمہ جناح کالونی","Roman Urdu":"Fatima Jinnah Colony","English":"Fatima Jinnah Colony"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"godhra","label":{"Urdu":"گودھرا","Roman Urdu":"Godhra","English":"Godhra"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"abu_zar_ghaffari","label":{"Urdu":"ابو زر غفاری","Roman Urdu":"Abu Zar Ghaffari","English":"Abu Zar Ghaffari"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"hakim_ahsan","label":{"Urdu":"حاکم احسان","Roman Urdu":"Hakim Ahsan","English":"Hakim Ahsan"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"madina_colony","label":{"Urdu":"مدینہ کالونی","Roman Urdu":"Madina Colony","English":"Madina Colony"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"faisal_colony","label":{"Urdu":"فیصل کالونی","Roman Urdu":"Faisal Colony","English":"Faisal Colony"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"khamiso_goth","label":{"Urdu":"خمیسو گوٹھ","Roman Urdu":"Khamiso Goth","English":"Khamiso Goth"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"mustufa_colony","label":{"Urdu":"مصطفی کالونی","Roman Urdu":"Mustufa Colony","English":"Mustufa Colony"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"khawaja_ajmeer_nagri","label":{"Urdu":"خواجہ اجمیر نگری","Roman Urdu":"Khawaja Ajmeer Nagri","English":"Khawaja Ajmeer Nagri"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"gulshan_e_saeed","label":{"Urdu":"گلشن سعید","Roman Urdu":"Gulshan-e-Saeed","English":"Gulshan-e-Saeed"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"shah_nawaz_bhutto_colony","label":{"Urdu":"شاہ نواز بھٹو کالونی","Roman Urdu":"Shah Nawaz Bhutto Colony","English":"Shah Nawaz Bhutto Colony"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"paposh_nagar","label":{"Urdu":"پاپوش نگر","Roman Urdu":"Paposh Nagar","English":"Paposh Nagar"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"pahar_ganj","label":{"Urdu":"پہاڑ گنج","Roman Urdu":"Pahar Ganj","English":"Pahar Ganj"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"khandu_goth","label":{"Urdu":"کھنڑو گوٹھ","Roman Urdu":"Khandu Goth","English":"Khandu Goth"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"hyderi","label":{"Urdu":"حیدری","Roman Urdu":"Hyderi","English":"Hyderi"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"sakhi_hassan","label":{"Urdu":"سخی حسن","Roman Urdu":"Sakhi Hassan","English":"Sakhi Hassan"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"farooq_e_azam","label":{"Urdu":"فاروق اعظم","Roman Urdu":"Farooq-e-Azam","English":"Farooq-e-Azam"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"nusrat_bhutto_colony","label":{"Urdu":"نصرت بھٹو کالونی","Roman Urdu":"Nusrat Bhutto Colony","English":"Nusrat Bhutto Colony"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"shadman_town","label":{"Urdu":"شادمان ٹاوَن","Roman Urdu":"Shadman Town","English":"Shadman Town"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"buffer_zone","label":{"Urdu":"بفرزون","Roman Urdu":"Buffer Zone","English":"Buffer Zone"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"buffer_zone_ii","label":{"Urdu":"بفرزون 2","Roman Urdu":"Buffer Zone II","English":"Buffer Zone II"}},{"province":"sindh","city":"karachi","town":"orangi","name":"mominabad","label":{"Urdu":"مومن آباد","Roman Urdu":"Mominabad","English":"Mominabad"}},{"province":"sindh","city":"karachi","town":"orangi","name":"haryana_colony","label":{"Urdu":"حریانہ کالونی","Roman Urdu":"Haryana Colony","English":"Haryana Colony"}},{"province":"sindh","city":"karachi","town":"orangi","name":"hanifabad","label":{"Urdu":"حنیف آباد","Roman Urdu":"Hanifabad","English":"Hanifabad"}},{"province":"sindh","city":"karachi","town":"orangi","name":"mohammad_nagar","label":{"Urdu":"محمد نگر","Roman Urdu":"Mohammad Nagar","English":"Mohammad Nagar"}},{"province":"sindh","city":"karachi","town":"orangi","name":"madina_colony_orangi","label":{"Urdu":"مدینہ کالونی اورنگی","Roman Urdu":"Madina Colony Orangi","English":"Madina Colony Orangi"}},{"province":"sindh","city":"karachi","town":"orangi","name":"ghaziabad","label":{"Urdu":"غازی آباد","Roman Urdu":"Ghaziabad","English":"Ghaziabad"}},{"province":"sindh","city":"karachi","town":"orangi","name":"chisti_nagar","label":{"Urdu":"چشتی نگر","Roman Urdu":"Chisti Nagar","English":"Chisti Nagar"}},{"province":"sindh","city":"karachi","town":"orangi","name":"bilal_colony_orangi","label":{"Urdu":"بلال کالونی اورنگی","Roman Urdu":"Bilal Colony Orangi","English":"Bilal Colony Orangi"}},{"province":"sindh","city":"karachi","town":"orangi","name":"iqbal_baloch_colony","label":{"Urdu":"اقبال بلوچ کالونی","Roman Urdu":"Iqbal Baloch Colony","English":"Iqbal Baloch Colony"}},{"province":"sindh","city":"karachi","town":"orangi","name":"ghabool_town","label":{"Urdu":"گبول ٹاوَن","Roman Urdu":"Ghabool Town","English":"Ghabool Town"}},{"province":"sindh","city":"karachi","town":"orangi","name":"data_nagar","label":{"Urdu":"داتا نگر","Roman Urdu":"Data Nagar","English":"Data Nagar"}},{"province":"sindh","city":"karachi","town":"orangi","name":"mujahidabad","label":{"Urdu":"مجاہد آباد","Roman Urdu":"Mujahidabad","English":"Mujahidabad"}},{"province":"sindh","city":"karachi","town":"orangi","name":"baloch_goth","label":{"Urdu":"بلوچ گوٹھ","Roman Urdu":"Baloch Goth","English":"Baloch Goth"}},{"province":"sindh","city":"karachi","town":"saddar","name":"old_haji_camp","label":{"Urdu":"پرانہ حاجی کیمپ","Roman Urdu":"Old Haji Camp","English":"Old Haji Camp"}},{"province":"sindh","city":"karachi","town":"saddar","name":"garden","label":{"Urdu":"گارڈن","Roman Urdu":"Garden","English":"Garden"}},{"province":"sindh","city":"karachi","town":"saddar","name":"kharadar","label":{"Urdu":"کھارادر","Roman Urdu":"Kharadar","English":"Kharadar"}},{"province":"sindh","city":"karachi","town":"saddar","name":"city_railway_colony","label":{"Urdu":"سٹی ریلوے کالونی","Roman Urdu":"City Railway Colony","English":"City Railway Colony"}},{"province":"sindh","city":"karachi","town":"saddar","name":"nanak_wara","label":{"Urdu":"ناناک واڑا","Roman Urdu":"Nanak Wara","English":"Nanak Wara"}},{"province":"sindh","city":"karachi","town":"saddar","name":"gazdarabad","label":{"Urdu":"گزدرآباد","Roman Urdu":"Gazdarabad","English":"Gazdarabad"}},{"province":"sindh","city":"karachi","town":"saddar","name":"millat_nagar_islam_pura","label":{"Urdu":"ملت نگر اسلام پورا","Roman Urdu":"Millat Nagar/Islam Pura","English":"Millat Nagar/Islam Pura"}},{"province":"sindh","city":"karachi","town":"saddar","name":"saddar_uc","label":{"Urdu":"صدر یو سی","Roman Urdu":"Saddar UC","English":"Saddar UC"}},{"province":"sindh","city":"karachi","town":"saddar","name":"civil_line","label":{"Urdu":"سول لائن","Roman Urdu":"Civil Line","English":"Civil Line"}},{"province":"sindh","city":"karachi","town":"saddar","name":"clifton","label":{"Urdu":"کلفٹن","Roman Urdu":"Clifton","English":"Clifton"}},{"province":"sindh","city":"karachi","town":"saddar","name":"kehkashan","label":{"Urdu":"کہکشان","Roman Urdu":"Kehkashan","English":"Kehkashan"}},{"province":"sindh","city":"karachi","town":"shah_faisal","name":"natha_khan_goth","label":{"Urdu":"ناتھا خان گوٹھ","Roman Urdu":"Natha Khan Goth","English":"Natha Khan Goth"}},{"province":"sindh","city":"karachi","town":"shah_faisal","name":"pak_sadat_colony","label":{"Urdu":"پاک صدر کالونی","Roman Urdu":"Pak Sadat Colony","English":"Pak Sadat Colony"}},{"province":"sindh","city":"karachi","town":"shah_faisal","name":"drigh_colony","label":{"Urdu":"ڈرگ کالونی","Roman Urdu":"Drigh Colony","English":"Drigh Colony"}},{"province":"sindh","city":"karachi","town":"shah_faisal","name":"raita_plot","label":{"Urdu":"رائتا پلاٹ","Roman Urdu":"Raita Plot","English":"Raita Plot"}},{"province":"sindh","city":"karachi","town":"shah_faisal","name":"moria_khan_goth","label":{"Urdu":"موریا خان گوٹھ","Roman Urdu":"Moria Khan Goth","English":"Moria Khan Goth"}},{"province":"sindh","city":"karachi","town":"shah_faisal","name":"rafa_e_aam_society","label":{"Urdu":"رفا عام سوسا ئٹی","Roman Urdu":"Rafa-e-Aam Society","English":"Rafa-e-Aam Society"}},{"province":"sindh","city":"karachi","town":"shah_faisal","name":"al_falah_society","label":{"Urdu":"الفلاح سوسا ئٹی","Roman Urdu":"Al-Falah Society","English":"Al-Falah Society"}},{"province":"sindh","city":"karachi","town":"site","name":"pak_colony","label":{"Urdu":"پاک کالونی","Roman Urdu":"Pak Colony","English":"Pak Colony"}},{"province":"sindh","city":"karachi","town":"site","name":"old_golimar","label":{"Urdu":"پرانہ گولی مار","Roman Urdu":"Old Golimar","English":"Old Golimar"}},{"province":"sindh","city":"karachi","town":"site","name":"jahanabad","label":{"Urdu":"جہان آباد","Roman Urdu":"Jahanabad","English":"Jahanabad"}},{"province":"sindh","city":"karachi","town":"site","name":"metrovil","label":{"Urdu":"میٹروویل","Roman Urdu":"Metrovil","English":"Metrovil"}},{"province":"sindh","city":"karachi","town":"site","name":"bhawani_chali","label":{"Urdu":"بہوانی چالی","Roman Urdu":"Bhawani Chali","English":"Bhawani Chali"}},{"province":"sindh","city":"karachi","town":"site","name":"frontier_colony","label":{"Urdu":"فرونٹر کالونی","Roman Urdu":"Frontier Colony","English":"Frontier Colony"}},{"province":"sindh","city":"karachi","town":"site","name":"banaras_colony","label":{"Urdu":"بنارس کالونی","Roman Urdu":"Banaras Colony","English":"Banaras Colony"}},{"province":"sindh","city":"karachi","town":"site","name":"qasba_colony","label":{"Urdu":"قصبہ کالونی","Roman Urdu":"Qasba Colony","English":"Qasba Colony"}},{"province":"sindh","city":"karachi","town":"site","name":"islamia_colony","label":{"Urdu":"اسلامیہ کالونی","Roman Urdu":"Islamia Colony","English":"Islamia Colony"}},{"province":"na","city":"na","town":"na","name":"other","label":{"Urdu":"دیگر","Roman Urdu":"Deegar","English":"Other"}},{"province":"na","city":"na","town":"na","name":"not_applicable","label":{"Urdu":"قابل اطلاق نہیں","Roman Urdu":"Qaabil-e-atlaaq nahi","English":"Not Applicable"}}],"gender":[{"instance":{"openmrs_code":"1534AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"male","label":{"Urdu":"مرد/ لڑکا","Roman Urdu":"Mard/larka","English":"Male"}},{"instance":{"openmrs_code":"1535AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"female","label":{"Urdu":"عورت/لڑکی","Roman Urdu":"Aurat/larki","English":"Female"}},{"instance":{"openmrs_code":"163163AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"transgender","label":{"Urdu":"خواجہ سرہ","Roman Urdu":"Khwaja sira","English":"Transgender"}}],"vaccines":[{"instance":{"openmrs_code":"1570AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"bcg","label":{"Urdu":"بی سی جی","Roman Urdu":"BCG","English":"BCG"}},{"instance":{"openmrs_code":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"opv0","label":{"Urdu":"او پی وی 0","Roman Urdu":"OPV 0","English":"OPV 0"}},{"instance":{"openmrs_code":"162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"pcv1","label":{"Urdu":"پی سی وی 1","Roman Urdu":"PCV 1","English":"PCV 1"}},{"instance":{"openmrs_code":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"opv1","label":{"Urdu":"او پی وی 1","Roman Urdu":"OPV 1","English":"OPV 1"}},{"instance":{"openmrs_code":"162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"penta1","label":{"Urdu":"پینٹا ویلنٹ 1","Roman Urdu":"Pentavalent 1","English":"Pentavalent 1"}},{"instance":{"openmrs_code":"162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"pcv2","label":{"Urdu":"پی سی وی 2","Roman Urdu":"PCV 2","English":"PCV 2"}},{"instance":{"openmrs_code":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"opv2","label":{"Urdu":"او پی وی 2","Roman Urdu":"OPV 2","English":"OPV 2"}},{"instance":{"openmrs_code":"162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"penta2","label":{"Urdu":"پینٹا ویلنٹ 2","Roman Urdu":"Pentavalent 2","English":"Pentavalent 2"}},{"instance":{"openmrs_code":"162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"pcv3","label":{"Urdu":"پی سی وی 3","Roman Urdu":"PCV 3","English":"PCV 3"}},{"instance":{"openmrs_code":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"opv3","label":{"Urdu":"او پی وی 3","Roman Urdu":"OPV 3","English":"OPV 3"}},{"instance":{"openmrs_code":"162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"penta3","label":{"Urdu":"پینٹا ویلنٹ 3","Roman Urdu":"Pentavalent 3","English":"Pentavalent 3"}},{"instance":{"openmrs_code":"82242AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"ipv","label":{"Urdu":"آئی پی وی","Roman Urdu":"IPV","English":"IPV"}},{"instance":{"openmrs_code":"79409AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"measles1","label":{"Urdu":"خسرہ 1","Roman Urdu":"Khasra 1","English":"Measles 1"}},{"instance":{"openmrs_code":"79409AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"measles2","label":{"Urdu":"خسرہ 2","Roman Urdu":"Khasra 2","English":"Measles 2"}}],"towns":[{"province":"sindh","city":"karachi","name":"korangi","label":{"Urdu":"کورنگی","Roman Urdu":"Korangi","English":"Korangi"}},{"province":"sindh","city":"karachi","name":"landhi","label":{"Urdu":"لانڈھی","Roman Urdu":"Landhi","English":"Landhi"}},{"province":"sindh","city":"karachi","name":"baldia","label":{"Urdu":"بلدیہ","Roman Urdu":"Baldia","English":"Baldia"}},{"province":"sindh","city":"karachi","name":"bin_qasim","label":{"Urdu":"بن قاسم","Roman Urdu":"Bin Qasim","English":"Bin Qasim"}},{"province":"sindh","city":"karachi","name":"gadap","label":{"Urdu":"گڈاپ","Roman Urdu":"Gadap","English":"Gadap"}},{"province":"sindh","city":"karachi","name":"gulberg","label":{"Urdu":"گلبرگ","Roman Urdu":"Gulberg","English":"Gulberg"}},{"province":"sindh","city":"karachi","name":"gulshan","label":{"Urdu":"گلشن","Roman Urdu":"Gulshan","English":"Gulshan"}},{"province":"sindh","city":"karachi","name":"jamshed","label":{"Urdu":"جمشید","Roman Urdu":"Jamshed","English":"Jamshed"}},{"province":"sindh","city":"karachi","name":"kiamari","label":{"Urdu":"کیماری","Roman Urdu":"Kiamari","English":"Kiamari"}},{"province":"sindh","city":"karachi","name":"liaquatabad","label":{"Urdu":"لیاقت آباد","Roman Urdu":"Liaquatabad","English":"Liaquatabad"}},{"province":"sindh","city":"karachi","name":"lyari","label":{"Urdu":"لیاری","Roman Urdu":"Lyari","English":"Lyari"}},{"province":"sindh","city":"karachi","name":"malir","label":{"Urdu":"ملیر","Roman Urdu":"Malir","English":"Malir"}},{"province":"sindh","city":"karachi","name":"new_karachi","label":{"Urdu":"نیو کراچی","Roman Urdu":"New Karachi","English":"New Karachi"}},{"province":"sindh","city":"karachi","name":"north_nazimabad","label":{"Urdu":"نارتھ ناظم آباد","Roman Urdu":"North Nazimabad","English":"North Nazimabad"}},{"province":"sindh","city":"karachi","name":"orangi","label":{"Urdu":"اورنگی","Roman Urdu":"Orangi","English":"Orangi"}},{"province":"sindh","city":"karachi","name":"saddar","label":{"Urdu":"صدر","Roman Urdu":"Saddar","English":"Saddar"}},{"province":"sindh","city":"karachi","name":"shah_faisal","label":{"Urdu":"شاہ فیصل","Roman Urdu":"Shah Faisal","English":"Shah Faisal"}},{"province":"sindh","city":"karachi","name":"site","label":{"Urdu":"سائٹ","Roman Urdu":"S.I.T.E.","English":"S.I.T.E."}},{"province":"na","city":"na","name":"other","label":{"Urdu":"دیگر","Roman Urdu":"Deegar","English":"Other"}},{"province":"na","city":"na","name":"not_applicable","label":{"Urdu":"قابل اطلاق نہیں","Roman Urdu":"Qaabil-e-atlaaq nahi","English":"Not Applicable"}}],"cities":[{"province":"sindh","name":"karachi","label":{"Urdu":"کراچی","Roman Urdu":"Karachi","English":"Karachi"}},{"province":"punjab","name":"hafizabad","label":{"Urdu":"حافظ آباد","Roman Urdu":"Hafizabad","English":"Hafizabad"}},{"province":"punjab","name":"muzaffargarh","label":{"Urdu":"مظفر گڑھ","Roman Urdu":"Muzaffargarh","English":"Muzaffargarh"}},{"province":"na","name":"other","label":{"Urdu":"دیگر","Roman Urdu":"Deegar","English":"Other"}},{"province":"na","name":"not_applicable","label":{"Urdu":"قابل اطلاق نہیں","Roman Urdu":"Not Applicable","English":"Not Applicable"}}],"ethnicity":[{"instance":{"openmrs_code":"163215AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"punjabi","label":{"Urdu":"پنجابی","Roman Urdu":"Punjabi","English":"Punjabi"}},{"instance":{"openmrs_code":"163216AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"pushtuns","label":{"Urdu":"پشتون","Roman Urdu":"Pushtun","English":"Pushtun"}},{"instance":{"openmrs_code":"163217AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"sindhi","label":{"Urdu":"سندھی","Roman Urdu":"Sindhi","English":"Sindhi"}},{"instance":{"openmrs_code":"163218AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"saraiki","label":{"Urdu":"سرائیکی","Roman Urdu":"Saraiki","English":"Saraiki"}},{"instance":{"openmrs_code":"163219AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"muhajir","label":{"Urdu":"مہاجر","Roman Urdu":"Muhajir","English":"Muhajir"}},{"instance":{"openmrs_code":"163220AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"balochi","label":{"Urdu":"بلوچی","Roman Urdu":"Balochi","English":"Balochi"}},{"instance":{"openmrs_code":"5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"other","label":{"Urdu":"دیگر","Roman Urdu":"Deegar","English":"Other"}}],"yes_no":[{"instance":{"openmrs_code":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"yes","label":{"Urdu":"ہاں","Roman Urdu":"Yes","English":"Yes"}},{"instance":{"openmrs_code":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"no","label":{"Urdu":"نہیں","Roman Urdu":"No","English":"No"}}]},"instance":{"encounter_type":"Child Vaccination Enrollment"},"version":"201604080617","id_string":"child_vaccination_enrollment","type":"survey","children":[{"type":"hidden","name":"provider_uc"},{"type":"hidden","name":"provider_town"},{"type":"hidden","name":"provider_city"},{"type":"hidden","name":"provider_province"},{"type":"hidden","name":"provider_id"},{"instance":{"openmrs_entity_id":"location_id","openmrs_entity":"encounter"},"type":"hidden","name":"provider_location_id"},{"instance":{"openmrs_entity_id":"Program Client ID","openmrs_entity":"person_identifier"},"type":"hidden","name":"existing_program_client_id"},{"type":"hidden","name":"provider_location_name"},{"type":"note","name":"provider_location_note","label":{"Urdu":"شہر: ${provider_city} ; ٹائون: ${provider_town} ; یوسی: ${provider_uc} ; سینٹرکا نام: ${provider_location_name}","English":"City: ${provider_city} ; Town: ${provider_town} ; UC: ${provider_uc} ; Center Name: ${provider_location_name}","Roman Urdu":"Shehr: ${provider_city} ; Town: ${provider_town} ; UC: ${provider_uc} ; Center ka naam: ${provider_location_name}"}},{"instance":{"openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"start","name":"start"},{"instance":{"openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"end","name":"end"},{"instance":{"openmrs_entity_id":"163286AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"today","name":"today"},{"instance":{"openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"deviceid","name":"deviceid"},{"instance":{"openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"subscriberid","name":"subscriberid"},{"instance":{"openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"simserial","name":"simserial"},{"instance":{"openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"phonenumber","name":"phonenumber"},{"name":"client_reg_date","hint":{"Urdu":"بچے کو ویکسین لگنے کی تاریخ","English":"Date on which child was vaccinated","Roman Urdu":"Bachay ko vaccine lagnay ki tareekh"},"bind":{"jr:constraintMsg":{"Urdu":"بچے کی پروگرام میں اندراج کی تاریخ مستقبل کی نہیں ہوسکتی","English":"Child registration date cannot be in the future","Roman Urdu":"Bachay ki program mai andraaj ki tareekh mustaqbil ki nahi hosakti"},"required":"yes","constraint":".<=${today}"},"label":{"Urdu":"بچے کی پروگرام میں اندراج کی تاریخ","English":"Child Registration date","Roman Urdu":"Bachay ki Program mai andraj ki tareekh"},"instance":{"openmrs_entity_id":"encounter_date","openmrs_entity":"encounter"},"type":"date"},{"bind":{"required":"yes"},"type":"note","name":"program_client_id","label":{"Urdu":"کلائنٹ کی پروگرام آئی ڈی {existing_program_client_id}$","Roman Urdu":"Client ki program ID ${existing_program_client_id}","English":"Program Client ID ${existing_program_client_id}"}},{"bind":{"jr:constraintMsg":{"Urdu":"نمبر آٹھ ہندسوں پر مشتمل ہونا چاہئے","English":"Number should be 8 digits","Roman Urdu":"Number 8 hindason par mushtamil hona chahiye"},"required":"yes","constraint":"string-length(.) = 8"},"type":"integer","instance":{"openmrs_entity_id":"EPI Card Number","openmrs_entity":"person_attribute"},"name":"epi_card_number","label":{"Urdu":"کارڈ نمبر","English":"EPI Card Number","Roman Urdu":"EPI Card Number"}},{"bind":{"jr:constraintMsg":{"Urdu":"نام تین سے پچیس حروف پر مشتمل ہونا چاہئے","English":"Name should be 3 to 25 characters long","Roman Urdu":"Naam 3 say 25 huroof par mushtamil hona chahiye"},"required":"yes","constraint":"regex(., '^[a-zA-Z\\s\\.\\-]{3,25}$')"},"type":"text","instance":{"openmrs_entity_id":"first_name","openmrs_entity":"person"},"name":"first_name","label":{"Urdu":"نام","English":"First Name","Roman Urdu":"Naam"}},{"bind":{"jr:constraintMsg":{"Urdu":"نام تین سے پچیس حروف پر مشتمل ہونا چاہئے","English":"Name should be 3 to 25 characters long","Roman Urdu":"Naam 3 say 25 huroof par mushtamil hona chahiye"},"required":"yes","constraint":"regex(., '^[a-zA-Z\\s\\.\\-]{3,25}$')"},"type":"text","instance":{"openmrs_entity_id":"last_name","openmrs_entity":"person"},"name":"last_name","label":{"Urdu":"والد کا نام","English":"Last name","Roman Urdu":"Waalid ka naam"}},{"default":"yes","label":{"Urdu":"کیا تاریخ پیدائش معلوم ہے؟","Roman Urdu":"Kya tareekh-e-pedaaish maloom hai?","English":"Is birthdate known?"},"type":"select one","children":[{"instance":{"openmrs_code":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"yes","label":{"Urdu":"ہاں","Roman Urdu":"Yes","English":"Yes"}},{"instance":{"openmrs_code":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"no","label":{"Urdu":"نہیں","Roman Urdu":"No","English":"No"}}],"name":"member_birth_date_known"},{"bind":{"jr:constraintMsg":{"Urdu":"یہ تاریخ مستقبل کی نہیں ہو سکتی۔\nاندراج کے لیے بچے کی عمر پانچ سال سے کم ہونی چاہئے۔","Roman Urdu":"Ye tareekh mustaqbil ki nahi ho sakti.\nAndraaj ke liye bachay ki umar paanch saal se kam honi chahiye.","English":"This cannot be a date in the future.\nChild's age must be less than five years for enrollment."},"relevant":"selected(${member_birth_date_known}, 'yes')","constraint":".<=${today} and (int((${today} - ${member_birth_date}) div 365) < 5)"},"type":"date","name":"member_birth_date","label":{"Urdu":"تاریخ پیدائش","Roman Urdu":"Tareekh-e-pedaaish","English":"Birth date"}},{"bind":{"jr:constraintMsg":{"Urdu":"اندراج کے لیے بچے کی عمر پانچ سال سے کم ہونی چاہئے","Roman Urdu":"Andraaj ke liye bachay ki umar paanch saal se kam honi chahiye","English":"Child's age must be less than five years for enrollment"},"relevant":"selected(${member_birth_date_known}, 'no')","constraint":".<=60"},"type":"integer","name":"age","label":{"Urdu":"عمر (مہینوں میں)","Roman Urdu":"Umar (mahinon main)","English":"Age (months)"}},{"bind":{"calculate":"int((${today} - ${member_birth_date}) div 30.44)"},"type":"calculate","name":"calc_age"},{"bind":{"calculate":"date(${today} - int(${age} * 30.44))"},"type":"calculate","name":"calc_dob"},{"bind":{"calculate":"if(${member_birth_date_known}='yes', ${member_birth_date}, ${calc_dob})"},"type":"calculate","name":"calc_dob_confirm","instance":{"openmrs_entity_id":"birthdate","openmrs_entity":"person"}},{"bind":{"calculate":"if(${member_birth_date_known} = 'yes', '0', '1')"},"type":"calculate","name":"calc_dob_estimated","instance":{"openmrs_entity_id":"birthdate_estimated","openmrs_entity":"person"}},{"bind":{"calculate":"if(${member_birth_date_known}='yes', ${calc_age}, ${age})"},"type":"calculate","name":"calc_age_confirm","instance":{"openmrs_entity_id":"154384AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"}},{"type":"note","name":"member_birth_date_note","label":{"Urdu":"کلائنٹ کی تاریخ پیدائش:${calc_dob_confirm}","English":"Member Date of Birth: ${calc_dob_confirm}","Roman Urdu":"Member ki Tareekh-e-pedaaish: ${calc_dob_confirm}"}},{"type":"note","name":"note_age","label":{"Urdu":"عمر :{calc_age_confirm}$ مہینے","English":"Age: ${calc_age_confirm} months","Roman Urdu":"Umar: ${calc_age_confirm} mahinay"}},{"control":{"appearance":"minimal"},"name":"gender","bind":{"required":"yes"},"label":{"Urdu":"جنس","English":"Gender","Roman Urdu":"Jins"},"instance":{"openmrs_entity_id":"gender","openmrs_entity":"person"},"type":"select one","children":[{"instance":{"openmrs_code":"1534AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"male","label":{"Urdu":"مرد/ لڑکا","Roman Urdu":"Mard/larka","English":"Male"}},{"instance":{"openmrs_code":"1535AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"female","label":{"Urdu":"عورت/لڑکی","Roman Urdu":"Aurat/larki","English":"Female"}},{"instance":{"openmrs_code":"163163AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"transgender","label":{"Urdu":"خواجہ سرہ","Roman Urdu":"Khwaja sira","English":"Transgender"}}]},{"bind":{"jr:constraintMsg":{"Urdu":"نام تین سے پچیس حروف پر مشتمل ہونا چاہئے","English":"Name should be 3 to 25 characters long","Roman Urdu":"Naam 3 say 25 huroof par mushtamil hona chahiye"},"constraint":"regex(., '^[a-zA-Z\\s\\.\\-]{3,25}$')"},"type":"text","instance":{"openmrs_entity_id":"1593AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"name":"mother_name","label":{"Urdu":"والدہ کا نام","English":"Mother's Name","Roman Urdu":"Waaldah ka naam"}},{"control":{"appearance":"minimal"},"name":"ethnicity","bind":{"required":"yes"},"label":{"Urdu":"قومیت","English":"Ethnicity","Roman Urdu":"Qomiat"},"instance":{"openmrs_entity_id":"163153AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"select one","children":[{"instance":{"openmrs_code":"163215AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"punjabi","label":{"Urdu":"پنجابی","Roman Urdu":"Punjabi","English":"Punjabi"}},{"instance":{"openmrs_code":"163216AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"pushtuns","label":{"Urdu":"پشتون","Roman Urdu":"Pushtun","English":"Pushtun"}},{"instance":{"openmrs_code":"163217AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"sindhi","label":{"Urdu":"سندھی","Roman Urdu":"Sindhi","English":"Sindhi"}},{"instance":{"openmrs_code":"163218AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"saraiki","label":{"Urdu":"سرائیکی","Roman Urdu":"Saraiki","English":"Saraiki"}},{"instance":{"openmrs_code":"163219AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"muhajir","label":{"Urdu":"مہاجر","Roman Urdu":"Muhajir","English":"Muhajir"}},{"instance":{"openmrs_code":"163220AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"balochi","label":{"Urdu":"بلوچی","Roman Urdu":"Balochi","English":"Balochi"}},{"instance":{"openmrs_code":"5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"other","label":{"Urdu":"دیگر","Roman Urdu":"Deegar","English":"Other"}}]},{"bind":{"relevant":"selected(${ethnicity}, 'other')"},"type":"text","instance":{"openmrs_entity":"concept","openmrs_entity_id":"160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"163330AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"ethnicity_other","label":{"Urdu":"وضاحت کریں","Roman Urdu":"Wazaahat karain","English":"Please specify:"}},{"control":{"appearance":"minimal"},"name":"province","default":"${provider_province}","bind":{"required":"yes"},"label":{"Urdu":"صوبہ","Roman Urdu":"Suba","English":"Province"},"instance":{"openmrs_entity":"person_address","openmrs_entity_id":"stateProvince","openmrs_entity_parent":"usual_residence"},"type":"select one","children":[{"name":"kpk","label":{"Urdu":"خیبر پختون خواہ","English":"Khyber Pakhtunkhwa","Roman Urdu":"Khyber Pakhtunkhwa"}},{"name":"sindh","label":{"Urdu":"سندھ","English":"Sindh","Roman Urdu":"Sindh"}},{"name":"balochistan","label":{"Urdu":"بلوچستان","English":"Balochistan","Roman Urdu":"Balochistan"}},{"name":"punjab","label":{"Urdu":"پنجاب","English":"Punjab","Roman Urdu":"Punjab"}},{"name":"gilgit_baltistan","label":{"Urdu":"گلگت بلتستان","English":"Gilgit Baltistan","Roman Urdu":"Gilgit Baltistan"}},{"name":"kashmir","label":{"Urdu":"کشمیر","English":"Kashmir","Roman Urdu":"Kashmir"}},{"name":"fata","label":{"Urdu":"فاٹا","English":"FATA","Roman Urdu":"FATA"}},{"name":"out_of_country","label":{"Urdu":"ملک سے باہر","English":"Out of Country","Roman Urdu":"Mulk se baahir"}}]},{"control":{"appearance":"minimal"},"name":"city_village","choice_filter":"province=${province} or province='na'","default":"${provider_city}","bind":{"required":"yes"},"label":{"Urdu":"شہر","Roman Urdu":"Shehr","English":"City"},"itemset":"cities","instance":{"openmrs_entity":"person_address","openmrs_entity_id":"cityVillage","openmrs_entity_parent":"usual_residence"},"type":"select one"},{"control":{"appearance":"minimal"},"name":"town","choice_filter":"(province=${province} and city=${city_village} ) or city='na'","bind":{"required":"yes"},"label":{"Urdu":"ٹاٰئون/ قصبہ/ بستی","Roman Urdu":"Town / Qasbah / Basti","English":"Town"},"itemset":"towns","instance":{"openmrs_entity":"person_address","openmrs_entity_id":"town","openmrs_entity_parent":"usual_residence"},"type":"select one"},{"control":{"appearance":"minimal"},"name":"union_council","choice_filter":"(province=${province} and city=${city_village} and town=${town}) or town='na'","bind":{"required":"yes"},"label":{"Urdu":"یونین کونسل","Roman Urdu":"Union Council","English":"Union Council"},"itemset":"ucs","instance":{"openmrs_entity":"person_address","openmrs_entity_id":"subTown","openmrs_entity_parent":"usual_residence"},"type":"select one"},{"bind":{"required":"yes"},"type":"text","instance":{"openmrs_entity":"person_address","openmrs_entity_id":"house","openmrs_entity_parent":"usual_residence"},"name":"house_number","label":{"Urdu":"گھر کا نمبر","Roman Urdu":"Ghar ka number","English":"House Number"}},{"bind":{"required":"yes"},"type":"text","instance":{"openmrs_entity":"person_address","openmrs_entity_id":"street","openmrs_entity_parent":"usual_residence"},"name":"street","label":{"Urdu":"گلی/کالونی/محلہ","Roman Urdu":"Gali/Colony/Mohalla","English":"Street"}},{"bind":{"required":"yes"},"type":"text","instance":{"openmrs_entity":"person_address","openmrs_entity_id":"landmark","openmrs_entity_parent":"usual_residence"},"name":"landmark","label":{"Urdu":"گھر کے قریب کوئی مشہور جگہ","Roman Urdu":"Ghar ke qareeb koi mashoor jagah","English":"Land Mark"}},{"bind":{"calculate":"jr:choice-name(${province}, '${province}')"},"type":"calculate","name":"provincename"},{"bind":{"calculate":"jr:choice-name(${city_village}, '${city_village}')"},"type":"calculate","name":"city_villagename"},{"bind":{"calculate":"jr:choice-name(${town}, '${town}')"},"type":"calculate","name":"townname"},{"bind":{"calculate":"jr:choice-name(${union_council}, '${union_council}')"},"type":"calculate","name":"union_councilname"},{"type":"note","name":"address","label":{"Urdu":"پتہ: ${house_number}, ${street}, ${landmark}, ${union_councilname}, ${townname}, ${city_villagename}, ${provincename}","English":"Address: ${house_number}, ${street}, ${landmark}, ${union_councilname}, ${townname}, ${city_villagename}, ${provincename}","Roman Urdu":"Pata: ${house_number}, ${street}, ${landmark}, ${union_councilname}, ${townname}, ${city_villagename}, ${provincename}"}},{"instance":{"openmrs_entity_id":"163277AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"geopoint","name":"centre_gps","label":{"Urdu":"حاصل کردہ معلومات کی جگہ کے GPS کارڈینیٹس درج کریں","English":"Collect GPS coordinates of data entry location","Roman Urdu":"Hasil karda malomaat ki jaga ke GPS coordinates darj karain"}},{"control":{"appearance":"minimal"},"name":"child_was_suffering_from_a_disease_at_birth","bind":{"required":"yes"},"label":{"Urdu":"کیا بچہ پیدائش کے وقت کسی مرض میں مبتلا تھا؟","English":"Was the child suffering from a disease at birth?","Roman Urdu":"Kya bacha pedaaish ke waqt kissi marz mai mubtila tha?"},"instance":{"openmrs_entity_id":"159926AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"select one","children":[{"instance":{"openmrs_code":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"yes","label":{"Urdu":"ہاں","Roman Urdu":"Yes","English":"Yes"}},{"instance":{"openmrs_code":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"no","label":{"Urdu":"نہیں","Roman Urdu":"No","English":"No"}}]},{"name":"reminders_approval","bind":{"required":"yes"},"label":{"Urdu":"کیا آپ اپنے بچے کی اگلی ویکسین کی تاریخ کے لیے SMS موصول کرنا چاہتے ہیں؟","English":"Are you willing to receive SMS reminders for your next visit?","Roman Urdu":"Kya aap apnay bachay ki agli vaccine ki tareekh ke liye SMS mausool karna chahtay hain?"},"instance":{"openmrs_entity_id":"163089AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"select one","children":[{"instance":{"openmrs_code":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"yes","label":{"Urdu":"ہاں","Roman Urdu":"Yes","English":"Yes"}},{"instance":{"openmrs_code":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"no","label":{"Urdu":"نہیں","Roman Urdu":"No","English":"No"}}]},{"bind":{"jr:constraintMsg":{"Urdu":"فون نمبر گیارہ ہندسوں پر مشتمل اور مندرجہ ذیل شکل میں ہونا چاہئے: *********03","English":"Phone number should be 11 digits in the following format: 03*********","Roman Urdu":"Phone number 11 hindason par mushtamil aur mundarja zail shakal main hona chahiey: 03*********"},"relevant":"${reminders_approval}='yes'","constraint":"regex(., '^03[0-9]{9}$')"},"type":"text","instance":{"openmrs_entity_id":"159635AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"name":"contact_phone_number","label":{"Urdu":"موبائل نمبر:","English":"Mobile Number:","Roman Urdu":"Mobile number:"}},{"bind":{"calculate":"${calc_dob_confirm} + 42"},"type":"calculate","name":"six_weeks"},{"bind":{"calculate":"${calc_dob_confirm} + 70"},"type":"calculate","name":"ten_weeks"},{"bind":{"calculate":"${calc_dob_confirm} + 98"},"type":"calculate","name":"forteen_weeks"},{"bind":{"calculate":"${calc_dob_confirm} + 245"},"type":"calculate","name":"nine_months"},{"bind":{"calculate":"${calc_dob_confirm} + 458"},"type":"calculate","name":"fifteen_months"},{"control":{"appearance":"minimal"},"name":"vaccines","label":{"Urdu":"پچھلی تاریخ جب کسی اور سینٹر پر ٹیکے لگواِے گیے یا قطرے پلائے گئے","Roman Urdu":"Pichli tareekh jab kissi aur center par teekay lagwaye gaye ya katray pilaey gaye","English":"Retro vaccines"},"instance":{"openmrs_entity":"concept","openmrs_entity_id":"984AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"1421AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"type":"select all that apply","children":[{"instance":{"openmrs_code":"1570AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"bcg","label":{"Urdu":"بی سی جی","Roman Urdu":"BCG","English":"BCG"}},{"instance":{"openmrs_code":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"opv0","label":{"Urdu":"او پی وی 0","Roman Urdu":"OPV 0","English":"OPV 0"}},{"instance":{"openmrs_code":"162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"pcv1","label":{"Urdu":"پی سی وی 1","Roman Urdu":"PCV 1","English":"PCV 1"}},{"instance":{"openmrs_code":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"opv1","label":{"Urdu":"او پی وی 1","Roman Urdu":"OPV 1","English":"OPV 1"}},{"instance":{"openmrs_code":"162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"penta1","label":{"Urdu":"پینٹا ویلنٹ 1","Roman Urdu":"Pentavalent 1","English":"Pentavalent 1"}},{"instance":{"openmrs_code":"162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"pcv2","label":{"Urdu":"پی سی وی 2","Roman Urdu":"PCV 2","English":"PCV 2"}},{"instance":{"openmrs_code":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"opv2","label":{"Urdu":"او پی وی 2","Roman Urdu":"OPV 2","English":"OPV 2"}},{"instance":{"openmrs_code":"162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"penta2","label":{"Urdu":"پینٹا ویلنٹ 2","Roman Urdu":"Pentavalent 2","English":"Pentavalent 2"}},{"instance":{"openmrs_code":"162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"pcv3","label":{"Urdu":"پی سی وی 3","Roman Urdu":"PCV 3","English":"PCV 3"}},{"instance":{"openmrs_code":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"opv3","label":{"Urdu":"او پی وی 3","Roman Urdu":"OPV 3","English":"OPV 3"}},{"instance":{"openmrs_code":"162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"penta3","label":{"Urdu":"پینٹا ویلنٹ 3","Roman Urdu":"Pentavalent 3","English":"Pentavalent 3"}},{"instance":{"openmrs_code":"82242AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"ipv","label":{"Urdu":"آئی پی وی","Roman Urdu":"IPV","English":"IPV"}},{"instance":{"openmrs_code":"79409AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"measles1","label":{"Urdu":"خسرہ 1","Roman Urdu":"Khasra 1","English":"Measles 1"}},{"instance":{"openmrs_code":"79409AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"measles2","label":{"Urdu":"خسرہ 2","Roman Urdu":"Khasra 2","English":"Measles 2"}}]},{"bind":{"relevant":"${vaccines} != ''"},"type":"group","children":[{"bind":{"jr:constraintMsg":{"Urdu":"حفاظتی ٹیکا ملنے کی تاریخ، بچے کی تاریخ پیدائش کے بعد اور آج کی تاریخ سے پہلے کی ہونی چاہیے","English":"The date of vaccination must be greater than the child's birthdate and less than today.","Roman Urdu":"Hifaazati teeka milnay ki tareekh, bachay ki tareekh-e-pedaaish ke baad aur aaj ki tareekh se phlay ki honi chahiye."},"relevant":"selected(${vaccines}, 'bcg')","constraint":".>= ${calc_dob_confirm} and .<=${today}"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"886AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"bcg_retro","label":{"Urdu":"بی سی جی","Roman Urdu":"BCG","English":"BCG"}},{"bind":{"jr:constraintMsg":{"Urdu":"حفاظتی ٹیکا ملنے کی تاریخ، بچے کی تاریخ پیدائش کے بعد اور آج کی تاریخ سے پہلے کی ہونی چاہیے","English":"The date of vaccination must be greater than the child's birthdate and less than today.","Roman Urdu":"Hifaazati teeka milnay ki tareekh, bachay ki tareekh-e-pedaaish ke baad aur aaj ki tareekh se phlay ki honi chahiye."},"relevant":"selected(${vaccines}, 'opv0')","constraint":".>= ${calc_dob_confirm} and .<=${today}"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"opv0_retro","label":{"Urdu":"او پی وی 0","Roman Urdu":"OPV 0","English":"OPV 0"}},{"bind":{"relevant":"selected(${vaccines}, 'opv0')","calculate":"0"},"type":"calculate","name":"opv0_dose","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"jr:constraintMsg":{"Urdu":"حفاظتی ٹیکا ملنے کی تاریخ، بچے کی تاریخ پیدائش کے بعد اور آج کی تاریخ سے پہلے کی ہونی چاہیے","English":"The date of vaccination must be greater than the child's birthdate and less than today.","Roman Urdu":"Hifaazati teeka milnay ki tareekh, bachay ki tareekh-e-pedaaish ke baad aur aaj ki tareekh se phlay ki honi chahiye."},"relevant":"selected(${vaccines}, 'pcv1')","constraint":".>= ${calc_dob_confirm} and .<=${today}"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"pcv1_retro","label":{"Urdu":"پی سی وی 1","Roman Urdu":"PCV1","English":"PCV1"}},{"bind":{"relevant":"selected(${vaccines}, 'pcv1')","calculate":"1"},"type":"calculate","name":"pcv1_dose","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"jr:constraintMsg":{"Urdu":"حفاظتی ٹیکا ملنے کی تاریخ، بچے کی تاریخ پیدائش کے بعد اور آج کی تاریخ سے پہلے کی ہونی چاہیے","English":"The date of vaccination must be greater than the child's birthdate and less than today.","Roman Urdu":"Hifaazati teeka milnay ki tareekh, bachay ki tareekh-e-pedaaish ke baad aur aaj ki tareekh se phlay ki honi chahiye."},"relevant":"selected(${vaccines}, 'opv1')","constraint":".>= ${calc_dob_confirm} and .<=${today}"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"opv1_retro","label":{"Urdu":"او پی وی1","Roman Urdu":"OPV 1","English":"OPV 1"}},{"bind":{"relevant":"selected(${vaccines}, 'opv1')","calculate":"1"},"type":"calculate","name":"opv1_dose","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"jr:constraintMsg":{"Urdu":"حفاظتی ٹیکا ملنے کی تاریخ، بچے کی تاریخ پیدائش کے بعد اور آج کی تاریخ سے پہلے کی ہونی چاہیے","English":"The date of vaccination must be greater than the child's birthdate and less than today.","Roman Urdu":"Hifaazati teeka milnay ki tareekh, bachay ki tareekh-e-pedaaish ke baad aur aaj ki tareekh se phlay ki honi chahiye."},"relevant":"selected(${vaccines}, 'penta1')","constraint":".>= ${calc_dob_confirm} and .<=${today}"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"penta1_retro","label":{"Urdu":"پینٹا ویلنٹ 1","Roman Urdu":"Pentavalent 1","English":"Pentavalent 1"}},{"bind":{"relevant":"selected(${vaccines}, 'penta1')","calculate":"1"},"type":"calculate","name":"penta1_dose","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"jr:constraintMsg":{"Urdu":"حفاظتی ٹیکا ملنے کی تاریخ، بچے کی تاریخ پیدائش کے بعد اور آج کی تاریخ سے پہلے کی ہونی چاہیے","English":"The date of vaccination must be greater than the child's birthdate and less than today.","Roman Urdu":"Hifaazati teeka milnay ki tareekh, bachay ki tareekh-e-pedaaish ke baad aur aaj ki tareekh se phlay ki honi chahiye."},"relevant":"selected(${vaccines}, 'pcv2')","constraint":".>= ${calc_dob_confirm} and .<=${today}"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"pcv2_retro","label":{"Urdu":"پی سی وی 2","Roman Urdu":"PCV2","English":"PCV2"}},{"bind":{"relevant":"selected(${vaccines}, 'pcv2')","calculate":"2"},"type":"calculate","name":"pcv2_dose","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"jr:constraintMsg":{"Urdu":"حفاظتی ٹیکا ملنے کی تاریخ، بچے کی تاریخ پیدائش کے بعد اور آج کی تاریخ سے پہلے کی ہونی چاہیے","English":"The date of vaccination must be greater than the child's birthdate and less than today.","Roman Urdu":"Hifaazati teeka milnay ki tareekh, bachay ki tareekh-e-pedaaish ke baad aur aaj ki tareekh se phlay ki honi chahiye."},"relevant":"selected(${vaccines}, 'opv2')","constraint":".>= ${calc_dob_confirm} and .<=${today}"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"opv2_retro","label":{"Urdu":"او پی وی 2","Roman Urdu":"OPV 2","English":"OPV 2"}},{"bind":{"relevant":"selected(${vaccines}, 'opv2')","calculate":"2"},"type":"calculate","name":"opv2_dose","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"jr:constraintMsg":{"Urdu":"حفاظتی ٹیکا ملنے کی تاریخ، بچے کی تاریخ پیدائش کے بعد اور آج کی تاریخ سے پہلے کی ہونی چاہیے","English":"The date of vaccination must be greater than the child's birthdate and less than today.","Roman Urdu":"Hifaazati teeka milnay ki tareekh, bachay ki tareekh-e-pedaaish ke baad aur aaj ki tareekh se phlay ki honi chahiye."},"relevant":"selected(${vaccines}, 'penta2')","constraint":".>= ${calc_dob_confirm} and .<=${today}"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"penta2_retro","label":{"Urdu":"پینٹا ویلنٹ 2","Roman Urdu":"Pentavalent 2","English":"Pentavalent 2"}},{"bind":{"relevant":"selected(${vaccines}, 'penta2')","calculate":"2"},"type":"calculate","name":"penta2_dose","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"jr:constraintMsg":{"Urdu":"حفاظتی ٹیکا ملنے کی تاریخ، بچے کی تاریخ پیدائش کے بعد اور آج کی تاریخ سے پہلے کی ہونی چاہیے","English":"The date of vaccination must be greater than the child's birthdate and less than today.","Roman Urdu":"Hifaazati teeka milnay ki tareekh, bachay ki tareekh-e-pedaaish ke baad aur aaj ki tareekh se phlay ki honi chahiye."},"relevant":"selected(${vaccines}, 'pcv3')","constraint":".>= ${calc_dob_confirm} and .<=${today}"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"pcv3_retro","label":{"Urdu":"پی سی وی 3","Roman Urdu":"PCV3","English":"PCV3"}},{"bind":{"relevant":"selected(${vaccines}, 'pcv3')","calculate":"3"},"type":"calculate","name":"pcv3_dose","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"jr:constraintMsg":{"Urdu":"حفاظتی ٹیکا ملنے کی تاریخ، بچے کی تاریخ پیدائش کے بعد اور آج کی تاریخ سے پہلے کی ہونی چاہیے","English":"The date of vaccination must be greater than the child's birthdate and less than today.","Roman Urdu":"Hifaazati teeka milnay ki tareekh, bachay ki tareekh-e-pedaaish ke baad aur aaj ki tareekh se phlay ki honi chahiye."},"relevant":"selected(${vaccines}, 'opv3')","constraint":".>= ${calc_dob_confirm} and .<=${today}"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"opv3_retro","label":{"Urdu":"او پی وی3","Roman Urdu":"OPV 3","English":"OPV 3"}},{"bind":{"relevant":"selected(${vaccines}, 'opv3')","calculate":"3"},"type":"calculate","name":"opv3_dose","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"jr:constraintMsg":{"Urdu":"حفاظتی ٹیکا ملنے کی تاریخ، بچے کی تاریخ پیدائش کے بعد اور آج کی تاریخ سے پہلے کی ہونی چاہیے","English":"The date of vaccination must be greater than the child's birthdate and less than today.","Roman Urdu":"Hifaazati teeka milnay ki tareekh, bachay ki tareekh-e-pedaaish ke baad aur aaj ki tareekh se phlay ki honi chahiye."},"relevant":"selected(${vaccines}, 'penta3')","constraint":".>= ${calc_dob_confirm} and .<=${today}"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"penta3_retro","label":{"Urdu":"پینٹا ویلنٹ 3","Roman Urdu":"Pentavalent 3","English":"Pentavalent 3"}},{"bind":{"relevant":"selected(${vaccines}, 'penta3')","calculate":"3"},"type":"calculate","name":"penta3_dose","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"jr:constraintMsg":{"Urdu":"حفاظتی ٹیکا ملنے کی تاریخ، بچے کی تاریخ پیدائش کے بعد اور آج کی تاریخ سے پہلے کی ہونی چاہیے","English":"The date of vaccination must be greater than the child's birthdate and less than today.","Roman Urdu":"Hifaazati teeka milnay ki tareekh, bachay ki tareekh-e-pedaaish ke baad aur aaj ki tareekh se phlay ki honi chahiye."},"relevant":"selected(${vaccines}, 'ipv')","constraint":".>= ${calc_dob_confirm} and .<=${today}"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"1422AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"ipv_retro","label":{"Urdu":"آئی پی وی","Roman Urdu":"IPV","English":"IPV"}},{"bind":{"jr:constraintMsg":{"Urdu":"حفاظتی ٹیکا ملنے کی تاریخ، بچے کی تاریخ پیدائش کے بعد اور آج کی تاریخ سے پہلے کی ہونی چاہیے","English":"The date of vaccination must be greater than the child's birthdate and less than today.","Roman Urdu":"Hifaazati teeka milnay ki tareekh, bachay ki tareekh-e-pedaaish ke baad aur aaj ki tareekh se phlay ki honi chahiye."},"relevant":"selected(${vaccines}, 'measles1')","constraint":".>= ${calc_dob_confirm} and .<=${today}"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"36AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"measles1_retro","label":{"Urdu":"خسرہ 1","Roman Urdu":"Measles 1","English":"Measles 1"}},{"bind":{"relevant":"selected(${vaccines}, 'measles1')","calculate":"1"},"type":"calculate","name":"measles1_dose","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"36AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"jr:constraintMsg":{"Urdu":"حفاظتی ٹیکا ملنے کی تاریخ، بچے کی تاریخ پیدائش کے بعد اور آج کی تاریخ سے پہلے کی ہونی چاہیے","English":"The date of vaccination must be greater than the child's birthdate and less than today.","Roman Urdu":"Hifaazati teeka milnay ki tareekh, bachay ki tareekh-e-pedaaish ke baad aur aaj ki tareekh se phlay ki honi chahiye."},"relevant":"selected(${vaccines}, 'measles2')","constraint":".>= ${calc_dob_confirm} and .<=${today}"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"36AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"measles2_retro","label":{"Urdu":"خسرہ 2","Roman Urdu":"Measles2","English":"Measles2"}},{"bind":{"relevant":"selected(${vaccines}, 'measles2')","calculate":"2"},"type":"calculate","name":"measles2_dose","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"36AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}}],"name":"vaccines_group"},{"name":"vaccines_2","choice_filter":"name = if(selected(${vaccines}, 'bcg'), '', 'bcg') or \nname = if(selected(${vaccines}, 'opv0'), '', 'opv0') or \nname = if(selected(${vaccines}, 'penta1'), '', 'penta1') or \nname = if(selected(${vaccines}, 'opv1'), '', 'opv1') or \nname = if(selected(${vaccines}, 'pcv1'), '', 'pcv1') or \nname = if(selected(${vaccines}, 'penta2'), '', 'penta2') or \nname = if(selected(${vaccines}, 'opv2'), '', 'opv2') or \nname = if(selected(${vaccines}, 'pcv2'), '', 'pcv2') or \nname = if(selected(${vaccines}, 'penta3'), '', 'penta3') or \nname = if(selected(${vaccines}, 'pcv3'), '', 'pcv3') or \nname = if(selected(${vaccines}, 'opv3'), '', 'opv3') or \nname = if(selected(${vaccines}, 'ipv'), '', 'ipv') or \nname = if(selected(${vaccines}, 'measles1'), '', 'measles1') or \nname = if(selected(${vaccines}, 'measles2'), '', 'measles2')","bind":{"required":"yes"},"label":{"Urdu":"آج کون کون سی ویکسین دی گئی ہیں؟","Roman Urdu":"Aaj kon kon si vaccine di gai hain?","English":"Vaccines administered today"},"itemset":"vaccines","instance":{"openmrs_entity":"concept","openmrs_entity_id":"984AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"1441AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"type":"select all that apply"},{"bind":{"calculate":"if(selected(${vaccines_2}, 'bcg'),${client_reg_date},'')"},"type":"calculate","name":"bcg","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"886AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"calculate":"if(selected(${vaccines_2}, 'opv0'),${client_reg_date},'')"},"type":"calculate","name":"opv0","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines_2}, 'opv0')","calculate":"0"},"type":"calculate","name":"opv0_dose_today","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"calculate":"if(selected(${vaccines_2}, 'pcv1'),${client_reg_date},'')"},"type":"calculate","name":"pcv1","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines_2}, 'pcv1')","calculate":"1"},"type":"calculate","name":"pcv1_dose_today","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"calculate":"if(selected(${vaccines_2}, 'opv1'),${client_reg_date},'')"},"type":"calculate","name":"opv1","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines_2}, 'opv1')","calculate":"1"},"type":"calculate","name":"opv1_dose_today","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"calculate":"if(selected(${vaccines_2}, 'penta1'),${client_reg_date},'')"},"type":"calculate","name":"penta1","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines_2}, 'penta1')","calculate":"1"},"type":"calculate","name":"penta1_dose_today","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"calculate":"if(selected(${vaccines_2}, 'pcv2'),${client_reg_date},'')"},"type":"calculate","name":"pcv2","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines_2}, 'pcv2')","calculate":"2"},"type":"calculate","name":"pcv2_dose_today","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"calculate":"if(selected(${vaccines_2}, 'opv2'),${client_reg_date},'')"},"type":"calculate","name":"opv2","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines_2}, 'opv2')","calculate":"2"},"type":"calculate","name":"opv2_dose_today","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"calculate":"if(selected(${vaccines_2}, 'penta2'),${client_reg_date},'')"},"type":"calculate","name":"penta2","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines_2}, 'penta2')","calculate":"2"},"type":"calculate","name":"penta2_dose_today","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"calculate":"if(selected(${vaccines_2}, 'pcv3'),${client_reg_date},'')"},"type":"calculate","name":"pcv3","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines_2}, 'pcv3')","calculate":"3"},"type":"calculate","name":"pcv3_dose_today","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"calculate":"if(selected(${vaccines_2}, 'opv3'),${client_reg_date},'')"},"type":"calculate","name":"opv3","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines_2}, 'opv3')","calculate":"3"},"type":"calculate","name":"opv3_dose_today","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"calculate":"if(selected(${vaccines_2}, 'penta3'),${client_reg_date},'')"},"type":"calculate","name":"penta3","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines_2}, 'penta3')","calculate":"3"},"type":"calculate","name":"penta3_dose_today","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines}, 'ipv')","calculate":"if(selected(${vaccines_2}, 'ipv'),${client_reg_date},'')"},"type":"calculate","name":"ipv","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"1422AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"calculate":"if(selected(${vaccines_2}, 'measles1'),${client_reg_date},'')"},"type":"calculate","name":"measles1","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"36AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines_2}, 'measles1')","calculate":"1"},"type":"calculate","name":"measles1_dose_today","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"36AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"calculate":"if(selected(${vaccines_2}, 'measles2'),${client_reg_date},'')"},"type":"calculate","name":"measles2","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"36AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines_2}, 'measles2')","calculate":"2"},"type":"calculate","name":"measles2_dose_today","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"36AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"control":{"bodyless":true},"type":"group","children":[{"bind":{"readonly":"true()","calculate":"concat('uuid:', uuid())"},"type":"calculate","name":"instanceID"}],"name":"meta"}]} \ No newline at end of file diff --git a/opensrp-core/bin/src/test/resources/form/child_enrollment/form.xml b/opensrp-core/bin/src/test/resources/form/child_enrollment/form.xml new file mode 100644 index 0000000000..f2bf538694 --- /dev/null +++ b/opensrp-core/bin/src/test/resources/form/child_enrollment/form.xml @@ -0,0 +1,1699 @@ +
+ + +

بچّوں کا انرولمنٹ رجسٹر برائے ٹیکاجات - Child Enrollment Vaccination Register

+
+
+ + کیا تاریخ پیدائش معلوم ہے؟ + Is birthdate known? + + Kya tareekh-e-pedaaish maloom hai? +
+ + +
+
+
+
+ + کیا آپ اپنے بچے کی اگلی ویکسین کی تاریخ کے لیے SMS موصول کرنا چاہتے ہیں؟ + Are you willing to receive SMS reminders for your next visit? + + Kya aap apnay bachay ki agli vaccine ki tareekh ke liye SMS mausool karna chahtay hain? + * +
+ + +
+
+
+ + + + + + + + + + + + + +
+
+
+ + آج کون کون سی ویکسین دی گئی ہیں؟ + Vaccines administered today + + Aaj kon kon si vaccine di gai hain? + * +
+ + + بی سی جی + BCG + + BCG + او پی وی 0 + OPV 0 + + OPV 0 + پی سی وی 1 + PCV 1 + + PCV 1 + او پی وی 1 + OPV 1 + + OPV 1 + پینٹا ویلنٹ 1 + Pentavalent 1 + + Pentavalent 1 + پی سی وی 2 + PCV 2 + + PCV 2 + او پی وی 2 + OPV 2 + + OPV 2 + پینٹا ویلنٹ 2 + Pentavalent 2 + + Pentavalent 2 + پی سی وی 3 + PCV 3 + + PCV 3 + او پی وی 3 + OPV 3 + + OPV 3 + پینٹا ویلنٹ 3 + Pentavalent 3 + + Pentavalent 3 + آئی پی وی + IPV + + IPV + خسرہ 1 + Measles 1 + + Khasra 1 + خسرہ 2 + Measles 2 + + Khasra 2 +
+
+
+ + diff --git a/opensrp-core/bin/src/test/resources/form/child_enrollment/form_definition.json b/opensrp-core/bin/src/test/resources/form/child_enrollment/form_definition.json new file mode 100644 index 0000000000..1ce99a2b64 --- /dev/null +++ b/opensrp-core/bin/src/test/resources/form/child_enrollment/form_definition.json @@ -0,0 +1,346 @@ +{ + "form_data_definition_version" : "1", + "form" : { + "bind_type" : "pkchild", + "default_bind_path" : "/model/instance/Child_Vaccination_Enrollment/", + "fields" : [ { + "name" : "id", + "shouldLoadValue" : true + }, { + "name" : "provider_uc", + "bind" : "/model/instance/Child_Vaccination_Enrollment/provider_uc", + "shouldLoadValue" : true + }, { + "name" : "provider_town", + "bind" : "/model/instance/Child_Vaccination_Enrollment/provider_town", + "shouldLoadValue" : true + }, { + "name" : "provider_city", + "bind" : "/model/instance/Child_Vaccination_Enrollment/provider_city", + "shouldLoadValue" : true + }, { + "name" : "provider_province", + "bind" : "/model/instance/Child_Vaccination_Enrollment/provider_province", + "shouldLoadValue" : true + }, { + "name" : "provider_id", + "bind" : "/model/instance/Child_Vaccination_Enrollment/provider_id", + "shouldLoadValue" : true + }, { + "name" : "provider_location_id", + "bind" : "/model/instance/Child_Vaccination_Enrollment/provider_location_id", + "shouldLoadValue" : true + }, { + "name" : "existing_program_client_id", + "bind" : "/model/instance/Child_Vaccination_Enrollment/existing_program_client_id", + "shouldLoadValue" : true + }, { + "name" : "provider_location_name", + "bind" : "/model/instance/Child_Vaccination_Enrollment/provider_location_name", + "shouldLoadValue" : true + }, { + "name" : "provider_location_note", + "bind" : "/model/instance/Child_Vaccination_Enrollment/provider_location_note" + }, { + "name" : "start", + "bind" : "/model/instance/Child_Vaccination_Enrollment/start" + }, { + "name" : "end", + "bind" : "/model/instance/Child_Vaccination_Enrollment/end" + }, { + "name" : "today", + "bind" : "/model/instance/Child_Vaccination_Enrollment/today" + }, { + "name" : "deviceid", + "bind" : "/model/instance/Child_Vaccination_Enrollment/deviceid" + }, { + "name" : "subscriberid", + "bind" : "/model/instance/Child_Vaccination_Enrollment/subscriberid" + }, { + "name" : "simserial", + "bind" : "/model/instance/Child_Vaccination_Enrollment/simserial" + }, { + "name" : "phonenumber", + "bind" : "/model/instance/Child_Vaccination_Enrollment/phonenumber" + }, { + "name" : "client_reg_date", + "bind" : "/model/instance/Child_Vaccination_Enrollment/client_reg_date" + }, { + "name" : "program_client_id", + "bind" : "/model/instance/Child_Vaccination_Enrollment/program_client_id" + }, { + "name" : "epi_card_number", + "bind" : "/model/instance/Child_Vaccination_Enrollment/epi_card_number" + }, { + "name" : "first_name", + "bind" : "/model/instance/Child_Vaccination_Enrollment/first_name" + }, { + "name" : "last_name", + "bind" : "/model/instance/Child_Vaccination_Enrollment/last_name" + }, { + "name" : "birth_date_known", + "bind" : "/model/instance/Child_Vaccination_Enrollment/member_birth_date_known" + }, { + "name" : "birth_date", + "bind" : "/model/instance/Child_Vaccination_Enrollment/member_birth_date" + }, { + "name" : "age", + "bind" : "/model/instance/Child_Vaccination_Enrollment/age" + }, { + "name" : "calc_age", + "bind" : "/model/instance/Child_Vaccination_Enrollment/calc_age" + }, { + "name" : "calc_dob", + "bind" : "/model/instance/Child_Vaccination_Enrollment/calc_dob" + }, { + "name" : "dob", + "bind" : "/model/instance/Child_Vaccination_Enrollment/calc_dob_confirm" + }, { + "name" : "calc_dob_estimated", + "bind" : "/model/instance/Child_Vaccination_Enrollment/calc_dob_estimated" + }, { + "name" : "calc_age_confirm", + "bind" : "/model/instance/Child_Vaccination_Enrollment/calc_age_confirm" + }, { + "name" : "gender", + "bind" : "/model/instance/Child_Vaccination_Enrollment/gender" + }, { + "name" : "mother_name", + "bind" : "/model/instance/Child_Vaccination_Enrollment/mother_name" + }, { + "name" : "ethnicity", + "bind" : "/model/instance/Child_Vaccination_Enrollment/ethnicity" + }, { + "name" : "ethnicity_other", + "bind" : "/model/instance/Child_Vaccination_Enrollment/ethnicity_other" + }, { + "name" : "province", + "bind" : "/model/instance/Child_Vaccination_Enrollment/province" + }, { + "name" : "city_village", + "bind" : "/model/instance/Child_Vaccination_Enrollment/city_village" + }, { + "name" : "town", + "bind" : "/model/instance/Child_Vaccination_Enrollment/town" + }, { + "name" : "union_council", + "bind" : "/model/instance/Child_Vaccination_Enrollment/union_council" + }, { + "name" : "house_number", + "bind" : "/model/instance/Child_Vaccination_Enrollment/house_number" + }, { + "name" : "street", + "bind" : "/model/instance/Child_Vaccination_Enrollment/street" + }, { + "name" : "landmark", + "bind" : "/model/instance/Child_Vaccination_Enrollment/landmark" + }, { + "name" : "provincename", + "bind" : "/model/instance/Child_Vaccination_Enrollment/provincename" + }, { + "name" : "city_villagename", + "bind" : "/model/instance/Child_Vaccination_Enrollment/city_villagename" + }, { + "name" : "townname", + "bind" : "/model/instance/Child_Vaccination_Enrollment/townname" + }, { + "name" : "union_councilname", + "bind" : "/model/instance/Child_Vaccination_Enrollment/union_councilname" + }, { + "name" : "address", + "bind" : "/model/instance/Child_Vaccination_Enrollment/address" + }, { + "name" : "centre_gps", + "bind" : "/model/instance/Child_Vaccination_Enrollment/centre_gps" + }, { + "name" : "child_was_suffering_from_a_disease_at_birth", + "bind" : "/model/instance/Child_Vaccination_Enrollment/child_was_suffering_from_a_disease_at_birth" + }, { + "name" : "reminders_approval", + "bind" : "/model/instance/Child_Vaccination_Enrollment/reminders_approval" + }, { + "name" : "contact_phone_number", + "bind" : "/model/instance/Child_Vaccination_Enrollment/contact_phone_number" + }, { + "name" : "six_weeks", + "bind" : "/model/instance/Child_Vaccination_Enrollment/six_weeks" + }, { + "name" : "ten_weeks", + "bind" : "/model/instance/Child_Vaccination_Enrollment/ten_weeks" + }, { + "name" : "forteen_weeks", + "bind" : "/model/instance/Child_Vaccination_Enrollment/forteen_weeks" + }, { + "name" : "nine_months", + "bind" : "/model/instance/Child_Vaccination_Enrollment/nine_months" + }, { + "name" : "fifteen_months", + "bind" : "/model/instance/Child_Vaccination_Enrollment/fifteen_months" + }, { + "name" : "vaccines", + "bind" : "/model/instance/Child_Vaccination_Enrollment/vaccines" + }, { + "name" : "bcg_retro", + "bind" : "/model/instance/Child_Vaccination_Enrollment/vaccines_group/bcg_retro" + }, { + "name" : "opv0_retro", + "bind" : "/model/instance/Child_Vaccination_Enrollment/vaccines_group/opv0_retro" + }, { + "name" : "opv0_dose", + "bind" : "/model/instance/Child_Vaccination_Enrollment/vaccines_group/opv0_dose" + }, { + "name" : "pcv1_retro", + "bind" : "/model/instance/Child_Vaccination_Enrollment/vaccines_group/pcv1_retro" + }, { + "name" : "pcv1_dose", + "bind" : "/model/instance/Child_Vaccination_Enrollment/vaccines_group/pcv1_dose" + }, { + "name" : "opv1_retro", + "bind" : "/model/instance/Child_Vaccination_Enrollment/vaccines_group/opv1_retro" + }, { + "name" : "opv1_dose", + "bind" : "/model/instance/Child_Vaccination_Enrollment/vaccines_group/opv1_dose" + }, { + "name" : "penta1_retro", + "bind" : "/model/instance/Child_Vaccination_Enrollment/vaccines_group/penta1_retro" + }, { + "name" : "penta1_dose", + "bind" : "/model/instance/Child_Vaccination_Enrollment/vaccines_group/penta1_dose" + }, { + "name" : "pcv2_retro", + "bind" : "/model/instance/Child_Vaccination_Enrollment/vaccines_group/pcv2_retro" + }, { + "name" : "pcv2_dose", + "bind" : "/model/instance/Child_Vaccination_Enrollment/vaccines_group/pcv2_dose" + }, { + "name" : "opv2_retro", + "bind" : "/model/instance/Child_Vaccination_Enrollment/vaccines_group/opv2_retro" + }, { + "name" : "opv2_dose", + "bind" : "/model/instance/Child_Vaccination_Enrollment/vaccines_group/opv2_dose" + }, { + "name" : "penta2_retro", + "bind" : "/model/instance/Child_Vaccination_Enrollment/vaccines_group/penta2_retro" + }, { + "name" : "penta2_dose", + "bind" : "/model/instance/Child_Vaccination_Enrollment/vaccines_group/penta2_dose" + }, { + "name" : "pcv3_retro", + "bind" : "/model/instance/Child_Vaccination_Enrollment/vaccines_group/pcv3_retro" + }, { + "name" : "pcv3_dose", + "bind" : "/model/instance/Child_Vaccination_Enrollment/vaccines_group/pcv3_dose" + }, { + "name" : "opv3_retro", + "bind" : "/model/instance/Child_Vaccination_Enrollment/vaccines_group/opv3_retro" + }, { + "name" : "opv3_dose", + "bind" : "/model/instance/Child_Vaccination_Enrollment/vaccines_group/opv3_dose" + }, { + "name" : "penta3_retro", + "bind" : "/model/instance/Child_Vaccination_Enrollment/vaccines_group/penta3_retro" + }, { + "name" : "penta3_dose", + "bind" : "/model/instance/Child_Vaccination_Enrollment/vaccines_group/penta3_dose" + }, { + "name" : "ipv_retro", + "bind" : "/model/instance/Child_Vaccination_Enrollment/vaccines_group/ipv_retro" + }, { + "name" : "measles1_retro", + "bind" : "/model/instance/Child_Vaccination_Enrollment/vaccines_group/measles1_retro" + }, { + "name" : "measles1_dose", + "bind" : "/model/instance/Child_Vaccination_Enrollment/vaccines_group/measles1_dose" + }, { + "name" : "measles2_retro", + "bind" : "/model/instance/Child_Vaccination_Enrollment/vaccines_group/measles2_retro" + }, { + "name" : "measles2_dose", + "bind" : "/model/instance/Child_Vaccination_Enrollment/vaccines_group/measles2_dose" + }, { + "name" : "vaccines_2", + "bind" : "/model/instance/Child_Vaccination_Enrollment/vaccines_2" + }, { + "name" : "bcg", + "bind" : "/model/instance/Child_Vaccination_Enrollment/bcg" + }, { + "name" : "opv0", + "bind" : "/model/instance/Child_Vaccination_Enrollment/opv0" + }, { + "name" : "opv0_dose_today", + "bind" : "/model/instance/Child_Vaccination_Enrollment/opv0_dose_today" + }, { + "name" : "pcv1", + "bind" : "/model/instance/Child_Vaccination_Enrollment/pcv1" + }, { + "name" : "pcv1_dose_today", + "bind" : "/model/instance/Child_Vaccination_Enrollment/pcv1_dose_today" + }, { + "name" : "opv1", + "bind" : "/model/instance/Child_Vaccination_Enrollment/opv1" + }, { + "name" : "opv1_dose_today", + "bind" : "/model/instance/Child_Vaccination_Enrollment/opv1_dose_today" + }, { + "name" : "penta1", + "bind" : "/model/instance/Child_Vaccination_Enrollment/penta1" + }, { + "name" : "penta1_dose_today", + "bind" : "/model/instance/Child_Vaccination_Enrollment/penta1_dose_today" + }, { + "name" : "pcv2", + "bind" : "/model/instance/Child_Vaccination_Enrollment/pcv2" + }, { + "name" : "pcv2_dose_today", + "bind" : "/model/instance/Child_Vaccination_Enrollment/pcv2_dose_today" + }, { + "name" : "opv2", + "bind" : "/model/instance/Child_Vaccination_Enrollment/opv2" + }, { + "name" : "opv2_dose_today", + "bind" : "/model/instance/Child_Vaccination_Enrollment/opv2_dose_today" + }, { + "name" : "penta2", + "bind" : "/model/instance/Child_Vaccination_Enrollment/penta2" + }, { + "name" : "penta2_dose_today", + "bind" : "/model/instance/Child_Vaccination_Enrollment/penta2_dose_today" + }, { + "name" : "pcv3", + "bind" : "/model/instance/Child_Vaccination_Enrollment/pcv3" + }, { + "name" : "pcv3_dose_today", + "bind" : "/model/instance/Child_Vaccination_Enrollment/pcv3_dose_today" + }, { + "name" : "opv3", + "bind" : "/model/instance/Child_Vaccination_Enrollment/opv3" + }, { + "name" : "opv3_dose_today", + "bind" : "/model/instance/Child_Vaccination_Enrollment/opv3_dose_today" + }, { + "name" : "penta3", + "bind" : "/model/instance/Child_Vaccination_Enrollment/penta3" + }, { + "name" : "penta3_dose_today", + "bind" : "/model/instance/Child_Vaccination_Enrollment/penta3_dose_today" + }, { + "name" : "ipv", + "bind" : "/model/instance/Child_Vaccination_Enrollment/ipv" + }, { + "name" : "measles1", + "bind" : "/model/instance/Child_Vaccination_Enrollment/measles1" + }, { + "name" : "measles1_dose_today", + "bind" : "/model/instance/Child_Vaccination_Enrollment/measles1_dose_today" + }, { + "name" : "measles2", + "bind" : "/model/instance/Child_Vaccination_Enrollment/measles2" + }, { + "name" : "measles2_dose_today", + "bind" : "/model/instance/Child_Vaccination_Enrollment/measles2_dose_today" + }, { + "name" : "instanceID", + "bind" : "/model/instance/Child_Vaccination_Enrollment/meta/instanceID" + } ] + } +} \ No newline at end of file diff --git a/opensrp-core/bin/src/test/resources/form/child_enrollment/form_submission1.json b/opensrp-core/bin/src/test/resources/form/child_enrollment/form_submission1.json new file mode 100644 index 0000000000..bb4e03776f --- /dev/null +++ b/opensrp-core/bin/src/test/resources/form/child_enrollment/form_submission1.json @@ -0,0 +1,427 @@ +{ + "_id": "ff5311680dfc931b443c435e1703d8a8", + "_rev": "1-f0e0db153894af4d10be9b0217ac8c68", + "type": "FormSubmission", + "anmId": "demotest", + "instanceId": "bb9a9683-018a-41b7-9dc6-af2fa88aba12", + "formName": "child_enrollment", + "entityId": "7976dc69-d749-4ec7-82ce-bda37f466f59", + "clientVersion": 1447133829039, + "formDataDefinitionVersion": "1", + "formInstance": { + "form_data_definition_version": "1", + "form": { + "bind_type": "pkchild", + "default_bind_path": "/model/instance/Child_Enrollment_Vaccination_Register", + "fields": [ + { + "name": "id", + "value": "7976dc69-d749-4ec7-82ce-bda37f466f59", + "source": "vaccine_child.id" + }, + { + "name": "provider_uc", + "value": "korangi", + "source": "vaccine_child.provider_uc" + }, + { + "name": "provider_town", + "value": "korangi", + "source": "vaccine_child.provider_town" + }, + { + "name": "provider_city", + "value": "karachi", + "source": "vaccine_child.provider_city" + }, + { + "name": "provider_province", + "value": "sindh", + "source": "vaccine_child.provider_province" + }, + { + "name": "existing_location", + "source": "vaccine_child.existing_location" + }, + { + "name": "location_name", + "source": "vaccine_child.location_name" + }, + { + "name": "provider_location_note", + "source": "vaccine_child.provider_location_note" + }, + { + "name": "child_reg_date", + "value": "2015-11-10", + "source": "vaccine_child.child_reg_date" + }, + { + "name": "existing_program_client_id", + "value": "0149-5", + "source": "vaccine_child.existing_program_client_id" + }, + { + "name": "epi_card_number", + "value": "12345", + "source": "vaccine_child.epi_card_number" + }, + { + "name": "first_name", + "value": "syed saad", + "source": "vaccine_child.first_name" + }, + { + "name": "last_name", + "value": "dddd", + "source": "vaccine_child.last_name" + }, + { + "name": "child_birth_date_known", + "value": "yes", + "source": "vaccine_child.child_birth_date_known" + }, + { + "name": "dob", + "value": "2015-11-10", + "source": "vaccine_child.child_birth_date" + }, + { + "name": "age", + "source": "vaccine_child.age" + }, + { + "name": "child_age", + "value": "0", + "source": "vaccine_child.child_age" + }, + { + "name": "child_dob", + "value": "2015-10-10", + "source": "vaccine_child.child_dob" + }, + { + "name": "chid_dob_confirm", + "value": "2015-10-10", + "source": "vaccine_child.chid_dob_confirm" + }, + { + "name": "child_dob_estimated", + "value": "0", + "source": "vaccine_child.child_dob_estimated" + }, + { + "name": "child_birth_date_note", + "source": "vaccine_child.child_birth_date_note" + }, + { + "name": "gender", + "value": "male", + "source": "vaccine_child.gender" + }, + { + "name": "father_name", + "value": "shamsher", + "source": "vaccine_child.father_name" + }, + { + "name": "mother_name", + "value": "ghbn", + "source": "vaccine_child.mother_name" + }, + { + "name": "ethnicity", + "value": "hhggg", + "source": "vaccine_child.ethnicity" + }, + { + "name": "province", + "value": "sindh", + "source": "vaccine_child.province" + }, + { + "name": "city_village", + "source": "vaccine_child.city_village" + }, + { + "name": "town", + "source": "vaccine_child.town" + }, + { + "name": "union_council", + "source": "vaccine_child.union_council" + }, + { + "name": "house_number", + "value": "152", + "source": "vaccine_child.house_number" + }, + { + "name": "street", + "value": "uhhh", + "source": "vaccine_child.street" + }, + { + "name": "landmark", + "source": "vaccine_child.landmark" + }, + { + "name": "center_gps", + "value": "24.8637 67.0757 0 30", + "source": "vaccine_child.center_gps" + }, + { + "name": "vaccines", + "source": "vaccine_child.vaccines" + }, + { + "name": "bcg", + "source": "vaccine_child.bcg" + }, + { + "name": "opv_0_retro", + "source": "vaccine_child.opv_0_retro" + }, + { + "name": "opv_0_dose", + "value": "0", + "source": "vaccine_child.opv_0_dose" + }, + { + "name": "pcv_1_retro", + "source": "vaccine_child.pcv_1_retro" + }, + { + "name": "pcv_1_dose", + "value": "1", + "source": "vaccine_child.pcv_1_dose" + }, + { + "name": "opv_1_retro", + "source": "vaccine_child.opv_1_retro" + }, + { + "name": "opv_1_dose", + "value": "1", + "source": "vaccine_child.opv_1_dose" + }, + { + "name": "pentavalent_1_retro", + "source": "vaccine_child.pentavalent_1_retro" + }, + { + "name": "pentavalent_1_dose", + "value": "1", + "source": "vaccine_child.pentavalent_1_dose" + }, + { + "name": "pcv_2_retro", + "source": "vaccine_child.pcv_2_retro" + }, + { + "name": "pcv_2_dose", + "value": "2", + "source": "vaccine_child.pcv_2_dose" + }, + { + "name": "opv_2_retro", + "source": "vaccine_child.opv_2_retro" + }, + { + "name": "opv_2_dose", + "value": "2", + "source": "vaccine_child.opv_2_dose" + }, + { + "name": "pentavalent_2_retro", + "source": "vaccine_child.pentavalent_2_retro" + }, + { + "name": "pentavalent_2_dose", + "value": "2", + "source": "vaccine_child.pentavalent_2_dose" + }, + { + "name": "pcv_3_retro", + "source": "vaccine_child.pcv_3_retro" + }, + { + "name": "pcv_3_dose", + "value": "3", + "source": "vaccine_child.pcv_3_dose" + }, + { + "name": "opv_3_retro", + "source": "vaccine_child.opv_3_retro" + }, + { + "name": "opv_3_dose", + "value": "3", + "source": "vaccine_child.opv_3_dose" + }, + { + "name": "pentavalent_3_retro", + "source": "vaccine_child.pentavalent_3_retro" + }, + { + "name": "pentavalent_3_dose", + "value": "3", + "source": "vaccine_child.pentavalent_3_dose" + }, + { + "name": "measles_1_retro", + "source": "vaccine_child.measles_1_retro" + }, + { + "name": "measles_1_dose", + "value": "1", + "source": "vaccine_child.measles_1_dose" + }, + { + "name": "measles_2_retro", + "source": "vaccine_child.measles_2_retro" + }, + { + "name": "measles_2_dose", + "value": "2", + "source": "vaccine_child.measles_2_dose" + }, + { + "name": "vaccines_2", + "value": "opv_0 pcv_1", + "source": "vaccine_child.vaccines_2" + }, + { + "name": "child_was_suffering_from_a_disease_at_birth", + "value": "no", + "source": "vaccine_child.child_was_suffering_from_a_disease_at_birth" + }, + { + "name": "reminders_approval", + "value": "no", + "source": "vaccine_child.reminders_approval" + }, + { + "name": "contact_phone_number", + "source": "vaccine_child.contact_phone_number" + }, + { + "name": "bcg_today", + "source": "vaccine_child.bcg_today" + }, + { + "name": "opv_0", + "value": "2015-11-10", + "source": "vaccine_child.opv_0" + }, + { + "name": "opv_0_dose_today", + "value": "0", + "source": "vaccine_child.opv_0_dose_today" + }, + { + "name": "pcv_1", + "value": "2015-11-10", + "source": "vaccine_child.pcv_1" + }, + { + "name": "pcv_1_dose_today", + "value": "1", + "source": "vaccine_child.pcv_1_dose_today" + }, + { + "name": "opv_1", + "source": "vaccine_child.opv_1" + }, + { + "name": "opv_1_dose_today", + "value": "1", + "source": "vaccine_child.opv_1_dose_today" + }, + { + "name": "pentavalent_1", + "source": "vaccine_child.pentavalent_1" + }, + { + "name": "pentavalent_1_dose_today", + "value": "1", + "source": "vaccine_child.pentavalent_1_dose_today" + }, + { + "name": "pcv_2", + "source": "vaccine_child.pcv_2" + }, + { + "name": "pcv_2_dose_today", + "value": "2", + "source": "vaccine_child.pcv_2_dose_today" + }, + { + "name": "opv_2", + "source": "vaccine_child.opv_2" + }, + { + "name": "opv_2_dose_today", + "value": "2", + "source": "vaccine_child.opv_2_dose_today" + }, + { + "name": "pentavalent_2", + "source": "vaccine_child.pentavalent_2" + }, + { + "name": "pentavalent_2_dose_today", + "value": "2", + "source": "vaccine_child.pentavalent_2_dose_today" + }, + { + "name": "pcv_3", + "source": "vaccine_child.pcv_3" + }, + { + "name": "pcv_3_dose_today", + "value": "3", + "source": "vaccine_child.pcv_3_dose_today" + }, + { + "name": "opv_3", + "source": "vaccine_child.opv_3" + }, + { + "name": "opv_3_dose_today", + "value": "3", + "source": "vaccine_child.opv_3_dose_today" + }, + { + "name": "pentavalent_3", + "source": "vaccine_child.pentavalent_3" + }, + { + "name": "pentavalent_3_dose_today", + "value": "3", + "source": "vaccine_child.pentavalent_3_dose_today" + }, + { + "name": "measles_1", + "source": "vaccine_child.measles_1" + }, + { + "name": "measles_1_dose_today", + "value": "1", + "source": "vaccine_child.measles_1_dose_today" + }, + { + "name": "measles_2", + "source": "vaccine_child.measles_2" + }, + { + "name": "measles_2_dose_today", + "value": "2", + "source": "vaccine_child.measles_2_dose_today" + } + ] + } + }, + "serverVersion": 1447133792547 +} + diff --git a/opensrp-core/bin/src/test/resources/form/child_enrollment/form_submission2.json b/opensrp-core/bin/src/test/resources/form/child_enrollment/form_submission2.json new file mode 100644 index 0000000000..f4bd30636a --- /dev/null +++ b/opensrp-core/bin/src/test/resources/form/child_enrollment/form_submission2.json @@ -0,0 +1,428 @@ +{ + "_id": "ff5311680dfc931b443c435e1703d8a8", + "_rev": "1-f0e0db153894af4d10be9b0217ac8c68", + "type": "FormSubmission", + "anmId": "demotest", + "instanceId": "bb9a9683-018a-41b7-9dc6-af2fa88aba12", + "formName": "child_enrollment", + "entityId": "7976dc69-d749-4ec7-82ce-bda37f466f59", + "clientVersion": 1447133829039, + "formDataDefinitionVersion": "1", + "formInstance": { + "form_data_definition_version": "1", + "form": { + "bind_type": "pkchild", + "default_bind_path": "/model/instance/Child_Enrollment_Vaccination_Register", + "fields": [ + { + "name": "id", + "value": "7976dc69-d749-4ec7-82ce-bda37f466f59", + "source": "vaccine_child.id" + }, + { + "name": "provider_uc", + "value": "korangi", + "source": "vaccine_child.provider_uc" + }, + { + "name": "provider_town", + "value": "korangi", + "source": "vaccine_child.provider_town" + }, + { + "name": "provider_city", + "value": "karachi", + "source": "vaccine_child.provider_city" + }, + { + "name": "provider_province", + "value": "sindh", + "source": "vaccine_child.provider_province" + }, + { + "name": "existing_location", + "source": "vaccine_child.existing_location" + }, + { + "name": "location_name", + "source": "vaccine_child.location_name" + }, + { + "name": "provider_location_note", + "source": "vaccine_child.provider_location_note" + }, + { + "name": "child_reg_date", + "value": "2015-11-10", + "source": "vaccine_child.child_reg_date" + }, + { + "name": "existing_program_client_id", + "value": "0149-5", + "source": "vaccine_child.existing_program_client_id" + }, + { + "name": "epi_card_number", + "value": "12345", + "source": "vaccine_child.epi_card_number" + }, + { + "name": "first_name", + "value": "syed saad", + "source": "vaccine_child.first_name" + }, + { + "name": "last_name", + "value": "dddd", + "source": "vaccine_child.last_name" + }, + { + "name": "child_birth_date_known", + "value": "yes", + "source": "vaccine_child.child_birth_date_known" + }, + { + "name": "dob", + "value": "2015-11-10", + "source": "vaccine_child.child_birth_date" + }, + { + "name": "age", + "source": "vaccine_child.age" + }, + { + "name": "child_age", + "value": "0", + "source": "vaccine_child.child_age" + }, + { + "name": "child_dob", + "value": "2015-10-10", + "source": "vaccine_child.child_dob" + }, + { + "name": "chid_dob_confirm", + "value": "2015-10-10", + "source": "vaccine_child.chid_dob_confirm" + }, + { + "name": "child_dob_estimated", + "value": "0", + "source": "vaccine_child.child_dob_estimated" + }, + { + "name": "child_birth_date_note", + "source": "vaccine_child.child_birth_date_note" + }, + { + "name": "gender", + "value": "male", + "source": "vaccine_child.gender" + }, + { + "name": "father_name", + "value": "shamsher", + "source": "vaccine_child.father_name" + }, + { + "name": "mother_name", + "value": "ghbn", + "source": "vaccine_child.mother_name" + }, + { + "name": "ethnicity", + "value": "hhggg", + "source": "vaccine_child.ethnicity" + }, + { + "name": "province", + "value": "sindh", + "source": "vaccine_child.province" + }, + { + "name": "city_village", + "source": "vaccine_child.city_village" + }, + { + "name": "town", + "source": "vaccine_child.town" + }, + { + "name": "union_council", + "source": "vaccine_child.union_council" + }, + { + "name": "house_number", + "value": "152", + "source": "vaccine_child.house_number" + }, + { + "name": "street", + "value": "uhhh", + "source": "vaccine_child.street" + }, + { + "name": "landmark", + "source": "vaccine_child.landmark" + }, + { + "name": "center_gps", + "value": "24.8637 67.0757 0 30", + "source": "vaccine_child.center_gps" + }, + { + "name": "vaccines", + "source": "vaccine_child.vaccines" + }, + { + "name": "bcg", + "source": "vaccine_child.bcg" + }, + { + "name": "opv_0_retro", + "source": "vaccine_child.opv_0_retro" + }, + { + "name": "opv_0_dose", + "value": "0", + "source": "vaccine_child.opv_0_dose" + }, + { + "name": "pcv_1_retro", + "source": "vaccine_child.pcv_1_retro" + }, + { + "name": "pcv_1_dose", + "value": "1", + "source": "vaccine_child.pcv_1_dose" + }, + { + "name": "opv_1_retro", + "source": "vaccine_child.opv_1_retro" + }, + { + "name": "opv_1_dose", + "value": "1", + "source": "vaccine_child.opv_1_dose" + }, + { + "name": "pentavalent_1_retro", + "value": "2015-11-09", + "source": "vaccine_child.pentavalent_1_retro" + }, + { + "name": "pentavalent_1_dose", + "value": "1", + "source": "vaccine_child.pentavalent_1_dose" + }, + { + "name": "pcv_2_retro", + "source": "vaccine_child.pcv_2_retro" + }, + { + "name": "pcv_2_dose", + "value": "2", + "source": "vaccine_child.pcv_2_dose" + }, + { + "name": "opv_2_retro", + "source": "vaccine_child.opv_2_retro" + }, + { + "name": "opv_2_dose", + "value": "2", + "source": "vaccine_child.opv_2_dose" + }, + { + "name": "pentavalent_2_retro", + "source": "vaccine_child.pentavalent_2_retro" + }, + { + "name": "pentavalent_2_dose", + "value": "2", + "source": "vaccine_child.pentavalent_2_dose" + }, + { + "name": "pcv_3_retro", + "source": "vaccine_child.pcv_3_retro" + }, + { + "name": "pcv_3_dose", + "value": "3", + "source": "vaccine_child.pcv_3_dose" + }, + { + "name": "opv_3_retro", + "source": "vaccine_child.opv_3_retro" + }, + { + "name": "opv_3_dose", + "value": "3", + "source": "vaccine_child.opv_3_dose" + }, + { + "name": "pentavalent_3_retro", + "source": "vaccine_child.pentavalent_3_retro" + }, + { + "name": "pentavalent_3_dose", + "value": "3", + "source": "vaccine_child.pentavalent_3_dose" + }, + { + "name": "measles_1_retro", + "source": "vaccine_child.measles_1_retro" + }, + { + "name": "measles_1_dose", + "value": "1", + "source": "vaccine_child.measles_1_dose" + }, + { + "name": "measles_2_retro", + "source": "vaccine_child.measles_2_retro" + }, + { + "name": "measles_2_dose", + "value": "2", + "source": "vaccine_child.measles_2_dose" + }, + { + "name": "vaccines_2", + "value": "opv_0 pcv_1", + "source": "vaccine_child.vaccines_2" + }, + { + "name": "child_was_suffering_from_a_disease_at_birth", + "value": "no", + "source": "vaccine_child.child_was_suffering_from_a_disease_at_birth" + }, + { + "name": "reminders_approval", + "value": "no", + "source": "vaccine_child.reminders_approval" + }, + { + "name": "contact_phone_number", + "source": "vaccine_child.contact_phone_number" + }, + { + "name": "bcg_today", + "source": "vaccine_child.bcg_today" + }, + { + "name": "opv_0", + "value": "2015-11-10", + "source": "vaccine_child.opv_0" + }, + { + "name": "opv_0_dose_today", + "value": "0", + "source": "vaccine_child.opv_0_dose_today" + }, + { + "name": "pcv_1", + "value": "2015-11-10", + "source": "vaccine_child.pcv_1" + }, + { + "name": "pcv_1_dose_today", + "value": "1", + "source": "vaccine_child.pcv_1_dose_today" + }, + { + "name": "opv_1", + "source": "vaccine_child.opv_1" + }, + { + "name": "opv_1_dose_today", + "value": "1", + "source": "vaccine_child.opv_1_dose_today" + }, + { + "name": "pentavalent_1", + "source": "vaccine_child.pentavalent_1" + }, + { + "name": "pentavalent_1_dose_today", + "value": "1", + "source": "vaccine_child.pentavalent_1_dose_today" + }, + { + "name": "pcv_2", + "source": "vaccine_child.pcv_2" + }, + { + "name": "pcv_2_dose_today", + "value": "2", + "source": "vaccine_child.pcv_2_dose_today" + }, + { + "name": "opv_2", + "source": "vaccine_child.opv_2" + }, + { + "name": "opv_2_dose_today", + "value": "2", + "source": "vaccine_child.opv_2_dose_today" + }, + { + "name": "pentavalent_2", + "source": "vaccine_child.pentavalent_2" + }, + { + "name": "pentavalent_2_dose_today", + "value": "2", + "source": "vaccine_child.pentavalent_2_dose_today" + }, + { + "name": "pcv_3", + "source": "vaccine_child.pcv_3" + }, + { + "name": "pcv_3_dose_today", + "value": "3", + "source": "vaccine_child.pcv_3_dose_today" + }, + { + "name": "opv_3", + "source": "vaccine_child.opv_3" + }, + { + "name": "opv_3_dose_today", + "value": "3", + "source": "vaccine_child.opv_3_dose_today" + }, + { + "name": "pentavalent_3", + "source": "vaccine_child.pentavalent_3" + }, + { + "name": "pentavalent_3_dose_today", + "value": "3", + "source": "vaccine_child.pentavalent_3_dose_today" + }, + { + "name": "measles_1", + "source": "vaccine_child.measles_1" + }, + { + "name": "measles_1_dose_today", + "value": "1", + "source": "vaccine_child.measles_1_dose_today" + }, + { + "name": "measles_2", + "source": "vaccine_child.measles_2" + }, + { + "name": "measles_2_dose_today", + "value": "2", + "source": "vaccine_child.measles_2_dose_today" + } + ] + } + }, + "serverVersion": 1447133792547 +} + diff --git a/opensrp-core/bin/src/test/resources/form/child_enrollment/form_submission3.json b/opensrp-core/bin/src/test/resources/form/child_enrollment/form_submission3.json new file mode 100644 index 0000000000..495ef2b1cd --- /dev/null +++ b/opensrp-core/bin/src/test/resources/form/child_enrollment/form_submission3.json @@ -0,0 +1,261 @@ +{ + "type": "FormSubmission", + "anmId": "demotest", + "instanceId": "1996b940-181e-46d5-bf8f-630bef2880a9", + "formName": "child_enrollment", + "entityId": "8cc8cbca-7c39-4c57-b8c7-5ccd5cf88af7", + "clientVersion": 1449572774009, + "formDataDefinitionVersion": "1", + "formInstance": { + "form_data_definition_version": "1", + "form": { + "bind_type": "pkchild", + "default_bind_path": "/model/instance/Child_Enrollment_Vaccination_Register", + "fields": [ + { + "name": "id", + "value": "8cc8cbca-7c39-4c57-b8c7-5ccd5cf88af7", + "source": "pkchild.id" + }, + { + "name": "child_reg_date", + "value": "2015-11-02", + "source": "pkchild.child_reg_date" + }, + { + "name": "dob", + "value": "2014-12-13", + "source": "pkchild.child_birth_date" + }, + { + "name": "age", + "value": "12", + "source": "pkchild.age" + }, + { + "name": "child_dob_estimated", + "value": "1", + "source": "pkchild.child_dob_estimated" + }, + { + "name": "vaccines", + "source": "pkchild.vaccines" + }, + { + "name": "bcg_retro", + "source": "pkchild.bcg_retro" + }, + { + "name": "opv_0_retro", + "source": "pkchild.opv_0_retro" + }, + { + "name": "opv_0_dose", + "source": "pkchild.opv_0_dose" + }, + { + "name": "pcv_1_retro", + "source": "pkchild.pcv_1_retro" + }, + { + "name": "pcv_1_dose", + "source": "pkchild.pcv_1_dose" + }, + { + "name": "opv_1_retro", + "source": "pkchild.opv_1_retro" + }, + { + "name": "opv_1_dose", + "source": "pkchild.opv_1_dose" + }, + { + "name": "pentavalent_1_retro", + "source": "pkchild.pentavalent_1_retro" + }, + { + "name": "pentavalent_1_dose", + "source": "pkchild.pentavalent_1_dose" + }, + { + "name": "pcv_2_retro", + "source": "pkchild.pcv_2_retro" + }, + { + "name": "pcv_2_dose", + "source": "pkchild.pcv_2_dose" + }, + { + "name": "opv_2_retro", + "source": "pkchild.opv_2_retro" + }, + { + "name": "opv_2_dose", + "source": "pkchild.opv_2_dose" + }, + { + "name": "pentavalent_2_retro", + "source": "pkchild.pentavalent_2_retro" + }, + { + "name": "pentavalent_2_dose", + "source": "pkchild.pentavalent_2_dose" + }, + { + "name": "pcv_3_retro", + "source": "pkchild.pcv_3_retro" + }, + { + "name": "pcv_3_dose", + "source": "pkchild.pcv_3_dose" + }, + { + "name": "opv_3_retro", + "source": "pkchild.opv_3_retro" + }, + { + "name": "opv_3_dose", + "source": "pkchild.opv_3_dose" + }, + { + "name": "pentavalent_3_retro", + "source": "pkchild.pentavalent_3_retro" + }, + { + "name": "pentavalent_3_dose", + "source": "pkchild.pentavalent_3_dose" + }, + { + "name": "measles_1_retro", + "source": "pkchild.measles_1_retro" + }, + { + "name": "measles_1_dose", + "source": "pkchild.measles_1_dose" + }, + { + "name": "measles_2_retro", + "source": "pkchild.measles_2_retro" + }, + { + "name": "measles_2_dose", + "source": "pkchild.measles_2_dose" + }, + { + "name": "vaccines2", + "value": "bcg opv_0", + "source": "pkchild.vaccines2" + }, + { + "name": "contact_phone_number", + "value": "3332525252", + "source": "pkchild.contact_phone_number" + }, + { + "name": "bcg", + "value": "2015-11-02", + "source": "pkchild.bcg" + }, + { + "name": "opv_0", + "value": "2015-11-02", + "source": "pkchild.opv_0" + }, + { + "name": "opv_0_dose_today", + "value": "0", + "source": "pkchild.opv_0_dose_today" + }, + { + "name": "pcv_1", + "source": "pkchild.pcv_1" + }, + { + "name": "pcv_1_dose_today", + "source": "pkchild.pcv_1_dose_today" + }, + { + "name": "opv_1", + "source": "pkchild.opv_1" + }, + { + "name": "opv_1_dose_today", + "source": "pkchild.opv_1_dose_today" + }, + { + "name": "pentavalent_1", + "source": "pkchild.pentavalent_1" + }, + { + "name": "pentavalent_1_dose_today", + "source": "pkchild.pentavalent_1_dose_today" + }, + { + "name": "pcv_2", + "source": "pkchild.pcv_2" + }, + { + "name": "pcv_2_dose_today", + "source": "pkchild.pcv_2_dose_today" + }, + { + "name": "opv_2", + "source": "pkchild.opv_2" + }, + { + "name": "opv_2_dose_today", + "source": "pkchild.opv_2_dose_today" + }, + { + "name": "pentavalent_2", + "source": "pkchild.pentavalent_2" + }, + { + "name": "pentavalent_2_dose_today", + "source": "pkchild.pentavalent_2_dose_today" + }, + { + "name": "pcv_3", + "source": "pkchild.pcv_3" + }, + { + "name": "pcv_3_dose_today", + "source": "pkchild.pcv_3_dose_today" + }, + { + "name": "opv_3", + "source": "pkchild.opv_3" + }, + { + "name": "opv_3_dose_today", + "source": "pkchild.opv_3_dose_today" + }, + { + "name": "pentavalent_3", + "source": "pkchild.pentavalent_3" + }, + { + "name": "pentavalent_3_dose_today", + "source": "pkchild.pentavalent_3_dose_today" + }, + { + "name": "measles_1", + "source": "pkchild.measles_1" + }, + { + "name": "measles_1_dose_today", + "source": "pkchild.measles_1_dose_today" + }, + { + "name": "measles_2", + "source": "pkchild.measles_2" + }, + { + "name": "measles_2_dose_today", + "source": "pkchild.measles_2_dose_today" + } + ] + } + }, + "serverVersion": 1449572944907 +} \ No newline at end of file diff --git a/opensrp-core/bin/src/test/resources/form/child_enrollment/model.xml b/opensrp-core/bin/src/test/resources/form/child_enrollment/model.xml new file mode 100644 index 0000000000..8a0f23a838 --- /dev/null +++ b/opensrp-core/bin/src/test/resources/form/child_enrollment/model.xml @@ -0,0 +1,1691 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + yes + + + + + + + + + + + + + + ${provider_province} + ${provider_city} + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + static_instance-provinces-0 + kpk + + + static_instance-provinces-1 + sindh + + + static_instance-provinces-2 + balochistan + + + static_instance-provinces-3 + punjab + + + static_instance-provinces-4 + gilgit_baltistan + + + static_instance-provinces-5 + kashmir + + + static_instance-provinces-6 + fata + + + static_instance-provinces-7 + out_of_country + + + + + + + static_instance-ucs-0 + sindh + karachi + korangi + bilal_colony + + + static_instance-ucs-1 + sindh + karachi + korangi + nasir_colony + + + static_instance-ucs-2 + sindh + karachi + korangi + chakra_goth + + + static_instance-ucs-3 + sindh + karachi + korangi + mustafa_taj_colony + + + static_instance-ucs-4 + sindh + karachi + korangi + hundred_quarters + + + static_instance-ucs-5 + sindh + karachi + korangi + gulzar_colony + + + static_instance-ucs-6 + sindh + karachi + korangi + korangi_sector_33 + + + static_instance-ucs-7 + sindh + karachi + korangi + zaman_town + + + static_instance-ucs-8 + sindh + karachi + korangi + hasrat_mohani_colony + + + static_instance-ucs-9 + sindh + karachi + baldia + gulshan_e_ghazi + + + static_instance-ucs-10 + sindh + karachi + baldia + ittehad_town + + + static_instance-ucs-11 + sindh + karachi + baldia + islam_nagar + + + static_instance-ucs-12 + sindh + karachi + baldia + nai_abadi + + + static_instance-ucs-13 + sindh + karachi + baldia + saeedabad + + + static_instance-ucs-14 + sindh + karachi + baldia + muslim_mujahid_colony + + + static_instance-ucs-15 + sindh + karachi + baldia + muhajir_camp + + + static_instance-ucs-16 + sindh + karachi + baldia + rasheedabad + + + static_instance-ucs-17 + sindh + karachi + bin_qasim + ibrahim_hyderi + + + static_instance-ucs-18 + sindh + karachi + bin_qasim + rehri + + + static_instance-ucs-19 + sindh + karachi + bin_qasim + cattle_colony + + + static_instance-ucs-20 + sindh + karachi + bin_qasim + qaidabad + + + static_instance-ucs-21 + sindh + karachi + bin_qasim + landhi_colony + + + static_instance-ucs-22 + sindh + karachi + bin_qasim + gulshan_e_hadeed + + + static_instance-ucs-23 + sindh + karachi + bin_qasim + gaghar + + + static_instance-ucs-24 + sindh + karachi + gadap + murad_memon_goth + + + static_instance-ucs-25 + sindh + karachi + gadap + darsano_chana + + + static_instance-ucs-26 + sindh + karachi + gadap + gujro + + + static_instance-ucs-27 + sindh + karachi + gadap + songal + + + static_instance-ucs-28 + sindh + karachi + gadap + maymarabad + + + static_instance-ucs-29 + sindh + karachi + gadap + yousuf_goth + + + static_instance-ucs-30 + sindh + karachi + gadap + manghopir + + + static_instance-ucs-31 + sindh + karachi + gulberg + azizabad + + + static_instance-ucs-32 + sindh + karachi + gulberg + karimabad + + + static_instance-ucs-33 + sindh + karachi + gulberg + aisha_manzil + + + static_instance-ucs-34 + sindh + karachi + gulberg + ancholi + + + static_instance-ucs-35 + sindh + karachi + gulberg + naseerabad + + + static_instance-ucs-36 + sindh + karachi + gulberg + yaseenabad + + + static_instance-ucs-37 + sindh + karachi + gulberg + water_pump + + + static_instance-ucs-38 + sindh + karachi + gulberg + shafiq_mill_colony + + + static_instance-ucs-39 + sindh + karachi + gulshan + delhi_mercantile_society + + + static_instance-ucs-40 + sindh + karachi + gulshan + civic_centre + + + static_instance-ucs-41 + sindh + karachi + gulshan + pir_ilahi_buksh_colony + + + static_instance-ucs-42 + sindh + karachi + gulshan + essa_nagri + + + static_instance-ucs-43 + sindh + karachi + gulshan + gulshan_e_iqbal + + + static_instance-ucs-44 + sindh + karachi + gulshan + gillani_railway_station + + + static_instance-ucs-45 + sindh + karachi + gulshan + shanti_nagar + + + static_instance-ucs-46 + sindh + karachi + gulshan + jamali_colony + + + static_instance-ucs-47 + sindh + karachi + gulshan + gulshan_e_iqbal_ii + + + static_instance-ucs-48 + sindh + karachi + gulshan + pehlwan_goth + + + static_instance-ucs-49 + sindh + karachi + gulshan + matrovil_colony + + + static_instance-ucs-50 + sindh + karachi + gulshan + gulzar_e_hijri + + + static_instance-ucs-51 + sindh + karachi + gulshan + safooran_goth + + + static_instance-ucs-52 + sindh + karachi + jamshed + akhtar_colony + + + static_instance-ucs-53 + sindh + karachi + jamshed + manzoor_colony + + + static_instance-ucs-54 + sindh + karachi + jamshed + azam_basti + + + static_instance-ucs-55 + sindh + karachi + jamshed + chanesar_goth + + + static_instance-ucs-56 + sindh + karachi + jamshed + mahmudabad + + + static_instance-ucs-57 + sindh + karachi + jamshed + pechs + + + static_instance-ucs-58 + sindh + karachi + jamshed + pechs_ii + + + static_instance-ucs-59 + sindh + karachi + jamshed + jut_line + + + static_instance-ucs-60 + sindh + karachi + jamshed + central_jacob_lines + + + static_instance-ucs-61 + sindh + karachi + jamshed + jamshed_quarters + + + static_instance-ucs-62 + sindh + karachi + jamshed + garden_east + + + static_instance-ucs-63 + sindh + karachi + jamshed + soldier_bazar + + + static_instance-ucs-64 + sindh + karachi + jamshed + pakistan_quarters + + + static_instance-ucs-65 + sindh + karachi + kiamari + bhutta_village + + + static_instance-ucs-66 + sindh + karachi + kiamari + sultanabad + + + static_instance-ucs-67 + sindh + karachi + kiamari + kiamari_uc + + + static_instance-ucs-68 + sindh + karachi + kiamari + baba_bhit + + + static_instance-ucs-69 + sindh + karachi + kiamari + machar_colony + + + static_instance-ucs-70 + sindh + karachi + kiamari + maripur + + + static_instance-ucs-71 + sindh + karachi + kiamari + shershah + + + static_instance-ucs-72 + sindh + karachi + kiamari + gabo_pat + + + static_instance-ucs-73 + sindh + karachi + landhi + muzafarabad + + + static_instance-ucs-74 + sindh + karachi + landhi + muslimabad + + + static_instance-ucs-75 + sindh + karachi + landhi + dawood_chowrangi + + + static_instance-ucs-76 + sindh + karachi + landhi + moinabad + + + static_instance-ucs-77 + sindh + karachi + landhi + sharafi_goth + + + static_instance-ucs-78 + sindh + karachi + landhi + bhutto_nagar + + + static_instance-ucs-79 + sindh + karachi + landhi + khawaja_ajmeer_colony + + + static_instance-ucs-80 + sindh + karachi + landhi + landhi_uc + + + static_instance-ucs-81 + sindh + karachi + landhi + awami_colony + + + static_instance-ucs-82 + sindh + karachi + landhi + burmee_colony + + + static_instance-ucs-83 + sindh + karachi + landhi + korangi_uc + + + static_instance-ucs-84 + sindh + karachi + landhi + sherabad + + + static_instance-ucs-85 + sindh + karachi + liaquatabad + rizvia_society + + + static_instance-ucs-86 + sindh + karachi + liaquatabad + firdous_colony + + + static_instance-ucs-87 + sindh + karachi + liaquatabad + super_market + + + static_instance-ucs-88 + sindh + karachi + liaquatabad + dak_khana + + + static_instance-ucs-89 + sindh + karachi + liaquatabad + qasimabad + + + static_instance-ucs-90 + sindh + karachi + liaquatabad + bandhani_colony + + + static_instance-ucs-91 + sindh + karachi + liaquatabad + sharifabad + + + static_instance-ucs-92 + sindh + karachi + liaquatabad + commercial_area + + + static_instance-ucs-93 + sindh + karachi + liaquatabad + mujahid_colony + + + static_instance-ucs-94 + sindh + karachi + liaquatabad + nazimabad + + + static_instance-ucs-95 + sindh + karachi + liaquatabad + abbasi_shaheed + + + static_instance-ucs-96 + sindh + karachi + lyari + agra_taj_colony + + + static_instance-ucs-97 + sindh + karachi + lyari + daryaabad + + + static_instance-ucs-98 + sindh + karachi + lyari + nawabad + + + static_instance-ucs-99 + sindh + karachi + lyari + khada_memon_society + + + static_instance-ucs-100 + sindh + karachi + lyari + baghdadi + + + static_instance-ucs-101 + sindh + karachi + lyari + shah_baig_line + + + static_instance-ucs-102 + sindh + karachi + lyari + bihar_colony + + + static_instance-ucs-103 + sindh + karachi + lyari + ragiwara + + + static_instance-ucs-104 + sindh + karachi + lyari + singo_line + + + static_instance-ucs-105 + sindh + karachi + lyari + chakiwara + + + static_instance-ucs-106 + sindh + karachi + lyari + allama_iqbal_colony + + + static_instance-ucs-107 + sindh + karachi + malir + model_colony + + + static_instance-ucs-108 + sindh + karachi + malir + kala_board + + + static_instance-ucs-109 + sindh + karachi + malir + saudabad + + + static_instance-ucs-110 + sindh + karachi + malir + khokhra_par + + + static_instance-ucs-111 + sindh + karachi + malir + jafar_e_tayyar + + + static_instance-ucs-112 + sindh + karachi + malir + gharibabad + + + static_instance-ucs-113 + sindh + karachi + malir + ghazi_brohi_goth + + + static_instance-ucs-114 + sindh + karachi + new_karachi + kalyana + + + static_instance-ucs-115 + sindh + karachi + new_karachi + sir_syed_colony + + + static_instance-ucs-116 + sindh + karachi + new_karachi + fatima_jinnah_colony + + + static_instance-ucs-117 + sindh + karachi + new_karachi + godhra + + + static_instance-ucs-118 + sindh + karachi + new_karachi + abu_zar_ghaffari + + + static_instance-ucs-119 + sindh + karachi + new_karachi + hakim_ahsan + + + static_instance-ucs-120 + sindh + karachi + new_karachi + madina_colony + + + static_instance-ucs-121 + sindh + karachi + new_karachi + faisal_colony + + + static_instance-ucs-122 + sindh + karachi + new_karachi + khamiso_goth + + + static_instance-ucs-123 + sindh + karachi + new_karachi + mustufa_colony + + + static_instance-ucs-124 + sindh + karachi + new_karachi + khawaja_ajmeer_nagri + + + static_instance-ucs-125 + sindh + karachi + new_karachi + gulshan_e_saeed + + + static_instance-ucs-126 + sindh + karachi + new_karachi + shah_nawaz_bhutto_colony + + + static_instance-ucs-127 + sindh + karachi + north_nazimabad + paposh_nagar + + + static_instance-ucs-128 + sindh + karachi + north_nazimabad + pahar_ganj + + + static_instance-ucs-129 + sindh + karachi + north_nazimabad + khandu_goth + + + static_instance-ucs-130 + sindh + karachi + north_nazimabad + hyderi + + + static_instance-ucs-131 + sindh + karachi + north_nazimabad + sakhi_hassan + + + static_instance-ucs-132 + sindh + karachi + north_nazimabad + farooq_e_azam + + + static_instance-ucs-133 + sindh + karachi + north_nazimabad + nusrat_bhutto_colony + + + static_instance-ucs-134 + sindh + karachi + north_nazimabad + shadman_town + + + static_instance-ucs-135 + sindh + karachi + north_nazimabad + buffer_zone + + + static_instance-ucs-136 + sindh + karachi + north_nazimabad + buffer_zone_ii + + + static_instance-ucs-137 + sindh + karachi + orangi + mominabad + + + static_instance-ucs-138 + sindh + karachi + orangi + haryana_colony + + + static_instance-ucs-139 + sindh + karachi + orangi + hanifabad + + + static_instance-ucs-140 + sindh + karachi + orangi + mohammad_nagar + + + static_instance-ucs-141 + sindh + karachi + orangi + madina_colony_orangi + + + static_instance-ucs-142 + sindh + karachi + orangi + ghaziabad + + + static_instance-ucs-143 + sindh + karachi + orangi + chisti_nagar + + + static_instance-ucs-144 + sindh + karachi + orangi + bilal_colony_orangi + + + static_instance-ucs-145 + sindh + karachi + orangi + iqbal_baloch_colony + + + static_instance-ucs-146 + sindh + karachi + orangi + ghabool_town + + + static_instance-ucs-147 + sindh + karachi + orangi + data_nagar + + + static_instance-ucs-148 + sindh + karachi + orangi + mujahidabad + + + static_instance-ucs-149 + sindh + karachi + orangi + baloch_goth + + + static_instance-ucs-150 + sindh + karachi + saddar + old_haji_camp + + + static_instance-ucs-151 + sindh + karachi + saddar + garden + + + static_instance-ucs-152 + sindh + karachi + saddar + kharadar + + + static_instance-ucs-153 + sindh + karachi + saddar + city_railway_colony + + + static_instance-ucs-154 + sindh + karachi + saddar + nanak_wara + + + static_instance-ucs-155 + sindh + karachi + saddar + gazdarabad + + + static_instance-ucs-156 + sindh + karachi + saddar + millat_nagar_islam_pura + + + static_instance-ucs-157 + sindh + karachi + saddar + saddar_uc + + + static_instance-ucs-158 + sindh + karachi + saddar + civil_line + + + static_instance-ucs-159 + sindh + karachi + saddar + clifton + + + static_instance-ucs-160 + sindh + karachi + saddar + kehkashan + + + static_instance-ucs-161 + sindh + karachi + shah_faisal + natha_khan_goth + + + static_instance-ucs-162 + sindh + karachi + shah_faisal + pak_sadat_colony + + + static_instance-ucs-163 + sindh + karachi + shah_faisal + drigh_colony + + + static_instance-ucs-164 + sindh + karachi + shah_faisal + raita_plot + + + static_instance-ucs-165 + sindh + karachi + shah_faisal + moria_khan_goth + + + static_instance-ucs-166 + sindh + karachi + shah_faisal + rafa_e_aam_society + + + static_instance-ucs-167 + sindh + karachi + shah_faisal + al_falah_society + + + static_instance-ucs-168 + sindh + karachi + site + pak_colony + + + static_instance-ucs-169 + sindh + karachi + site + old_golimar + + + static_instance-ucs-170 + sindh + karachi + site + jahanabad + + + static_instance-ucs-171 + sindh + karachi + site + metrovil + + + static_instance-ucs-172 + sindh + karachi + site + bhawani_chali + + + static_instance-ucs-173 + sindh + karachi + site + frontier_colony + + + static_instance-ucs-174 + sindh + karachi + site + banaras_colony + + + static_instance-ucs-175 + sindh + karachi + site + qasba_colony + + + static_instance-ucs-176 + sindh + karachi + site + islamia_colony + + + static_instance-ucs-177 + na + na + na + other + + + static_instance-ucs-178 + na + na + na + not_applicable + + + + + + + static_instance-gender-0 + male + + + static_instance-gender-1 + female + + + static_instance-gender-2 + transgender + + + + + + + static_instance-vaccines-0 + bcg + + + static_instance-vaccines-1 + opv0 + + + static_instance-vaccines-2 + pcv1 + + + static_instance-vaccines-3 + opv1 + + + static_instance-vaccines-4 + penta1 + + + static_instance-vaccines-5 + pcv2 + + + static_instance-vaccines-6 + opv2 + + + static_instance-vaccines-7 + penta2 + + + static_instance-vaccines-8 + pcv3 + + + static_instance-vaccines-9 + opv3 + + + static_instance-vaccines-10 + penta3 + + + static_instance-vaccines-11 + ipv + + + static_instance-vaccines-12 + measles1 + + + static_instance-vaccines-13 + measles2 + + + + + + + static_instance-towns-0 + sindh + karachi + korangi + + + static_instance-towns-1 + sindh + karachi + landhi + + + static_instance-towns-2 + sindh + karachi + baldia + + + static_instance-towns-3 + sindh + karachi + bin_qasim + + + static_instance-towns-4 + sindh + karachi + gadap + + + static_instance-towns-5 + sindh + karachi + gulberg + + + static_instance-towns-6 + sindh + karachi + gulshan + + + static_instance-towns-7 + sindh + karachi + jamshed + + + static_instance-towns-8 + sindh + karachi + kiamari + + + static_instance-towns-9 + sindh + karachi + liaquatabad + + + static_instance-towns-10 + sindh + karachi + lyari + + + static_instance-towns-11 + sindh + karachi + malir + + + static_instance-towns-12 + sindh + karachi + new_karachi + + + static_instance-towns-13 + sindh + karachi + north_nazimabad + + + static_instance-towns-14 + sindh + karachi + orangi + + + static_instance-towns-15 + sindh + karachi + saddar + + + static_instance-towns-16 + sindh + karachi + shah_faisal + + + static_instance-towns-17 + sindh + karachi + site + + + static_instance-towns-18 + na + na + other + + + static_instance-towns-19 + na + na + not_applicable + + + + + + + static_instance-cities-0 + sindh + karachi + + + static_instance-cities-1 + punjab + hafizabad + + + static_instance-cities-2 + punjab + muzaffargarh + + + static_instance-cities-3 + na + other + + + static_instance-cities-4 + na + not_applicable + + + + + + + static_instance-ethnicity-0 + punjabi + + + static_instance-ethnicity-1 + pushtuns + + + static_instance-ethnicity-2 + sindhi + + + static_instance-ethnicity-3 + saraiki + + + static_instance-ethnicity-4 + muhajir + + + static_instance-ethnicity-5 + balochi + + + static_instance-ethnicity-6 + other + + + + + + + static_instance-yes_no-0 + yes + + + static_instance-yes_no-1 + no + + + + diff --git a/opensrp-core/bin/src/test/resources/form/child_followup/form.json b/opensrp-core/bin/src/test/resources/form/child_followup/form.json new file mode 100644 index 0000000000..2b0c04a8e9 --- /dev/null +++ b/opensrp-core/bin/src/test/resources/form/child_followup/form.json @@ -0,0 +1,4165 @@ +{ + "name": "Child_Vaccination_Followup", + "title": "بچّوں کا فالو اپ رجسٹر برائے ٹیکاجات - Child Follow Up Vaccination Register", + "sms_keyword": "child_vaccination_followup", + "default_language": "English", + "choices": { + "provinces": [ + { + "name": "kpk", + "label": { + "Urdu": "خیبر پختون خواہ", + "English": "Khyber Pakhtunkhwa", + "Roman Urdu": "Khyber Pakhtunkhwa" + } + }, + { + "name": "sindh", + "label": { + "Urdu": "سندھ", + "English": "Sindh", + "Roman Urdu": "Sindh" + } + }, + { + "name": "balochistan", + "label": { + "Urdu": "بلوچستان", + "English": "Balochistan", + "Roman Urdu": "Balochistan" + } + }, + { + "name": "punjab", + "label": { + "Urdu": "پنجاب", + "English": "Punjab", + "Roman Urdu": "Punjab" + } + }, + { + "name": "gilgit_baltistan", + "label": { + "Urdu": "گلگت بلتستان", + "English": "Gilgit Baltistan", + "Roman Urdu": "Gilgit Baltistan" + } + }, + { + "name": "kashmir", + "label": { + "Urdu": "کشمیر", + "English": "Kashmir", + "Roman Urdu": "Kashmir" + } + }, + { + "name": "fata", + "label": { + "Urdu": "فاٹا", + "English": "FATA", + "Roman Urdu": "FATA" + } + }, + { + "name": "out_of_country", + "label": { + "Urdu": "ملک سے باہر", + "English": "Out of Country", + "Roman Urdu": "Out of Country" + } + } + ], + "ucs": [ + { + "province": "sindh", + "city": "karachi", + "town": "korangi", + "name": "bilal_colony", + "label": { + "Urdu": "بلال کالونی", + "Roman Urdu": "Bilal Colony", + "English": "Bilal Colony" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "korangi", + "name": "nasir_colony", + "label": { + "Urdu": "ناصر کالونی", + "Roman Urdu": "Nasir Colony", + "English": "Nasir Colony" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "korangi", + "name": "chakra_goth", + "label": { + "Urdu": "چکرا گوٹھ", + "Roman Urdu": "Chakra Goth", + "English": "Chakra Goth" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "korangi", + "name": "mustafa_taj_colony", + "label": { + "Urdu": "مصطفی تاج کالونی", + "Roman Urdu": "Mustafa Taj Colony", + "English": "Mustafa Taj Colony" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "korangi", + "name": "hundred_quarters", + "label": { + "Urdu": "ہنڈریڈ کوارٹر", + "Roman Urdu": "Hundred Quarters", + "English": "Hundred Quarters" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "korangi", + "name": "gulzar_colony", + "label": { + "Urdu": "گلزار کالونی", + "Roman Urdu": "Gulzar Colony", + "English": "Gulzar Colony" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "korangi", + "name": "korangi_sector_33", + "label": { + "Urdu": "کورنگی سیکٹر 33", + "Roman Urdu": "Korangi Sector 33", + "English": "Korangi Sector 33" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "korangi", + "name": "zaman_town", + "label": { + "Urdu": "زمان ٹاوَن", + "Roman Urdu": "Zaman Town", + "English": "Zaman Town" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "korangi", + "name": "hasrat_mohani_colony", + "label": { + "Urdu": "حسرت موہانی کالونی", + "Roman Urdu": "Hasrat Mohani Colony", + "English": "Hasrat Mohani Colony" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "baldia", + "name": "gulshan_e_ghazi", + "label": { + "Urdu": "گلشن غازی", + "Roman Urdu": "Gulshan-e-Ghazi", + "English": "Gulshan-e-Ghazi" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "baldia", + "name": "ittehad_town", + "label": { + "Urdu": "اتحاد ٹاوَن", + "Roman Urdu": "Ittehad Town", + "English": "Ittehad Town" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "baldia", + "name": "islam_nagar", + "label": { + "Urdu": "اسلام نگر", + "Roman Urdu": "Islam Nagar", + "English": "Islam Nagar" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "baldia", + "name": "nai_abadi", + "label": { + "Urdu": "نئی آبادی", + "Roman Urdu": "Nai Abadi", + "English": "Nai Abadi" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "baldia", + "name": "saeedabad", + "label": { + "Urdu": "سعید آباد", + "Roman Urdu": "Saeedabad", + "English": "Saeedabad" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "baldia", + "name": "muslim_mujahid_colony", + "label": { + "Urdu": "مسلم مجاہد کالونی", + "Roman Urdu": "Muslim Mujahid Colony", + "English": "Muslim Mujahid Colony" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "baldia", + "name": "muhajir_camp", + "label": { + "Urdu": "مہاجر کیمپ", + "Roman Urdu": "Muhajir Camp", + "English": "Muhajir Camp" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "baldia", + "name": "rasheedabad", + "label": { + "Urdu": "رشید آباد", + "Roman Urdu": "Rasheedabad", + "English": "Rasheedabad" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "bin_qasim", + "name": "ibrahim_hyderi", + "label": { + "Urdu": "ابراہیم حیدری", + "Roman Urdu": "Ibrahim Hyderi", + "English": "Ibrahim Hyderi" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "bin_qasim", + "name": "rehri", + "label": { + "Urdu": "رہڑی", + "Roman Urdu": "Rehri", + "English": "Rehri" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "bin_qasim", + "name": "cattle_colony", + "label": { + "Urdu": "کیٹل کالونی", + "Roman Urdu": "Cattle Colony", + "English": "Cattle Colony" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "bin_qasim", + "name": "qaidabad", + "label": { + "Urdu": "قائدآباد", + "Roman Urdu": "Qaidabad", + "English": "Qaidabad" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "bin_qasim", + "name": "landhi_colony", + "label": { + "Urdu": "لانڈھی کالونی", + "Roman Urdu": "Landhi Colony", + "English": "Landhi Colony" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "bin_qasim", + "name": "gulshan_e_hadeed", + "label": { + "Urdu": "گلشن حدید", + "Roman Urdu": "Gulshan-e-Hadeed", + "English": "Gulshan-e-Hadeed" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "bin_qasim", + "name": "gaghar", + "label": { + "Urdu": "گگر", + "Roman Urdu": "Gaghar", + "English": "Gaghar" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "gadap", + "name": "murad_memon_goth", + "label": { + "Urdu": "مراد میمن گوٹھ", + "Roman Urdu": "Murad Memon Goth", + "English": "Murad Memon Goth" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "gadap", + "name": "darsano_chana", + "label": { + "Urdu": "درشانو شنو", + "Roman Urdu": "Darsano Chana", + "English": "Darsano Chana" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "gadap", + "name": "gujro", + "label": { + "Urdu": "گجرو", + "Roman Urdu": "Gujro", + "English": "Gujro" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "gadap", + "name": "songal", + "label": { + "Urdu": "سنگل", + "Roman Urdu": "Songal", + "English": "Songal" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "gadap", + "name": "maymarabad", + "label": { + "Urdu": "معمار آباد", + "Roman Urdu": "Maymarabad", + "English": "Maymarabad" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "gadap", + "name": "yousuf_goth", + "label": { + "Urdu": "یوسف گوٹھ", + "Roman Urdu": "Yousuf Goth", + "English": "Yousuf Goth" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "gadap", + "name": "manghopir", + "label": { + "Urdu": "منگھوپیر", + "Roman Urdu": "Manghopir", + "English": "Manghopir" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "gulberg", + "name": "azizabad", + "label": { + "Urdu": "عزیز آباد", + "Roman Urdu": "Azizabad", + "English": "Azizabad" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "gulberg", + "name": "karimabad", + "label": { + "Urdu": "کریم آباد", + "Roman Urdu": "Karimabad", + "English": "Karimabad" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "gulberg", + "name": "aisha_manzil", + "label": { + "Urdu": "عائشہ منزل", + "Roman Urdu": "Aisha Manzil", + "English": "Aisha Manzil" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "gulberg", + "name": "ancholi", + "label": { + "Urdu": "انچولی", + "Roman Urdu": "Ancholi", + "English": "Ancholi" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "gulberg", + "name": "naseerabad", + "label": { + "Urdu": "نصیرآباد", + "Roman Urdu": "Naseerabad", + "English": "Naseerabad" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "gulberg", + "name": "yaseenabad", + "label": { + "Urdu": "یاسین آباد", + "Roman Urdu": "Yaseenabad", + "English": "Yaseenabad" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "gulberg", + "name": "water_pump", + "label": { + "Urdu": "واٹرپمپ", + "Roman Urdu": "Water Pump", + "English": "Water Pump" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "gulberg", + "name": "shafiq_mill_colony", + "label": { + "Urdu": "شفیق مل کالونی", + "Roman Urdu": "Shafiq Mill Colony", + "English": "Shafiq Mill Colony" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "gulshan", + "name": "delhi_mercantile_society", + "label": { + "Urdu": "دہلی مرچنٹائل سوسائٹی", + "Roman Urdu": "Delhi Mercantile Society", + "English": "Delhi Mercantile Society" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "gulshan", + "name": "civic_centre", + "label": { + "Urdu": "سوک سینٹر", + "Roman Urdu": "Civic Centre", + "English": "Civic Centre" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "gulshan", + "name": "pir_ilahi_buksh_colony", + "label": { + "Urdu": "پیر الہی بخش کالونی", + "Roman Urdu": "Pir Ilahi Buksh Colony", + "English": "Pir Ilahi Buksh Colony" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "gulshan", + "name": "essa_nagri", + "label": { + "Urdu": "عیسی نگری", + "Roman Urdu": "Essa Nagri", + "English": "Essa Nagri" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "gulshan", + "name": "gulshan_e_iqbal", + "label": { + "Urdu": "گلشن اقبال", + "Roman Urdu": "Gulshan-e-Iqbal", + "English": "Gulshan-e-Iqbal" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "gulshan", + "name": "gillani_railway_station", + "label": { + "Urdu": "گیلانی ریلوے اسٹیشن", + "Roman Urdu": "Gillani Railway Station", + "English": "Gillani Railway Station" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "gulshan", + "name": "shanti_nagar", + "label": { + "Urdu": "شانتی نگر", + "Roman Urdu": "Shanti Nagar", + "English": "Shanti Nagar" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "gulshan", + "name": "jamali_colony", + "label": { + "Urdu": "جمالی کالونی", + "Roman Urdu": "Jamali Colony", + "English": "Jamali Colony" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "gulshan", + "name": "gulshan_e_iqbal_ii", + "label": { + "Urdu": "گلشن اقبال 2", + "Roman Urdu": "Gulshan-e-Iqbal II", + "English": "Gulshan-e-Iqbal II" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "gulshan", + "name": "pehlwan_goth", + "label": { + "Urdu": "پہلوان گوٹھ", + "Roman Urdu": "Pehlwan Goth", + "English": "Pehlwan Goth" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "gulshan", + "name": "matrovil_colony", + "label": { + "Urdu": "میٹروویل کالونی", + "Roman Urdu": "Matrovil Colony", + "English": "Matrovil Colony" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "gulshan", + "name": "gulzar_e_hijri", + "label": { + "Urdu": "گلزار ہجری", + "Roman Urdu": "Gulzar-e-Hijri", + "English": "Gulzar-e-Hijri" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "gulshan", + "name": "safooran_goth", + "label": { + "Urdu": "صفورا گوٹھ", + "Roman Urdu": "Safooran Goth", + "English": "Safooran Goth" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "jamshed", + "name": "akhtar_colony", + "label": { + "Urdu": "اختر کالونی", + "Roman Urdu": "Akhtar Colony", + "English": "Akhtar Colony" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "jamshed", + "name": "manzoor_colony", + "label": { + "Urdu": "منظور کالونی", + "Roman Urdu": "Manzoor Colony", + "English": "Manzoor Colony" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "jamshed", + "name": "azam_basti", + "label": { + "Urdu": "اعظم بستی", + "Roman Urdu": "Azam Basti", + "English": "Azam Basti" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "jamshed", + "name": "chanesar_goth", + "label": { + "Urdu": "چنیسر گوٹھ", + "Roman Urdu": "Chanesar Goth", + "English": "Chanesar Goth" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "jamshed", + "name": "mahmudabad", + "label": { + "Urdu": "محمودآباد", + "Roman Urdu": "Mahmudabad", + "English": "Mahmudabad" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "jamshed", + "name": "pechs", + "label": { + "Urdu": "پی۔ای۔سی۔ایچ۔ایس", + "Roman Urdu": "P.E.C.H.S.", + "English": "P.E.C.H.S." + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "jamshed", + "name": "pechs_ii", + "label": { + "Urdu": "پی۔ای۔سی۔ایچ۔ایس 2", + "Roman Urdu": "P.E.C.H.S. II", + "English": "P.E.C.H.S. II" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "jamshed", + "name": "jut_line", + "label": { + "Urdu": "جٹ لائن", + "Roman Urdu": "Jut Line", + "English": "Jut Line" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "jamshed", + "name": "central_jacob_lines", + "label": { + "Urdu": "سینٹرل جیکب لائن", + "Roman Urdu": "Central Jacob Lines", + "English": "Central Jacob Lines" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "jamshed", + "name": "jamshed_quarters", + "label": { + "Urdu": "جمشید کوارٹر", + "Roman Urdu": "Jamshed Quarters", + "English": "Jamshed Quarters" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "jamshed", + "name": "garden_east", + "label": { + "Urdu": "گارڈن ایسٹ", + "Roman Urdu": "Garden East", + "English": "Garden East" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "jamshed", + "name": "soldier_bazar", + "label": { + "Urdu": "سولجر بازار", + "Roman Urdu": "Soldier Bazar", + "English": "Soldier Bazar" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "jamshed", + "name": "pakistan_quarters", + "label": { + "Urdu": "پاکستان کوارٹر", + "Roman Urdu": "Pakistan Quarters", + "English": "Pakistan Quarters" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "kiamari", + "name": "bhutta_village", + "label": { + "Urdu": "بھٹا ولیج", + "Roman Urdu": "Bhutta Village", + "English": "Bhutta Village" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "kiamari", + "name": "sultanabad", + "label": { + "Urdu": "سلطان آباد", + "Roman Urdu": "Sultanabad", + "English": "Sultanabad" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "kiamari", + "name": "kiamari_uc", + "label": { + "Urdu": "کیماری یو- سی", + "Roman Urdu": "Kiamari UC", + "English": "Kiamari UC" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "kiamari", + "name": "baba_bhit", + "label": { + "Urdu": "بابا بھٹ", + "Roman Urdu": "Baba Bhit", + "English": "Baba Bhit" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "kiamari", + "name": "machar_colony", + "label": { + "Urdu": "مچھر کالونی", + "Roman Urdu": "Machar Colony", + "English": "Machar Colony" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "kiamari", + "name": "maripur", + "label": { + "Urdu": "ماڑی پور", + "Roman Urdu": "Maripur", + "English": "Maripur" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "kiamari", + "name": "shershah", + "label": { + "Urdu": "شیرشاہ", + "Roman Urdu": "SherShah", + "English": "SherShah" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "kiamari", + "name": "gabo_pat", + "label": { + "Urdu": "گابو پٹ", + "Roman Urdu": "Gabo Pat", + "English": "Gabo Pat" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "landhi", + "name": "muzafarabad", + "label": { + "Urdu": "مظفرآباد", + "Roman Urdu": "Muzafarabad", + "English": "Muzafarabad" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "landhi", + "name": "muslimabad", + "label": { + "Urdu": "مسلم آباد", + "Roman Urdu": "Muslimabad", + "English": "Muslimabad" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "landhi", + "name": "dawood_chowrangi", + "label": { + "Urdu": "داوَد چورنگی", + "Roman Urdu": "Dawood Chowrangi", + "English": "Dawood Chowrangi" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "landhi", + "name": "moinabad", + "label": { + "Urdu": "معین آباد", + "Roman Urdu": "Moinabad", + "English": "Moinabad" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "landhi", + "name": "sharafi_goth", + "label": { + "Urdu": "شرافی گوٹھ", + "Roman Urdu": "Sharafi Goth", + "English": "Sharafi Goth" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "landhi", + "name": "bhutto_nagar", + "label": { + "Urdu": "بھٹو نگر", + "Roman Urdu": "Bhutto Nagar", + "English": "Bhutto Nagar" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "landhi", + "name": "khawaja_ajmeer_colony", + "label": { + "Urdu": "خواجہ اجمیر کالونی", + "Roman Urdu": "Khawaja Ajmeer Colony", + "English": "Khawaja Ajmeer Colony" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "landhi", + "name": "landhi_uc", + "label": { + "Urdu": "لانڈھی یوسی", + "Roman Urdu": "Landhi UC", + "English": "Landhi UC" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "landhi", + "name": "awami_colony", + "label": { + "Urdu": "عوامی کالونی", + "Roman Urdu": "Awami Colony", + "English": "Awami Colony" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "landhi", + "name": "burmee_colony", + "label": { + "Urdu": "برمی کالونی", + "Roman Urdu": "Burmee Colony", + "English": "Burmee Colony" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "landhi", + "name": "korangi_uc", + "label": { + "Urdu": "کورنگی یوسی", + "Roman Urdu": "Korangi UC", + "English": "Korangi UC" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "landhi", + "name": "sherabad", + "label": { + "Urdu": "شیرآباد", + "Roman Urdu": "Sherabad", + "English": "Sherabad" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "liaquatabad", + "name": "rizvia_society", + "label": { + "Urdu": "رضویہ سوسائٹی", + "Roman Urdu": "Rizvia Society", + "English": "Rizvia Society" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "liaquatabad", + "name": "firdous_colony", + "label": { + "Urdu": "فردوس کالونی", + "Roman Urdu": "Firdous Colony", + "English": "Firdous Colony" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "liaquatabad", + "name": "super_market", + "label": { + "Urdu": "سپر مارکیٹ", + "Roman Urdu": "Super Market", + "English": "Super Market" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "liaquatabad", + "name": "dak_khana", + "label": { + "Urdu": "دک کھانہ", + "Roman Urdu": "Dak Khana", + "English": "Dak Khana" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "liaquatabad", + "name": "qasimabad", + "label": { + "Urdu": "قاسم آباد", + "Roman Urdu": "Qasimabad", + "English": "Qasimabad" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "liaquatabad", + "name": "bandhani_colony", + "label": { + "Urdu": "بندھانی کالونی", + "Roman Urdu": "Bandhani Colony", + "English": "Bandhani Colony" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "liaquatabad", + "name": "sharifabad", + "label": { + "Urdu": "شریف آباد", + "Roman Urdu": "Sharifabad", + "English": "Sharifabad" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "liaquatabad", + "name": "commercial_area", + "label": { + "Urdu": "کمرشل ایریا", + "Roman Urdu": "Commercial Area", + "English": "Commercial Area" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "liaquatabad", + "name": "mujahid_colony", + "label": { + "Urdu": "مجاہد کالونی", + "Roman Urdu": "Mujahid Colony", + "English": "Mujahid Colony" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "liaquatabad", + "name": "nazimabad", + "label": { + "Urdu": "ناظم آباد", + "Roman Urdu": "Nazimabad", + "English": "Nazimabad" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "liaquatabad", + "name": "abbasi_shaheed", + "label": { + "Urdu": "عباسی شہید", + "Roman Urdu": "Abbasi Shaheed", + "English": "Abbasi Shaheed" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "lyari", + "name": "agra_taj_colony", + "label": { + "Urdu": "آگرہ تاج کالونی", + "Roman Urdu": "Agra Taj Colony", + "English": "Agra Taj Colony" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "lyari", + "name": "daryaabad", + "label": { + "Urdu": "دریاآباد", + "Roman Urdu": "Daryaabad", + "English": "Daryaabad" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "lyari", + "name": "nawabad", + "label": { + "Urdu": "نواآباد", + "Roman Urdu": "Nawabad", + "English": "Nawabad" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "lyari", + "name": "khada_memon_society", + "label": { + "Urdu": "خدا- میمن- سوساَٹی", + "Roman Urdu": "Khada Memon Society", + "English": "Khada Memon Society" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "lyari", + "name": "baghdadi", + "label": { + "Urdu": "بغدادی", + "Roman Urdu": "Baghdadi", + "English": "Baghdadi" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "lyari", + "name": "shah_baig_line", + "label": { + "Urdu": "شاھ باغ لائن", + "Roman Urdu": "Shah Baig Line", + "English": "Shah Baig Line" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "lyari", + "name": "bihar_colony", + "label": { + "Urdu": "بہار کالونی", + "Roman Urdu": "Bihar Colony", + "English": "Bihar Colony" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "lyari", + "name": "ragiwara", + "label": { + "Urdu": "راگی واڑا", + "Roman Urdu": "Ragiwara", + "English": "Ragiwara" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "lyari", + "name": "singo_line", + "label": { + "Urdu": "سنگولائن", + "Roman Urdu": "Singo Line", + "English": "Singo Line" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "lyari", + "name": "chakiwara", + "label": { + "Urdu": "چاکی واڑا", + "Roman Urdu": "Chakiwara", + "English": "Chakiwara" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "lyari", + "name": "allama_iqbal_colony", + "label": { + "Urdu": "علامہ اقبال کالونی", + "Roman Urdu": "Allama Iqbal Colony", + "English": "Allama Iqbal Colony" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "malir", + "name": "model_colony", + "label": { + "Urdu": "موڈل کالونی", + "Roman Urdu": "Model Colony", + "English": "Model Colony" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "malir", + "name": "kala_board", + "label": { + "Urdu": "کالا بورڈ", + "Roman Urdu": "Kala Board", + "English": "Kala Board" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "malir", + "name": "saudabad", + "label": { + "Urdu": "سعودآباد", + "Roman Urdu": "Saudabad", + "English": "Saudabad" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "malir", + "name": "khokhra_par", + "label": { + "Urdu": "کھوکھرا پار", + "Roman Urdu": "Khokhra Par", + "English": "Khokhra Par" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "malir", + "name": "jafar_e_tayyar", + "label": { + "Urdu": "جعفر تیار", + "Roman Urdu": "Jafar-e-Tayyar", + "English": "Jafar-e-Tayyar" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "malir", + "name": "gharibabad", + "label": { + "Urdu": "غریب آباد", + "Roman Urdu": "Gharibabad", + "English": "Gharibabad" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "malir", + "name": "ghazi_brohi_goth", + "label": { + "Urdu": "غازی بروہی گوٹھ", + "Roman Urdu": "Ghazi Brohi Goth", + "English": "Ghazi Brohi Goth" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "new_karachi", + "name": "kalyana", + "label": { + "Urdu": "کالیانہ", + "Roman Urdu": "Kalyana", + "English": "Kalyana" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "new_karachi", + "name": "sir_syed_colony", + "label": { + "Urdu": "سر سید کالونی", + "Roman Urdu": "Sir Syed Colony", + "English": "Sir Syed Colony" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "new_karachi", + "name": "fatima_jinnah_colony", + "label": { + "Urdu": "فاطمہ جناح کالونی", + "Roman Urdu": "Fatima Jinnah Colony", + "English": "Fatima Jinnah Colony" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "new_karachi", + "name": "godhra", + "label": { + "Urdu": "گودھرا", + "Roman Urdu": "Godhra", + "English": "Godhra" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "new_karachi", + "name": "abu_zar_ghaffari", + "label": { + "Urdu": "ابو زر غفاری", + "Roman Urdu": "Abu Zar Ghaffari", + "English": "Abu Zar Ghaffari" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "new_karachi", + "name": "hakim_ahsan", + "label": { + "Urdu": "حاکم احسان", + "Roman Urdu": "Hakim Ahsan", + "English": "Hakim Ahsan" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "new_karachi", + "name": "madina_colony", + "label": { + "Urdu": "مدینہ کالونی", + "Roman Urdu": "Madina Colony", + "English": "Madina Colony" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "new_karachi", + "name": "faisal_colony", + "label": { + "Urdu": "فیصل کالونی", + "Roman Urdu": "Faisal Colony", + "English": "Faisal Colony" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "new_karachi", + "name": "khamiso_goth", + "label": { + "Urdu": "خمیسو گوٹھ", + "Roman Urdu": "Khamiso Goth", + "English": "Khamiso Goth" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "new_karachi", + "name": "mustufa_colony", + "label": { + "Urdu": "مصطفی کالونی", + "Roman Urdu": "Mustufa Colony", + "English": "Mustufa Colony" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "new_karachi", + "name": "khawaja_ajmeer_nagri", + "label": { + "Urdu": "خواجہ اجمیر نگری", + "Roman Urdu": "Khawaja Ajmeer Nagri", + "English": "Khawaja Ajmeer Nagri" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "new_karachi", + "name": "gulshan_e_saeed", + "label": { + "Urdu": "گلشن سعید", + "Roman Urdu": "Gulshan-e-Saeed", + "English": "Gulshan-e-Saeed" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "new_karachi", + "name": "shah_nawaz_bhutto_colony", + "label": { + "Urdu": "شاہ نواز بھٹو کالونی", + "Roman Urdu": "Shah Nawaz Bhutto Colony", + "English": "Shah Nawaz Bhutto Colony" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "north_nazimabad", + "name": "paposh_nagar", + "label": { + "Urdu": "پاپوش نگر", + "Roman Urdu": "Paposh Nagar", + "English": "Paposh Nagar" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "north_nazimabad", + "name": "pahar_ganj", + "label": { + "Urdu": "پہاڑ گنج", + "Roman Urdu": "Pahar Ganj", + "English": "Pahar Ganj" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "north_nazimabad", + "name": "khandu_goth", + "label": { + "Urdu": "کھنڑو گوٹھ", + "Roman Urdu": "Khandu Goth", + "English": "Khandu Goth" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "north_nazimabad", + "name": "hyderi", + "label": { + "Urdu": "حیدری", + "Roman Urdu": "Hyderi", + "English": "Hyderi" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "north_nazimabad", + "name": "sakhi_hassan", + "label": { + "Urdu": "سخی حسن", + "Roman Urdu": "Sakhi Hassan", + "English": "Sakhi Hassan" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "north_nazimabad", + "name": "farooq_e_azam", + "label": { + "Urdu": "فاروق اعظم", + "Roman Urdu": "Farooq-e-Azam", + "English": "Farooq-e-Azam" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "north_nazimabad", + "name": "nusrat_bhutto_colony", + "label": { + "Urdu": "نصرت بھٹو کالونی", + "Roman Urdu": "Nusrat Bhutto Colony", + "English": "Nusrat Bhutto Colony" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "north_nazimabad", + "name": "shadman_town", + "label": { + "Urdu": "شادمان ٹاوَن", + "Roman Urdu": "Shadman Town", + "English": "Shadman Town" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "north_nazimabad", + "name": "buffer_zone", + "label": { + "Urdu": "بفرزون", + "Roman Urdu": "Buffer Zone", + "English": "Buffer Zone" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "north_nazimabad", + "name": "buffer_zone_ii", + "label": { + "Urdu": "بفرزون 2", + "Roman Urdu": "Buffer Zone II", + "English": "Buffer Zone II" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "orangi", + "name": "mominabad", + "label": { + "Urdu": "مومن آباد", + "Roman Urdu": "Mominabad", + "English": "Mominabad" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "orangi", + "name": "haryana_colony", + "label": { + "Urdu": "حریانہ کالونی", + "Roman Urdu": "Haryana Colony", + "English": "Haryana Colony" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "orangi", + "name": "hanifabad", + "label": { + "Urdu": "حنیف آباد", + "Roman Urdu": "Hanifabad", + "English": "Hanifabad" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "orangi", + "name": "mohammad_nagar", + "label": { + "Urdu": "محمد نگر", + "Roman Urdu": "Mohammad Nagar", + "English": "Mohammad Nagar" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "orangi", + "name": "madina_colony_orangi", + "label": { + "Urdu": "مدینہ کالونی اورنگی", + "Roman Urdu": "Madina Colony Orangi", + "English": "Madina Colony Orangi" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "orangi", + "name": "ghaziabad", + "label": { + "Urdu": "غازی آباد", + "Roman Urdu": "Ghaziabad", + "English": "Ghaziabad" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "orangi", + "name": "chisti_nagar", + "label": { + "Urdu": "چشتی نگر", + "Roman Urdu": "Chisti Nagar", + "English": "Chisti Nagar" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "orangi", + "name": "bilal_colony_orangi", + "label": { + "Urdu": "بلال کالونی اورنگی", + "Roman Urdu": "Bilal Colony Orangi", + "English": "Bilal Colony Orangi" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "orangi", + "name": "iqbal_baloch_colony", + "label": { + "Urdu": "اقبال بلوچ کالونی", + "Roman Urdu": "Iqbal Baloch Colony", + "English": "Iqbal Baloch Colony" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "orangi", + "name": "ghabool_town", + "label": { + "Urdu": "گبول ٹاوَن", + "Roman Urdu": "Ghabool Town", + "English": "Ghabool Town" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "orangi", + "name": "data_nagar", + "label": { + "Urdu": "داتا نگر", + "Roman Urdu": "Data Nagar", + "English": "Data Nagar" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "orangi", + "name": "mujahidabad", + "label": { + "Urdu": "مجاہد آباد", + "Roman Urdu": "Mujahidabad", + "English": "Mujahidabad" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "orangi", + "name": "baloch_goth", + "label": { + "Urdu": "بلوچ گوٹھ", + "Roman Urdu": "Baloch Goth", + "English": "Baloch Goth" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "saddar", + "name": "old_haji_camp", + "label": { + "Urdu": "پرانہ حاجی کیمپ", + "Roman Urdu": "Old Haji Camp", + "English": "Old Haji Camp" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "saddar", + "name": "garden", + "label": { + "Urdu": "گارڈن", + "Roman Urdu": "Garden", + "English": "Garden" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "saddar", + "name": "kharadar", + "label": { + "Urdu": "کھارادر", + "Roman Urdu": "Kharadar", + "English": "Kharadar" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "saddar", + "name": "city_railway_colony", + "label": { + "Urdu": "سٹی ریلوے کالونی", + "Roman Urdu": "City Railway Colony", + "English": "City Railway Colony" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "saddar", + "name": "nanak_wara", + "label": { + "Urdu": "ناناک واڑا", + "Roman Urdu": "Nanak Wara", + "English": "Nanak Wara" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "saddar", + "name": "gazdarabad", + "label": { + "Urdu": "گزدرآباد", + "Roman Urdu": "Gazdarabad", + "English": "Gazdarabad" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "saddar", + "name": "millat_nagar_islam_pura", + "label": { + "Urdu": "ملت نگر اسلام پورا", + "Roman Urdu": "Millat Nagar/Islam Pura", + "English": "Millat Nagar/Islam Pura" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "saddar", + "name": "saddar_uc", + "label": { + "Urdu": "صدر یو سی", + "Roman Urdu": "Saddar UC", + "English": "Saddar UC" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "saddar", + "name": "civil_line", + "label": { + "Urdu": "سول لائن", + "Roman Urdu": "Civil Line", + "English": "Civil Line" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "saddar", + "name": "clifton", + "label": { + "Urdu": "کلفٹن", + "Roman Urdu": "Clifton", + "English": "Clifton" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "saddar", + "name": "kehkashan", + "label": { + "Urdu": "کہکشان", + "Roman Urdu": "Kehkashan", + "English": "Kehkashan" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "shah_faisal", + "name": "natha_khan_goth", + "label": { + "Urdu": "ناتھا خان گوٹھ", + "Roman Urdu": "Natha Khan Goth", + "English": "Natha Khan Goth" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "shah_faisal", + "name": "pak_sadat_colony", + "label": { + "Urdu": "پاک صدر کالونی", + "Roman Urdu": "Pak Sadat Colony", + "English": "Pak Sadat Colony" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "shah_faisal", + "name": "drigh_colony", + "label": { + "Urdu": "ڈرگ کالونی", + "Roman Urdu": "Drigh Colony", + "English": "Drigh Colony" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "shah_faisal", + "name": "raita_plot", + "label": { + "Urdu": "رائتا پلاٹ", + "Roman Urdu": "Raita Plot", + "English": "Raita Plot" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "shah_faisal", + "name": "moria_khan_goth", + "label": { + "Urdu": "موریا خان گوٹھ", + "Roman Urdu": "Moria Khan Goth", + "English": "Moria Khan Goth" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "shah_faisal", + "name": "rafa_e_aam_society", + "label": { + "Urdu": "رفا عام سوسا ئٹی", + "Roman Urdu": "Rafa-e-Aam Society", + "English": "Rafa-e-Aam Society" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "shah_faisal", + "name": "al_falah_society", + "label": { + "Urdu": "الفلاح سوسا ئٹی", + "Roman Urdu": "Al-Falah Society", + "English": "Al-Falah Society" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "site", + "name": "pak_colony", + "label": { + "Urdu": "پاک کالونی", + "Roman Urdu": "Pak Colony", + "English": "Pak Colony" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "site", + "name": "old_golimar", + "label": { + "Urdu": "پرانہ گولی مار", + "Roman Urdu": "Old Golimar", + "English": "Old Golimar" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "site", + "name": "jahanabad", + "label": { + "Urdu": "جہان آباد", + "Roman Urdu": "Jahanabad", + "English": "Jahanabad" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "site", + "name": "metrovil", + "label": { + "Urdu": "میٹروویل", + "Roman Urdu": "Metrovil", + "English": "Metrovil" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "site", + "name": "bhawani_chali", + "label": { + "Urdu": "بہوانی چالی", + "Roman Urdu": "Bhawani Chali", + "English": "Bhawani Chali" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "site", + "name": "frontier_colony", + "label": { + "Urdu": "فرونٹر کالونی", + "Roman Urdu": "Frontier Colony", + "English": "Frontier Colony" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "site", + "name": "banaras_colony", + "label": { + "Urdu": "بنارس کالونی", + "Roman Urdu": "Banaras Colony", + "English": "Banaras Colony" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "site", + "name": "qasba_colony", + "label": { + "Urdu": "قصبہ کالونی", + "Roman Urdu": "Qasba Colony", + "English": "Qasba Colony" + } + }, + { + "province": "sindh", + "city": "karachi", + "town": "site", + "name": "islamia_colony", + "label": { + "Urdu": "اسلامیہ کالونی", + "Roman Urdu": "Islamia Colony", + "English": "Islamia Colony" + } + }, + { + "province": "na", + "city": "na", + "town": "na", + "name": "other", + "label": { + "Urdu": "دیگر", + "Roman Urdu": "Deegar", + "English": "Other" + } + }, + { + "province": "na", + "city": "na", + "town": "na", + "name": "not_applicable", + "label": { + "Urdu": "قابل اطلاق نہیں", + "Roman Urdu": "Qaabil-e-atlaaq nahi", + "English": "Not Applicable" + } + } + ], + "gender": [ + { + "instance": { + "openmrs_code": "1534AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "male", + "label": { + "Urdu": "مرد/ لڑکا", + "Roman Urdu": "Mard/larka", + "English": "Male" + } + }, + { + "instance": { + "openmrs_code": "1535AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "female", + "label": { + "Urdu": "عورت/لڑکی", + "Roman Urdu": "Aurat/larki", + "English": "Female" + } + }, + { + "instance": { + "openmrs_code": "163163AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "transgender", + "label": { + "Urdu": "خواجہ سرہ", + "Roman Urdu": "Khwaja sira", + "English": "Transgender" + } + } + ], + "vaccines": [ + { + "instance": { + "openmrs_code": "1570AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "bcg", + "label": { + "Urdu": "بی سی جی", + "Roman Urdu": "BCG", + "English": "BCG" + } + }, + { + "instance": { + "openmrs_code": "783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "opv0", + "label": { + "Urdu": "او پی وی 0", + "Roman Urdu": "OPV 0", + "English": "OPV 0" + } + }, + { + "instance": { + "openmrs_code": "162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "pcv1", + "label": { + "Urdu": "پی سی وی 1", + "Roman Urdu": "PCV 1", + "English": "PCV 1" + } + }, + { + "instance": { + "openmrs_code": "783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "opv1", + "label": { + "Urdu": "او پی وی 1", + "Roman Urdu": "OPV 1", + "English": "OPV 1" + } + }, + { + "instance": { + "openmrs_code": "162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "penta1", + "label": { + "Urdu": "پینٹا ویلنٹ 1", + "Roman Urdu": "Pentavalent 1", + "English": "Pentavalent 1" + } + }, + { + "instance": { + "openmrs_code": "162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "pcv2", + "label": { + "Urdu": "پی سی وی 2", + "Roman Urdu": "PCV 2", + "English": "PCV 2" + } + }, + { + "instance": { + "openmrs_code": "783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "opv2", + "label": { + "Urdu": "او پی وی 2", + "Roman Urdu": "OPV 2", + "English": "OPV 2" + } + }, + { + "instance": { + "openmrs_code": "162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "penta2", + "label": { + "Urdu": "پینٹا ویلنٹ 2", + "Roman Urdu": "Pentavalent 2", + "English": "Pentavalent 2" + } + }, + { + "instance": { + "openmrs_code": "162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "pcv3", + "label": { + "Urdu": "پی سی وی 3", + "Roman Urdu": "PCV 3", + "English": "PCV 3" + } + }, + { + "instance": { + "openmrs_code": "783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "opv3", + "label": { + "Urdu": "او پی وی 3", + "Roman Urdu": "OPV 3", + "English": "OPV 3" + } + }, + { + "instance": { + "openmrs_code": "162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "penta3", + "label": { + "Urdu": "پینٹا ویلنٹ 3", + "Roman Urdu": "Pentavalent 3", + "English": "Pentavalent 3" + } + }, + { + "instance": { + "openmrs_code": "82242AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "ipv", + "label": { + "Urdu": "آئی پی وی", + "Roman Urdu": "IPV", + "English": "IPV" + } + }, + { + "instance": { + "openmrs_code": "79409AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "measles1", + "label": { + "Urdu": "خسرہ 1", + "Roman Urdu": "Khasra 1", + "English": "Measles 1" + } + }, + { + "instance": { + "openmrs_code": "79409AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "measles2", + "label": { + "Urdu": "خسرہ 2", + "Roman Urdu": "Khasra 2", + "English": "Measles 2" + } + } + ], + "towns": [ + { + "province": "sindh", + "city": "karachi", + "name": "korangi", + "label": { + "Urdu": "کورنگی", + "Roman Urdu": "Korangi", + "English": "Korangi" + } + }, + { + "province": "sindh", + "city": "karachi", + "name": "landhi", + "label": { + "Urdu": "لانڈھی", + "Roman Urdu": "Landhi", + "English": "Landhi" + } + }, + { + "province": "sindh", + "city": "karachi", + "name": "baldia", + "label": { + "Urdu": "بلدیہ", + "Roman Urdu": "Baldia", + "English": "Baldia" + } + }, + { + "province": "sindh", + "city": "karachi", + "name": "bin_qasim", + "label": { + "Urdu": "بن قاسم", + "Roman Urdu": "Bin Qasim", + "English": "Bin Qasim" + } + }, + { + "province": "sindh", + "city": "karachi", + "name": "gadap", + "label": { + "Urdu": "گڈاپ", + "Roman Urdu": "Gadap", + "English": "Gadap" + } + }, + { + "province": "sindh", + "city": "karachi", + "name": "gulberg", + "label": { + "Urdu": "گلبرگ", + "Roman Urdu": "Gulberg", + "English": "Gulberg" + } + }, + { + "province": "sindh", + "city": "karachi", + "name": "gulshan", + "label": { + "Urdu": "گلشن", + "Roman Urdu": "Gulshan", + "English": "Gulshan" + } + }, + { + "province": "sindh", + "city": "karachi", + "name": "jamshed", + "label": { + "Urdu": "جمشید", + "Roman Urdu": "Jamshed", + "English": "Jamshed" + } + }, + { + "province": "sindh", + "city": "karachi", + "name": "kiamari", + "label": { + "Urdu": "کیماری", + "Roman Urdu": "Kiamari", + "English": "Kiamari" + } + }, + { + "province": "sindh", + "city": "karachi", + "name": "liaquatabad", + "label": { + "Urdu": "لیاقت آباد", + "Roman Urdu": "Liaquatabad", + "English": "Liaquatabad" + } + }, + { + "province": "sindh", + "city": "karachi", + "name": "lyari", + "label": { + "Urdu": "لیاری", + "Roman Urdu": "Lyari", + "English": "Lyari" + } + }, + { + "province": "sindh", + "city": "karachi", + "name": "malir", + "label": { + "Urdu": "ملیر", + "Roman Urdu": "Malir", + "English": "Malir" + } + }, + { + "province": "sindh", + "city": "karachi", + "name": "new_karachi", + "label": { + "Urdu": "نیو کراچی", + "Roman Urdu": "New Karachi", + "English": "New Karachi" + } + }, + { + "province": "sindh", + "city": "karachi", + "name": "north_nazimabad", + "label": { + "Urdu": "نارتھ ناظم آباد", + "Roman Urdu": "North Nazimabad", + "English": "North Nazimabad" + } + }, + { + "province": "sindh", + "city": "karachi", + "name": "orangi", + "label": { + "Urdu": "اورنگی", + "Roman Urdu": "Orangi", + "English": "Orangi" + } + }, + { + "province": "sindh", + "city": "karachi", + "name": "saddar", + "label": { + "Urdu": "صدر", + "Roman Urdu": "Saddar", + "English": "Saddar" + } + }, + { + "province": "sindh", + "city": "karachi", + "name": "shah_faisal", + "label": { + "Urdu": "شاہ فیصل", + "Roman Urdu": "Shah Faisal", + "English": "Shah Faisal" + } + }, + { + "province": "sindh", + "city": "karachi", + "name": "site", + "label": { + "Urdu": "سائٹ", + "Roman Urdu": "S.I.T.E.", + "English": "S.I.T.E." + } + }, + { + "province": "na", + "city": "na", + "name": "other", + "label": { + "Urdu": "دیگر", + "Roman Urdu": "Deegar", + "English": "Other" + } + }, + { + "province": "na", + "city": "na", + "name": "not_applicable", + "label": { + "Urdu": "قابل اطلاق نہیں", + "Roman Urdu": "Qaabil-e-atlaaq nahi", + "English": "Not Applicable" + } + } + ], + "cities": [ + { + "province": "sindh", + "name": "karachi", + "label": { + "Urdu": "کراچی", + "Roman Urdu": "Karachi", + "English": "Karachi" + } + }, + { + "province": "punjab", + "name": "hafizabad", + "label": { + "Urdu": "حافظ آباد", + "Roman Urdu": "Hafizabad", + "English": "Hafizabad" + } + }, + { + "province": "punjab", + "name": "muzaffargarh", + "label": { + "Urdu": "مظفر گڑھ", + "Roman Urdu": "Muzaffargarh", + "English": "Muzaffargarh" + } + }, + { + "province": "na", + "name": "other", + "label": { + "Urdu": "دیگر", + "Roman Urdu": "Deegar", + "English": "Other" + } + }, + { + "province": "na", + "name": "not_applicable", + "label": { + "Urdu": "قابل اطلاق نہیں", + "Roman Urdu": "Qaabil-e-atlaaq nahi", + "English": "Not Applicable" + } + } + ], + "yes_no": [ + { + "instance": { + "openmrs_code": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "yes", + "label": { + "Urdu": "ہاں", + "Roman Urdu": "Yes", + "English": "Yes" + } + }, + { + "instance": { + "openmrs_code": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "no", + "label": { + "Urdu": "نہیں", + "Roman Urdu": "No", + "English": "No" + } + } + ] + }, + "instance": { + "encounter_type": "Child Vaccination Followup" + }, + "version": "201604080501", + "id_string": "child_vaccination_followup", + "type": "survey", + "children": [ + { + "type": "hidden", + "name": "provider_uc" + }, + { + "type": "hidden", + "name": "provider_town" + }, + { + "type": "hidden", + "name": "provider_city" + }, + { + "type": "hidden", + "name": "provider_province" + }, + { + "type": "hidden", + "name": "existing_first_name" + }, + { + "type": "hidden", + "name": "existing_last_name" + }, + { + "type": "hidden", + "name": "existing_mother_name" + }, + { + "type": "hidden", + "name": "existing_gender" + }, + { + "type": "hidden", + "name": "existing_client_birth_date" + }, + { + "type": "hidden", + "name": "existing_client_reg_date" + }, + { + "type": "hidden", + "name": "existing_landmark" + }, + { + "type": "hidden", + "name": "existing_house_number" + }, + { + "type": "hidden", + "name": "existing_street" + }, + { + "type": "hidden", + "name": "existing_union_council" + }, + { + "type": "hidden", + "name": "existing_town" + }, + { + "type": "hidden", + "name": "existing_city_village" + }, + { + "type": "hidden", + "name": "existing_province" + }, + { + "type": "hidden", + "name": "existing_union_councilname" + }, + { + "type": "hidden", + "name": "existing_townname" + }, + { + "type": "hidden", + "name": "existing_city_villagename" + }, + { + "type": "hidden", + "name": "existing_provincename" + }, + { + "type": "hidden", + "name": "existing_ethnicity" + }, + { + "type": "hidden", + "name": "existing_program_client_id" + }, + { + "type": "hidden", + "name": "existing_epi_card_number" + }, + { + "type": "hidden", + "name": "existing_child_was_suffering_from_a_disease_at_birth" + }, + { + "type": "hidden", + "name": "existing_reminders_approval" + }, + { + "type": "hidden", + "name": "existing_contact_phone_number" + }, + { + "type": "hidden", + "name": "e_bcg" + }, + { + "type": "hidden", + "name": "e_opv0" + }, + { + "type": "hidden", + "name": "e_penta2" + }, + { + "type": "hidden", + "name": "e_penta1" + }, + { + "type": "hidden", + "name": "e_penta3" + }, + { + "type": "hidden", + "name": "e_opv1" + }, + { + "type": "hidden", + "name": "e_opv2" + }, + { + "type": "hidden", + "name": "e_opv3" + }, + { + "type": "hidden", + "name": "e_pcv1" + }, + { + "type": "hidden", + "name": "e_pcv2" + }, + { + "type": "hidden", + "name": "e_pcv3" + }, + { + "type": "hidden", + "name": "e_ipv" + }, + { + "type": "hidden", + "name": "e_measles1" + }, + { + "type": "hidden", + "name": "e_measles2" + }, + { + "type": "hidden", + "name": "provider_id" + }, + { + "instance": { + "openmrs_entity_id": "location_id", + "openmrs_entity": "encounter" + }, + "type": "hidden", + "name": "provider_location_id" + }, + { + "type": "hidden", + "name": "provider_location_name" + }, + { + "type": "note", + "name": "provider_location_note", + "label": { + "Urdu": "شہر: ${provider_city} ; ٹائون: ${provider_town} ; یوسی: ${provider_uc} ; سینٹرکا نام: ${provider_location_name}", + "English": "City: ${provider_city} ; Town: ${provider_town} ; UC: ${provider_uc} ; Center Name: ${provider_location_name}", + "Roman Urdu": "Shehr: ${provider_city} ; Town: ${provider_town} ; UC: ${provider_uc} ; Center ka Naam: ${provider_location_name}" + } + }, + { + "instance": { + "openmrs_entity_id": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept" + }, + "type": "start", + "name": "start" + }, + { + "instance": { + "openmrs_entity_id": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept" + }, + "type": "end", + "name": "end" + }, + { + "instance": { + "openmrs_entity_id": "163286AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept" + }, + "type": "today", + "name": "today" + }, + { + "instance": { + "openmrs_entity_id": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept" + }, + "type": "deviceid", + "name": "deviceid" + }, + { + "instance": { + "openmrs_entity_id": "163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept" + }, + "type": "subscriberid", + "name": "subscriberid" + }, + { + "instance": { + "openmrs_entity_id": "163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept" + }, + "type": "simserial", + "name": "simserial" + }, + { + "instance": { + "openmrs_entity_id": "163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept" + }, + "type": "phonenumber", + "name": "phonenumber" + }, + { + "bind": { + "required": "yes" + }, + "label": { + "Urdu": "بچے کی پروگرام میں اندراج کی تاریخ: {existing_client_reg_date}$", + "Roman Urdu": "Bachay ki Program mai andraj ki tareekh: ${existing_client_reg_date}", + "English": "Child Registration date: ${existing_client_reg_date}" + }, + "type": "note", + "name": "existing_client_reg_date_note", + "hint": { + "Urdu": "بچے کو ویکسین لگنے کی تاریخ", + "Roman Urdu": "Bachay ko vaccine lagnay ki tareekh", + "English": "Date on which child was vaccinated" + } + }, + { + "bind": { + "required": "yes" + }, + "type": "note", + "name": "program_client_id_note", + "label": { + "Urdu": "کلائنٹ کی پروگرام ائی ڈی: {existing_program_client_id}$", + "Roman Urdu": "Client ki program ID: ${existing_program_client_id}", + "English": "Program Client ID: ${existing_program_client_id}" + } + }, + { + "bind": { + "required": "yes" + }, + "type": "note", + "instance": { + "openmrs_entity_id": "EPI Card Number", + "openmrs_entity": "person_attribute" + }, + "name": "epi_card_number_note", + "label": { + "Urdu": "کارڈ نمبر: {existing_epi_card_number}$", + "English": "Card Number: ${existing_epi_card_number}", + "Roman Urdu": "Card Number: ${existing_epi_card_number}" + } + }, + { + "bind": { + "required": "yes" + }, + "type": "note", + "name": "first_name_note", + "label": { + "Urdu": "نام: {existing_first_name}$", + "Roman Urdu": "Naam: ${existing_first_name}", + "English": "First Name: ${existing_first_name}" + } + }, + { + "bind": { + "required": "yes" + }, + "type": "note", + "name": "last_name_note", + "label": { + "Urdu": "والد کا نام: {existing_last_name}$", + "Roman Urdu": "Waalid ka naam: ${existing_last_name}", + "English": "Last name: ${existing_last_name}" + } + }, + { + "bind": { + "calculate": "int((${today} - ${existing_client_birth_date}) div 30.42)" + }, + "type": "calculate", + "name": "child_age", + "instance": { + "openmrs_entity_id": "154384AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept" + } + }, + { + "type": "note", + "name": "calc_dob_note", + "label": { + "Urdu": "بچے کی تاریخ پیدائش: {existing_client_birth_date}$ ({child_age}$) مہینے", + "English": "Child dob: ${existing_client_birth_date} (${child_age}) months", + "Roman Urdu": "Bachay ki tareekh-e-paidaish: ${existing_client_birth_date} (${child_age}) mahinay" + } + }, + { + "bind": { + "required": "yes" + }, + "type": "note", + "name": "gender_note", + "label": { + "Urdu": "جنس: {existing_gender}$", + "Roman Urdu": "Jins:${existing_gender}", + "English": "Gender: ${existing_gender}" + } + }, + { + "type": "note", + "name": "mother_name_note", + "label": { + "Urdu": "ماں کا نام: {existing_mother_name}$", + "English": "Mother's Name: ${existing_mother_name}", + "Roman Urdu": "Maa ka naam: ${existing_mother_name}" + } + }, + { + "bind": { + "required": "yes" + }, + "type": "note", + "name": "exisiting_ethnicity_note", + "label": { + "Urdu": "قومیت: {existing_ethnicity}$", + "Roman Urdu": "Qomiat: ${existing_ethnicity}", + "English": "Ethnicity: ${existing_ethnicity}" + } + }, + { + "type": "note", + "name": "address", + "label": { + "Urdu": "موجودہ پتہ: ${existing_house_number}, ${existing_street}, ${existing_landmark}, ${existing_union_councilname}, ${existing_townname}, ${existing_city_villagename}, ${existing_provincename}", + "English": "Current Address: ${existing_house_number}, ${existing_street}, ${existing_landmark}, ${existing_union_councilname}, ${existing_townname}, ${existing_city_villagename}, ${existing_provincename}", + "Roman Urdu": "Mojooda Address: ${existing_house_number}, ${existing_street}, ${existing_landmark}, ${existing_union_councilname}, ${existing_townname}, ${existing_city_villagename}, ${existing_provincename}" + } + }, + { + "label": { + "Urdu": "کیا آپ کا گھر کا پتہ بدلا ہے؟", + "English": "Has your home address changed?", + "Roman Urdu": "Kya aap ka ghar ka pata badla hai?" + }, + "type": "select one", + "children": [ + { + "instance": { + "openmrs_code": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "yes", + "label": { + "Urdu": "ہاں", + "Roman Urdu": "Yes", + "English": "Yes" + } + }, + { + "instance": { + "openmrs_code": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "no", + "label": { + "Urdu": "نہیں", + "Roman Urdu": "No", + "English": "No" + } + } + ], + "name": "address_change" + }, + { + "control": { + "appearance": "minimal" + }, + "name": "province", + "default": "${provider_province}", + "bind": { + "relevant": "selected(${address_change}, 'yes')", + "required": "yes" + }, + "label": { + "Urdu": "صوبہ", + "Roman Urdu": "Suba", + "English": "Province" + }, + "instance": { + "openmrs_entity": "person_address", + "openmrs_entity_id": "stateProvince", + "openmrs_entity_parent": "usual_residence" + }, + "type": "select one", + "children": [ + { + "name": "kpk", + "label": { + "Urdu": "خیبر پختون خواہ", + "English": "Khyber Pakhtunkhwa", + "Roman Urdu": "Khyber Pakhtunkhwa" + } + }, + { + "name": "sindh", + "label": { + "Urdu": "سندھ", + "English": "Sindh", + "Roman Urdu": "Sindh" + } + }, + { + "name": "balochistan", + "label": { + "Urdu": "بلوچستان", + "English": "Balochistan", + "Roman Urdu": "Balochistan" + } + }, + { + "name": "punjab", + "label": { + "Urdu": "پنجاب", + "English": "Punjab", + "Roman Urdu": "Punjab" + } + }, + { + "name": "gilgit_baltistan", + "label": { + "Urdu": "گلگت بلتستان", + "English": "Gilgit Baltistan", + "Roman Urdu": "Gilgit Baltistan" + } + }, + { + "name": "kashmir", + "label": { + "Urdu": "کشمیر", + "English": "Kashmir", + "Roman Urdu": "Kashmir" + } + }, + { + "name": "fata", + "label": { + "Urdu": "فاٹا", + "English": "FATA", + "Roman Urdu": "FATA" + } + }, + { + "name": "out_of_country", + "label": { + "Urdu": "ملک سے باہر", + "English": "Out of Country", + "Roman Urdu": "Out of Country" + } + } + ] + }, + { + "control": { + "appearance": "minimal" + }, + "name": "city_village", + "choice_filter": "province=${province} or province='na'", + "default": "${provider_city}", + "bind": { + "relevant": "selected(${address_change}, 'yes')", + "required": "yes" + }, + "label": { + "Urdu": "شہر", + "Roman Urdu": "Shehr", + "English": "City" + }, + "itemset": "cities", + "instance": { + "openmrs_entity": "person_address", + "openmrs_entity_id": "cityVillage", + "openmrs_entity_parent": "usual_residence" + }, + "type": "select one" + }, + { + "control": { + "appearance": "minimal" + }, + "name": "town", + "choice_filter": "(province=${province} and city=${city_village} ) or city='na'", + "bind": { + "relevant": "selected(${address_change}, 'yes')", + "required": "yes" + }, + "label": { + "Urdu": "ٹاٰئون/ قصبہ/ بستی", + "Roman Urdu": "Town / Qasbah / Basti", + "English": "Town" + }, + "itemset": "towns", + "instance": { + "openmrs_entity": "person_address", + "openmrs_entity_id": "town", + "openmrs_entity_parent": "usual_residence" + }, + "type": "select one" + }, + { + "control": { + "appearance": "minimal" + }, + "name": "union_council", + "choice_filter": "(province=${province} and city=${city_village} and town=${town}) or town='na'", + "bind": { + "relevant": "selected(${address_change}, 'yes')", + "required": "yes" + }, + "label": { + "Urdu": "یونین کونسل", + "Roman Urdu": "Union Council", + "English": "Union Council" + }, + "itemset": "ucs", + "instance": { + "openmrs_entity": "person_address", + "openmrs_entity_id": "subTown", + "openmrs_entity_parent": "usual_residence" + }, + "type": "select one" + }, + { + "bind": { + "relevant": "selected(${address_change}, 'yes')", + "required": "yes" + }, + "type": "text", + "instance": { + "openmrs_entity": "person_address", + "openmrs_entity_id": "house", + "openmrs_entity_parent": "usual_residence" + }, + "name": "house_number", + "label": { + "Urdu": "گھر کا نمبر", + "Roman Urdu": "Ghar ka number", + "English": "House Number" + } + }, + { + "bind": { + "relevant": "selected(${address_change}, 'yes')", + "required": "yes" + }, + "type": "text", + "instance": { + "openmrs_entity": "person_address", + "openmrs_entity_id": "street", + "openmrs_entity_parent": "usual_residence" + }, + "name": "street", + "label": { + "Urdu": "گلی/کالونی/محلہ", + "Roman Urdu": "Gali/Colony/Mohalla", + "English": "Street" + } + }, + { + "bind": { + "relevant": "selected(${address_change}, 'yes')", + "required": "yes" + }, + "type": "text", + "instance": { + "openmrs_entity": "person_address", + "openmrs_entity_id": "landmark", + "openmrs_entity_parent": "usual_residence" + }, + "name": "landmark", + "label": { + "Urdu": "گھر کے قریب کوئی مشہور جگہ", + "Roman Urdu": "Ghar ke qareeb koi mashoor jagah", + "English": "Land Mark" + } + }, + { + "instance": { + "openmrs_entity_id": "163277AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept" + }, + "type": "geopoint", + "name": "center_gps", + "label": { + "Urdu": "حاصل کردہ معلومات کی جگہ کے GPS کارڈینیٹس درج کریں", + "English": "Collect GPS coordinates of data entry location:", + "Roman Urdu": "Hasil karda malomaat ki jaga ke GPS coordinates darj karain" + } + }, + { + "control": { + "appearance": "minimal" + }, + "bind": { + "required": "yes" + }, + "type": "note", + "name": "child_was_suffering_from_a_disease_at_birth_note", + "label": { + "Urdu": "کیا بچہ پیدائش کے وقت کسی مرض میں مبتلا تھا؟ {existing_child_was_suffering_from_a_disease_at_birth}$", + "Roman Urdu": "Kya bacha pedaaish k waqt kissi marz mai mubtila tha? ${existing_child_was_suffering_from_a_disease_at_birth}", + "English": "Child was suffering from a disease at birth: ${existing_child_was_suffering_from_a_disease_at_birth}" + } + }, + { + "instance": { + "openmrs_entity_id": "163162AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept" + }, + "type": "text", + "name": "aefi", + "label": { + "Urdu": "حفاظتی ٹیکوں کے مضر اثرات", + "English": "The temporary side-effects of immunization shots", + "Roman Urdu": "Hifazati teekon ke muzr asraat" + } + }, + { + "control": { + "appearance": "minimal" + }, + "name": "reminders_approval", + "bind": { + "required": "yes" + }, + "label": { + "Urdu": "کیا آپ اپنے بچے کی اگلی ویکسین کی تاریخ کے لیے SMS موصول کرنا چاہتے ہیں؟ {existing_reminders_approval}$", + "English": "Are you willing to receive SMS reminders for your next visit? ${existing_reminders_approval}", + "Roman Urdu": "Kya aap apnay bachay ki agli vaccine ki tareekh ke liye SMS mausool karna chahtay hain? ${existing_reminders_approval}" + }, + "instance": { + "openmrs_entity_id": "163089AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept" + }, + "type": "select one", + "children": [ + { + "instance": { + "openmrs_code": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "yes", + "label": { + "Urdu": "ہاں", + "Roman Urdu": "Yes", + "English": "Yes" + } + }, + { + "instance": { + "openmrs_code": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "no", + "label": { + "Urdu": "نہیں", + "Roman Urdu": "No", + "English": "No" + } + } + ] + }, + { + "bind": { + "jr:constraintMsg": { + "Urdu": "فون نمبر گیارہ ہندسوں پر مشتمل اور مندرجہ ذیل شکل میں ہونا چاہئے: *********03", + "English": "Phone number should be 11 digits in the following format: 03*********", + "Roman Urdu": "Phone number 11 hindason par mushtamil aur mundarja zail shakal main hona chahiey: 03*********" + }, + "relevant": "${existing_reminders_approval}='yes'", + "constraint": "regex(., '^03[0-9]{9}$')" + }, + "type": "text", + "instance": { + "openmrs_entity_id": "159635AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept" + }, + "name": "contact_phone_number", + "label": { + "Urdu": "موبائل نمبر:{existing_contact_phone_number}$", + "English": "Mobile Number: ${existing_contact_phone_number}", + "Roman Urdu": "Mobile Number: ${existing_contact_phone_number}" + } + }, + { + "bind": { + "calculate": "${existing_client_birth_date} + 42" + }, + "type": "calculate", + "name": "six_weeks" + }, + { + "bind": { + "calculate": "${existing_client_birth_date} + 70" + }, + "type": "calculate", + "name": "ten_weeks" + }, + { + "bind": { + "calculate": "${existing_client_birth_date} + 98" + }, + "type": "calculate", + "name": "forteen_weeks" + }, + { + "bind": { + "calculate": "${existing_client_birth_date} + 245" + }, + "type": "calculate", + "name": "nine_months" + }, + { + "bind": { + "calculate": "${existing_client_birth_date} + 458" + }, + "type": "calculate", + "name": "fifteen_months" + }, + { + "control": { + "appearance": "minimal" + }, + "name": "vaccines", + "choice_filter": "name != if( ${e_bcg} != '', 'bcg' , '') and \nname != if( ${e_opv0} != '', 'opv0' , '') and \nname != if( ${e_penta1} != '', 'penta1' , '') and \nname != if( ${e_penta2} != '', 'penta2' , '') and \nname != if( ${e_penta3} != '', 'penta3' , '') and \nname != if( ${e_opv1} != '', 'opv1' , '') and \nname != if( ${e_opv2} != '', 'opv2' , '') and \nname != if( ${e_opv3} != '', 'opv3' , '') and \nname != if( ${e_pcv1} != '', 'pcv1' , '') and \nname != if( ${e_pcv2} != '', 'pcv2' , '') and \nname != if( ${e_pcv3} != '', 'pcv3' , '') and \nname != if( ${e_ipv} != '', 'ipv' , '') and \nname != if( ${e_measles1} != '', 'measles1' , '') and \nname != if( ${e_measles2} != '', 'measles2' , '')", + "label": { + "Urdu": "پچھلی تاریخ جب کسی اور سینٹر پر ٹیکے لگواِے گیے یا قطرے پلائے گئے", + "Roman Urdu": "Pichli tareekh jab kissi aur center par teekay lagwaye gaye ya katray pilaey gaye", + "English": "Retro vaccines" + }, + "itemset": "vaccines", + "instance": { + "openmrs_entity": "concept", + "openmrs_entity_id": "984AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "1421AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "type": "select all that apply" + }, + { + "type": "group", + "children": [ + { + "bind": { + "jr:constraintMsg": { + "Urdu": "حفاظتی ٹیکا ملنے کی تاریخ، بچے کی تاریخ پیدائش کے بعد اور آج کی تاریخ سے پہلے کی ہونی چاہیے", + "English": "The date of vaccination must be greater than the child's birthdate and less than today.", + "Roman Urdu": "Hifaazati teeka milnay ki tareekh, bachay ki tareekh-e-pedaaish ke baad aur aaj ki tareekh se phlay ki honi chahiye." + }, + "relevant": "selected(${vaccines}, 'bcg')", + "constraint": ".>= ${existing_client_birth_date} and .<=${today}" + }, + "type": "date", + "instance": { + "openmrs_entity": "concept", + "openmrs_entity_id": "1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "886AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "bcg_retro", + "label": { + "Urdu": "بی سی جی", + "Roman Urdu": "BCG", + "English": "BCG" + } + }, + { + "bind": { + "jr:constraintMsg": { + "Urdu": "حفاظتی ٹیکا ملنے کی تاریخ، بچے کی تاریخ پیدائش کے بعد اور آج کی تاریخ سے پہلے کی ہونی چاہیے", + "English": "The date of vaccination must be greater than the child's birthdate and less than today.", + "Roman Urdu": "Hifaazati teeka milnay ki tareekh, bachay ki tareekh-e-pedaaish ke baad aur aaj ki tareekh se phlay ki honi chahiye." + }, + "relevant": "selected(${vaccines}, 'opv0')", + "constraint": ".>= ${existing_client_birth_date} and .<=${today}" + }, + "type": "date", + "instance": { + "openmrs_entity": "concept", + "openmrs_entity_id": "1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "opv0_retro", + "label": { + "Urdu": "او پی وی 0", + "Roman Urdu": "OPV 0", + "English": "OPV 0" + } + }, + { + "bind": { + "relevant": "selected(${vaccines}, 'opv0')", + "calculate": "0" + }, + "type": "calculate", + "name": "opv0_dose", + "instance": { + "openmrs_entity": "concept", + "openmrs_entity_id": "1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "bind": { + "jr:constraintMsg": { + "Urdu": "حفاظتی ٹیکا ملنے کی تاریخ، بچے کی تاریخ پیدائش کے بعد اور آج کی تاریخ سے پہلے کی ہونی چاہیے", + "English": "The date of vaccination must be greater than the child's birthdate and less than today.", + "Roman Urdu": "Hifaazati teeka milnay ki tareekh, bachay ki tareekh-e-pedaaish ke baad aur aaj ki tareekh se phlay ki honi chahiye." + }, + "relevant": "selected(${vaccines}, 'pcv1')", + "constraint": ".>= ${existing_client_birth_date} and .<=${today}" + }, + "type": "date", + "instance": { + "openmrs_entity": "concept", + "openmrs_entity_id": "1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "pcv1_retro", + "label": { + "Urdu": "پی سی وی 1", + "Roman Urdu": "PCV1", + "English": "PCV1" + } + }, + { + "bind": { + "relevant": "selected(${vaccines}, 'pcv1')", + "calculate": "1" + }, + "type": "calculate", + "name": "pcv1_dose", + "instance": { + "openmrs_entity": "concept", + "openmrs_entity_id": "1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "bind": { + "jr:constraintMsg": { + "Urdu": "حفاظتی ٹیکا ملنے کی تاریخ، بچے کی تاریخ پیدائش کے بعد اور آج کی تاریخ سے پہلے کی ہونی چاہیے", + "English": "The date of vaccination must be greater than the child's birthdate and less than today.", + "Roman Urdu": "Hifaazati teeka milnay ki tareekh, bachay ki tareekh-e-pedaaish ke baad aur aaj ki tareekh se phlay ki honi chahiye." + }, + "relevant": "selected(${vaccines}, 'opv1')", + "constraint": ".>= ${existing_client_birth_date} and .<=${today}" + }, + "type": "date", + "instance": { + "openmrs_entity": "concept", + "openmrs_entity_id": "1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "opv1_retro", + "label": { + "Urdu": "او پی وی1", + "Roman Urdu": "OPV 1", + "English": "OPV 1" + } + }, + { + "bind": { + "relevant": "selected(${vaccines}, 'opv1')", + "calculate": "1" + }, + "type": "calculate", + "name": "opv1_dose", + "instance": { + "openmrs_entity": "concept", + "openmrs_entity_id": "1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "bind": { + "jr:constraintMsg": { + "Urdu": "حفاظتی ٹیکا ملنے کی تاریخ، بچے کی تاریخ پیدائش کے بعد اور آج کی تاریخ سے پہلے کی ہونی چاہیے", + "English": "The date of vaccination must be greater than the child's birthdate and less than today.", + "Roman Urdu": "Hifaazati teeka milnay ki tareekh, bachay ki tareekh-e-pedaaish ke baad aur aaj ki tareekh se phlay ki honi chahiye." + }, + "relevant": "selected(${vaccines}, 'penta1')", + "constraint": ".>= ${existing_client_birth_date} and .<=${today}" + }, + "type": "date", + "instance": { + "openmrs_entity": "concept", + "openmrs_entity_id": "1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "penta1_retro", + "label": { + "Urdu": "پینٹا ویلنٹ 1", + "Roman Urdu": "Pentavalent 1", + "English": "Pentavalent 1" + } + }, + { + "bind": { + "relevant": "selected(${vaccines}, 'penta1')", + "calculate": "1" + }, + "type": "calculate", + "name": "penta1_dose", + "instance": { + "openmrs_entity": "concept", + "openmrs_entity_id": "1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "bind": { + "jr:constraintMsg": { + "Urdu": "حفاظتی ٹیکا ملنے کی تاریخ، بچے کی تاریخ پیدائش کے بعد اور آج کی تاریخ سے پہلے کی ہونی چاہیے", + "English": "The date of vaccination must be greater than the child's birthdate and less than today.", + "Roman Urdu": "Hifaazati teeka milnay ki tareekh, bachay ki tareekh-e-pedaaish ke baad aur aaj ki tareekh se phlay ki honi chahiye." + }, + "relevant": "selected(${vaccines}, 'pcv2')", + "constraint": ".>= ${existing_client_birth_date} and .<=${today}" + }, + "type": "date", + "instance": { + "openmrs_entity": "concept", + "openmrs_entity_id": "1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "pcv2_retro", + "label": { + "Urdu": "پی سی وی 2", + "Roman Urdu": "PCV2", + "English": "PCV2" + } + }, + { + "bind": { + "relevant": "selected(${vaccines}, 'pcv2')", + "calculate": "2" + }, + "type": "calculate", + "name": "pcv2_dose", + "instance": { + "openmrs_entity": "concept", + "openmrs_entity_id": "1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "bind": { + "jr:constraintMsg": { + "Urdu": "حفاظتی ٹیکا ملنے کی تاریخ، بچے کی تاریخ پیدائش کے بعد اور آج کی تاریخ سے پہلے کی ہونی چاہیے", + "English": "The date of vaccination must be greater than the child's birthdate and less than today.", + "Roman Urdu": "Hifaazati teeka milnay ki tareekh, bachay ki tareekh-e-pedaaish ke baad aur aaj ki tareekh se phlay ki honi chahiye." + }, + "relevant": "selected(${vaccines}, 'opv2')", + "constraint": ".>= ${existing_client_birth_date} and .<=${today}" + }, + "type": "date", + "instance": { + "openmrs_entity": "concept", + "openmrs_entity_id": "1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "opv2_retro", + "label": { + "Urdu": "او پی وی 2", + "Roman Urdu": "OPV 2", + "English": "OPV 2" + } + }, + { + "bind": { + "relevant": "selected(${vaccines}, 'opv2')", + "calculate": "2" + }, + "type": "calculate", + "name": "opv2_dose", + "instance": { + "openmrs_entity": "concept", + "openmrs_entity_id": "1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "bind": { + "jr:constraintMsg": { + "Urdu": "حفاظتی ٹیکا ملنے کی تاریخ، بچے کی تاریخ پیدائش کے بعد اور آج کی تاریخ سے پہلے کی ہونی چاہیے", + "English": "The date of vaccination must be greater than the child's birthdate and less than today.", + "Roman Urdu": "Hifaazati teeka milnay ki tareekh, bachay ki tareekh-e-pedaaish ke baad aur aaj ki tareekh se phlay ki honi chahiye." + }, + "relevant": "selected(${vaccines}, 'penta2')", + "constraint": ".>= ${existing_client_birth_date} and .<=${today}" + }, + "type": "date", + "instance": { + "openmrs_entity": "concept", + "openmrs_entity_id": "1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "penta2_retro", + "label": { + "Urdu": "پینٹا ویلنٹ 2", + "Roman Urdu": "Pentavalent 2", + "English": "Pentavalent 2" + } + }, + { + "bind": { + "relevant": "selected(${vaccines}, 'penta2')", + "calculate": "2" + }, + "type": "calculate", + "name": "penta2_dose", + "instance": { + "openmrs_entity": "concept", + "openmrs_entity_id": "1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "bind": { + "jr:constraintMsg": { + "Urdu": "حفاظتی ٹیکا ملنے کی تاریخ، بچے کی تاریخ پیدائش کے بعد اور آج کی تاریخ سے پہلے کی ہونی چاہیے", + "English": "The date of vaccination must be greater than the child's birthdate and less than today.", + "Roman Urdu": "Hifaazati teeka milnay ki tareekh, bachay ki tareekh-e-pedaaish ke baad aur aaj ki tareekh se phlay ki honi chahiye." + }, + "relevant": "selected(${vaccines}, 'pcv3')", + "constraint": ".>= ${existing_client_birth_date} and .<=${today}" + }, + "type": "date", + "instance": { + "openmrs_entity": "concept", + "openmrs_entity_id": "1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "pcv3_retro", + "label": { + "Urdu": "پی سی وی 3", + "Roman Urdu": "PCV3", + "English": "PCV3" + } + }, + { + "bind": { + "relevant": "selected(${vaccines}, 'penta2')", + "calculate": "3" + }, + "type": "calculate", + "name": "pcv3_dose", + "instance": { + "openmrs_entity": "concept", + "openmrs_entity_id": "1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "bind": { + "jr:constraintMsg": { + "Urdu": "حفاظتی ٹیکا ملنے کی تاریخ، بچے کی تاریخ پیدائش کے بعد اور آج کی تاریخ سے پہلے کی ہونی چاہیے", + "English": "The date of vaccination must be greater than the child's birthdate and less than today.", + "Roman Urdu": "Hifaazati teeka milnay ki tareekh, bachay ki tareekh-e-pedaaish ke baad aur aaj ki tareekh se phlay ki honi chahiye." + }, + "relevant": "selected(${vaccines}, 'opv3')", + "constraint": ".>= ${existing_client_birth_date} and .<=${today}" + }, + "type": "date", + "instance": { + "openmrs_entity": "concept", + "openmrs_entity_id": "1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "opv3_retro", + "label": { + "Urdu": "او پی وی3", + "Roman Urdu": "OPV 3", + "English": "OPV 3" + } + }, + { + "bind": { + "relevant": "selected(${vaccines}, 'opv3')", + "calculate": "3" + }, + "type": "calculate", + "name": "opv3_dose", + "instance": { + "openmrs_entity": "concept", + "openmrs_entity_id": "1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "bind": { + "jr:constraintMsg": { + "Urdu": "حفاظتی ٹیکا ملنے کی تاریخ، بچے کی تاریخ پیدائش کے بعد اور آج کی تاریخ سے پہلے کی ہونی چاہیے", + "English": "The date of vaccination must be greater than the child's birthdate and less than today.", + "Roman Urdu": "Hifaazati teeka milnay ki tareekh, bachay ki tareekh-e-pedaaish ke baad aur aaj ki tareekh se phlay ki honi chahiye." + }, + "relevant": "selected(${vaccines}, 'penta3')", + "constraint": ".>= ${existing_client_birth_date} and .<=${today}" + }, + "type": "date", + "instance": { + "openmrs_entity": "concept", + "openmrs_entity_id": "1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "penta3_retro", + "label": { + "Urdu": "پینٹا ویلنٹ 3", + "Roman Urdu": "Pentavalent 3", + "English": "Pentavalent 3" + } + }, + { + "bind": { + "relevant": "selected(${vaccines}, 'penta3')", + "calculate": "3" + }, + "type": "calculate", + "name": "penta3_dose", + "instance": { + "openmrs_entity": "concept", + "openmrs_entity_id": "1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "bind": { + "jr:constraintMsg": { + "Urdu": "حفاظتی ٹیکا ملنے کی تاریخ، بچے کی تاریخ پیدائش کے بعد اور آج کی تاریخ سے پہلے کی ہونی چاہیے", + "English": "The date of vaccination must be greater than the child's birthdate and less than today.", + "Roman Urdu": "Hifaazati teeka milnay ki tareekh, bachay ki tareekh-e-pedaaish ke baad aur aaj ki tareekh se phlay ki honi chahiye." + }, + "relevant": "selected(${vaccines}, 'ipv')", + "constraint": ".>= ${existing_client_birth_date} and .<=${today}" + }, + "type": "date", + "instance": { + "openmrs_entity": "concept", + "openmrs_entity_id": "1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "1422AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "ipv_retro", + "label": { + "Urdu": "آئی پی وی", + "Roman Urdu": "IPV", + "English": "IPV" + } + }, + { + "bind": { + "jr:constraintMsg": { + "Urdu": "حفاظتی ٹیکا ملنے کی تاریخ، بچے کی تاریخ پیدائش کے بعد اور آج کی تاریخ سے پہلے کی ہونی چاہیے", + "English": "The date of vaccination must be greater than the child's birthdate and less than today.", + "Roman Urdu": "Hifaazati teeka milnay ki tareekh, bachay ki tareekh-e-pedaaish ke baad aur aaj ki tareekh se phlay ki honi chahiye." + }, + "relevant": "selected(${vaccines}, 'measles1')", + "constraint": ".>= ${existing_client_birth_date} and .<=${today}" + }, + "type": "date", + "instance": { + "openmrs_entity": "concept", + "openmrs_entity_id": "1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "36AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "measles1_retro", + "label": { + "Urdu": "خسرہ 1", + "Roman Urdu": "Measles 1", + "English": "Measles 1" + } + }, + { + "bind": { + "relevant": "selected(${vaccines}, 'measles1')", + "calculate": "1" + }, + "type": "calculate", + "name": "measles1_dose", + "instance": { + "openmrs_entity": "concept", + "openmrs_entity_id": "1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "36AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "bind": { + "jr:constraintMsg": { + "Urdu": "حفاظتی ٹیکا ملنے کی تاریخ، بچے کی تاریخ پیدائش کے بعد اور آج کی تاریخ سے پہلے کی ہونی چاہیے", + "English": "The date of vaccination must be greater than the child's birthdate and less than today.", + "Roman Urdu": "Hifaazati teeka milnay ki tareekh, bachay ki tareekh-e-pedaaish ke baad aur aaj ki tareekh se phlay ki honi chahiye." + }, + "relevant": "selected(${vaccines}, 'measles2')", + "constraint": ".>= ${existing_client_birth_date} and .<=${today}" + }, + "type": "date", + "instance": { + "openmrs_entity": "concept", + "openmrs_entity_id": "1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "36AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "measles2_retro", + "label": { + "Urdu": "خسرہ 2", + "Roman Urdu": "Measles2", + "English": "Measles2" + } + }, + { + "bind": { + "relevant": "selected(${vaccines}, 'measles2')", + "calculate": "2" + }, + "type": "calculate", + "name": "measles2_dose", + "instance": { + "openmrs_entity": "concept", + "openmrs_entity_id": "1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "36AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + } + ], + "name": "vaccines_group" + }, + { + "control": { + "appearance": "minimal" + }, + "name": "vaccines_2", + "choice_filter": "name != if( ${e_bcg} != '', 'bcg' , '') and \nname != if( ${e_opv0} != '', 'opv0' , '') and \nname != if( ${e_penta2} != '', 'penta2' , '') and \nname != if( ${e_penta1} != '', 'penta1' , '') and \nname != if( ${e_penta3} != '', 'penta3' , '') and \nname != if( ${e_opv1} != '', 'opv1' , '') and \nname != if( ${e_opv2} != '', 'opv2' , '') and \nname != if( ${e_opv3} != '', 'opv3' , '') and \nname != if( ${e_pcv1} != '', 'pcv1' , '') and \nname != if( ${e_pcv2} != '', 'pcv2' , '') and \nname != if( ${e_pcv3} != '', 'pcv3' , '') and \nname != if( ${e_measles1} != '', 'measles1' , '') and \nname != if( ${e_measles2} != '', 'measles2' , '') and \nname != if(selected(${vaccines}, 'bcg'), 'bcg', '') and \nname != if(selected(${vaccines}, 'opv0'), 'opv0', '') and \nname != if(selected(${vaccines}, 'penta1'), 'penta1', '') and \nname != if(selected(${vaccines}, 'opv1'), 'opv1', '') and \nname != if(selected(${vaccines}, 'pcv1'), 'pcv1', '') and \nname != if(selected(${vaccines}, 'penta2'), 'penta2', '') and \nname != if(selected(${vaccines}, 'opv2'), 'opv2', '') and \nname != if(selected(${vaccines}, 'pcv2'), 'pcv2', '') and \nname != if(selected(${vaccines}, 'penta3'), 'penta3', '') and \nname != if(selected(${vaccines}, 'opv3'), 'opv3', '') and \nname != if(selected(${vaccines}, 'pcv3'), 'pcv3', '') and\nname != if(selected(${vaccines}, 'ipv'), 'ipv', '') and \nname != if(selected(${vaccines}, 'measles1'), 'measles1', '') and \nname != if(selected(${vaccines}, 'measles2'), 'measles2', '')", + "bind": { + "required": "yes", + "constraint": "if(selected(${vaccines_2}, 'bcg') or selected(${vaccines_2}, 'opv0') , .>= ${existing_client_birth_date} and .<=${today}, if(selected(${vaccines_2}, 'opv1') or selected(${vaccines_2}, 'penta1'), .>= ${six_weeks} and .<=${today}, if(selected(${vaccines_2}, 'opv2') or selected(${vaccines_2}, 'penta2'), .>=${ten_weeks} and .<=${today}, if(selected(${vaccines_2}, 'opv3') or selected(${vaccines_2}, 'penta3'), .>=${forteen_weeks} and .<=${today}, if(selected(${vaccines_2}, 'measles1'), .>=${nine_months} and .<=${today}, if(selected(${vaccines_2}, 'measles2'), .>= ${fifteen_months} and .<=${today}))))))" + }, + "label": { + "Urdu": "آج کون کون سی ویکسین دی گئی ہیں؟", + "Roman Urdu": "Aaj kon kon si vaccine di gai hain?", + "English": "Vaccines administered" + }, + "itemset": "vaccines", + "instance": { + "openmrs_entity": "concept", + "openmrs_entity_id": "984AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "1441AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "type": "select all that apply" + }, + { + "name": "vaccination_date", + "default": "${today}", + "bind": { + "required": "yes", + "constraint": "if(selected(${vaccines_2}, 'bcg') or selected(${vaccines_2}, 'opv0') , .>= ${existing_client_birth_date} and .<=${today}, if(selected(${vaccines_2}, 'opv1') or selected(${vaccines_2}, 'penta1'), .>= ${six_weeks} and .<=${today}, if(selected(${vaccines_2}, 'opv2') or selected(${vaccines_2}, 'penta2'), .>=${ten_weeks} and .<=${today}, if(selected(${vaccines_2}, 'opv3') or selected(${vaccines_2}, 'penta3'), .>=${forteen_weeks} and .<=${today}, if(selected(${vaccines_2}, 'measles1'), .>=${nine_months} and .<=${today}, if(selected(${vaccines_2}, 'measles2'), .>= ${fifteen_months} and .<=${today}))))))" + }, + "label": { + "Urdu": "تاریخ", + "English": "Vaccination date", + "Roman Urdu": "Tareekh" + }, + "instance": { + "openmrs_entity_id": "encounter_date", + "openmrs_entity": "encounter" + }, + "type": "date" + }, + { + "bind": { + "calculate": "if(selected(${vaccines_2}, 'bcg'),${vaccination_date},'')" + }, + "type": "calculate", + "name": "bcg", + "instance": { + "openmrs_entity": "concept", + "openmrs_entity_id": "1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "886AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "bind": { + "calculate": "if(selected(${vaccines_2}, 'opv0'),${vaccination_date},'')" + }, + "type": "calculate", + "name": "opv0", + "instance": { + "openmrs_entity": "concept", + "openmrs_entity_id": "1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "bind": { + "relevant": "selected(${vaccines_2}, 'opv0')", + "calculate": "0" + }, + "type": "calculate", + "name": "opv0_dose_today", + "instance": { + "openmrs_entity": "concept", + "openmrs_entity_id": "1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "bind": { + "calculate": "if(selected(${vaccines_2}, 'pcv1'),${vaccination_date},'')" + }, + "type": "calculate", + "name": "pcv1", + "instance": { + "openmrs_entity": "concept", + "openmrs_entity_id": "1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "bind": { + "relevant": "selected(${vaccines_2}, 'pcv1')", + "calculate": "1" + }, + "type": "calculate", + "name": "pcv1_dose_today", + "instance": { + "openmrs_entity": "concept", + "openmrs_entity_id": "1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "bind": { + "calculate": "if(selected(${vaccines_2}, 'opv1'),${vaccination_date},'')" + }, + "type": "calculate", + "name": "opv1", + "instance": { + "openmrs_entity": "concept", + "openmrs_entity_id": "1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "bind": { + "relevant": "selected(${vaccines_2}, 'opv1')", + "calculate": "1" + }, + "type": "calculate", + "name": "opv1_dose_today", + "instance": { + "openmrs_entity": "concept", + "openmrs_entity_id": "1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "bind": { + "calculate": "if(selected(${vaccines_2}, 'penta1'),${vaccination_date},'')" + }, + "type": "calculate", + "name": "penta1", + "instance": { + "openmrs_entity": "concept", + "openmrs_entity_id": "1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "bind": { + "relevant": "selected(${vaccines_2}, 'penta1')", + "calculate": "1" + }, + "type": "calculate", + "name": "penta1_dose_today", + "instance": { + "openmrs_entity": "concept", + "openmrs_entity_id": "1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "bind": { + "calculate": "if(selected(${vaccines_2}, 'pcv2'),${vaccination_date},'')" + }, + "type": "calculate", + "name": "pcv2", + "instance": { + "openmrs_entity": "concept", + "openmrs_entity_id": "1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "bind": { + "relevant": "selected(${vaccines_2}, 'pcv2')", + "calculate": "2" + }, + "type": "calculate", + "name": "pcv2_dose_today", + "instance": { + "openmrs_entity": "concept", + "openmrs_entity_id": "1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "bind": { + "calculate": "if(selected(${vaccines_2}, 'opv2'),${vaccination_date},'')" + }, + "type": "calculate", + "name": "opv2", + "instance": { + "openmrs_entity": "concept", + "openmrs_entity_id": "1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "bind": { + "relevant": "selected(${vaccines_2}, 'opv2')", + "calculate": "2" + }, + "type": "calculate", + "name": "opv2_dose_today", + "instance": { + "openmrs_entity": "concept", + "openmrs_entity_id": "1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "bind": { + "calculate": "if(selected(${vaccines_2}, 'penta2'),${vaccination_date},'')" + }, + "type": "calculate", + "name": "penta2", + "instance": { + "openmrs_entity": "concept", + "openmrs_entity_id": "1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "bind": { + "relevant": "selected(${vaccines_2}, 'penta2')", + "calculate": "2" + }, + "type": "calculate", + "name": "penta2_dose_today", + "instance": { + "openmrs_entity": "concept", + "openmrs_entity_id": "1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "bind": { + "calculate": "if(selected(${vaccines_2}, 'pcv3'),${vaccination_date},'')" + }, + "type": "calculate", + "name": "pcv3", + "instance": { + "openmrs_entity": "concept", + "openmrs_entity_id": "1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "bind": { + "relevant": "selected(${vaccines_2}, 'pcv3')", + "calculate": "3" + }, + "type": "calculate", + "name": "pcv3_dose_today", + "instance": { + "openmrs_entity": "concept", + "openmrs_entity_id": "1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "bind": { + "calculate": "if(selected(${vaccines_2}, 'opv3'),${vaccination_date},'')" + }, + "type": "calculate", + "name": "opv3", + "instance": { + "openmrs_entity": "concept", + "openmrs_entity_id": "1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "bind": { + "relevant": "selected(${vaccines_2}, 'opv3')", + "calculate": "3" + }, + "type": "calculate", + "name": "opv3_dose_today", + "instance": { + "openmrs_entity": "concept", + "openmrs_entity_id": "1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "bind": { + "calculate": "if(selected(${vaccines_2}, 'penta3'),${vaccination_date},'')" + }, + "type": "calculate", + "name": "penta3", + "instance": { + "openmrs_entity": "concept", + "openmrs_entity_id": "1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "bind": { + "relevant": "selected(${vaccines_2}, 'penta3')", + "calculate": "3" + }, + "type": "calculate", + "name": "penta3_dose_today", + "instance": { + "openmrs_entity": "concept", + "openmrs_entity_id": "1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "bind": { + "relevant": "selected(${vaccines}, 'ipv')", + "calculate": "if(selected(${vaccines_2}, 'ipv'),${vaccination_date},'')" + }, + "type": "calculate", + "name": "ipv", + "instance": { + "openmrs_entity": "concept", + "openmrs_entity_id": "1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "1422AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "bind": { + "calculate": "if(selected(${vaccines_2}, 'measles1'),${vaccination_date},'')" + }, + "type": "calculate", + "name": "measles1", + "instance": { + "openmrs_entity": "concept", + "openmrs_entity_id": "1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "36AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "bind": { + "relevant": "selected(${vaccines_2}, 'measles1')", + "calculate": "1" + }, + "type": "calculate", + "name": "measles1_dose_today", + "instance": { + "openmrs_entity": "concept", + "openmrs_entity_id": "1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "36AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "bind": { + "calculate": "if(selected(${vaccines_2}, 'measles2'),${vaccination_date},'')" + }, + "type": "calculate", + "name": "measles2", + "instance": { + "openmrs_entity": "concept", + "openmrs_entity_id": "1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "36AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "bind": { + "relevant": "selected(${vaccines_2}, 'measles2')", + "calculate": "2" + }, + "type": "calculate", + "name": "measles2_dose_today", + "instance": { + "openmrs_entity": "concept", + "openmrs_entity_id": "1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity_parent": "36AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "control": { + "bodyless": true + }, + "type": "group", + "children": [ + { + "bind": { + "readonly": "true()", + "calculate": "concat('uuid:', uuid())" + }, + "type": "calculate", + "name": "instanceID" + } + ], + "name": "meta" + } + ] +} \ No newline at end of file diff --git a/opensrp-core/bin/src/test/resources/form/child_followup/form.xml b/opensrp-core/bin/src/test/resources/form/child_followup/form.xml new file mode 100644 index 0000000000..88fbcb3586 --- /dev/null +++ b/opensrp-core/bin/src/test/resources/form/child_followup/form.xml @@ -0,0 +1,2276 @@ + +
+ + +

بچّوں کا فالو اپ رجسٹر برائے ٹیکاجات - Child Follow Up Vaccination Register

+ + + + + + + + + + + + +
+
+ + کیا آپ کا گھر کا پتہ بدلا ہے؟ + + Has your home address changed? + + + Kya aap ka ghar ka pata badla + hai? + + +
+ + +
+
+
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + +
+ + + + + + diff --git a/opensrp-core/bin/src/test/resources/form/child_followup/form_definition.json b/opensrp-core/bin/src/test/resources/form/child_followup/form_definition.json new file mode 100644 index 0000000000..38d578690e --- /dev/null +++ b/opensrp-core/bin/src/test/resources/form/child_followup/form_definition.json @@ -0,0 +1,466 @@ +{ + "form_data_definition_version" : "1", + "form" : { + "bind_type" : "pkchild", + "default_bind_path" : "/model/instance/Child_Vaccination_Followup/", + "fields" : [ { + "name" : "id", + "shouldLoadValue" : true + }, { + "name" : "provider_uc", + "bind" : "/model/instance/Child_Vaccination_Followup/provider_uc", + "shouldLoadValue" : true + }, { + "name" : "provider_town", + "bind" : "/model/instance/Child_Vaccination_Followup/provider_town", + "shouldLoadValue" : true + }, { + "name" : "provider_city", + "bind" : "/model/instance/Child_Vaccination_Followup/provider_city", + "shouldLoadValue" : true + }, { + "name" : "provider_province", + "bind" : "/model/instance/Child_Vaccination_Followup/provider_province", + "shouldLoadValue" : true + }, { + "name" : "existing_first_name", + "bind" : "/model/instance/Child_Vaccination_Followup/existing_first_name", + "shouldLoadValue" : true + }, { + "name" : "existing_last_name", + "bind" : "/model/instance/Child_Vaccination_Followup/existing_last_name", + "shouldLoadValue" : true + }, { + "name" : "existing_mother_name", + "bind" : "/model/instance/Child_Vaccination_Followup/existing_mother_name", + "shouldLoadValue" : true + }, { + "name" : "existing_gender", + "bind" : "/model/instance/Child_Vaccination_Followup/existing_gender", + "shouldLoadValue" : true + }, { + "name" : "existing_birth_date", + "bind" : "/model/instance/Child_Vaccination_Followup/existing_client_birth_date", + "shouldLoadValue" : true + }, { + "name" : "existing_client_reg_date", + "bind" : "/model/instance/Child_Vaccination_Followup/existing_client_reg_date", + "shouldLoadValue" : true + }, { + "name" : "existing_landmark", + "bind" : "/model/instance/Child_Vaccination_Followup/existing_landmark", + "shouldLoadValue" : true + }, { + "name" : "existing_house_number", + "bind" : "/model/instance/Child_Vaccination_Followup/existing_house_number", + "shouldLoadValue" : true + }, { + "name" : "existing_street", + "bind" : "/model/instance/Child_Vaccination_Followup/existing_street", + "shouldLoadValue" : true + }, { + "name" : "existing_union_council", + "bind" : "/model/instance/Child_Vaccination_Followup/existing_union_council", + "shouldLoadValue" : true + }, { + "name" : "existing_town", + "bind" : "/model/instance/Child_Vaccination_Followup/existing_town", + "shouldLoadValue" : true + }, { + "name" : "existing_city_village", + "bind" : "/model/instance/Child_Vaccination_Followup/existing_city_village", + "shouldLoadValue" : true + }, { + "name" : "existing_province", + "bind" : "/model/instance/Child_Vaccination_Followup/existing_province", + "shouldLoadValue" : true + }, { + "name" : "existing_union_councilname", + "bind" : "/model/instance/Child_Vaccination_Followup/existing_union_councilname", + "shouldLoadValue" : true + }, { + "name" : "existing_townname", + "bind" : "/model/instance/Child_Vaccination_Followup/existing_townname", + "shouldLoadValue" : true + }, { + "name" : "existing_city_villagename", + "bind" : "/model/instance/Child_Vaccination_Followup/existing_city_villagename", + "shouldLoadValue" : true + }, { + "name" : "existing_provincename", + "bind" : "/model/instance/Child_Vaccination_Followup/existing_provincename", + "shouldLoadValue" : true + }, { + "name" : "existing_ethnicity", + "bind" : "/model/instance/Child_Vaccination_Followup/existing_ethnicity", + "shouldLoadValue" : true + }, { + "name" : "existing_program_client_id", + "bind" : "/model/instance/Child_Vaccination_Followup/existing_program_client_id", + "shouldLoadValue" : true + }, { + "name" : "existing_epi_card_number", + "bind" : "/model/instance/Child_Vaccination_Followup/existing_epi_card_number", + "shouldLoadValue" : true + }, { + "name" : "existing_child_was_suffering_from_a_disease_at_birth", + "bind" : "/model/instance/Child_Vaccination_Followup/existing_child_was_suffering_from_a_disease_at_birth", + "shouldLoadValue" : true + }, { + "name" : "existing_reminders_approval", + "bind" : "/model/instance/Child_Vaccination_Followup/existing_reminders_approval", + "shouldLoadValue" : true + }, { + "name" : "existing_contact_phone_number", + "bind" : "/model/instance/Child_Vaccination_Followup/existing_contact_phone_number", + "shouldLoadValue" : true + }, { + "name" : "e_bcg", + "bind" : "/model/instance/Child_Vaccination_Followup/e_bcg", + "shouldLoadValue" : true + }, { + "name" : "e_opv0", + "bind" : "/model/instance/Child_Vaccination_Followup/e_opv0", + "shouldLoadValue" : true + }, { + "name" : "e_penta2", + "bind" : "/model/instance/Child_Vaccination_Followup/e_penta2", + "shouldLoadValue" : true + }, { + "name" : "e_penta1", + "bind" : "/model/instance/Child_Vaccination_Followup/e_penta1", + "shouldLoadValue" : true + }, { + "name" : "e_penta3", + "bind" : "/model/instance/Child_Vaccination_Followup/e_penta3", + "shouldLoadValue" : true + }, { + "name" : "e_opv1", + "bind" : "/model/instance/Child_Vaccination_Followup/e_opv1", + "shouldLoadValue" : true + }, { + "name" : "e_opv2", + "bind" : "/model/instance/Child_Vaccination_Followup/e_opv2", + "shouldLoadValue" : true + }, { + "name" : "e_opv3", + "bind" : "/model/instance/Child_Vaccination_Followup/e_opv3", + "shouldLoadValue" : true + }, { + "name" : "e_pcv1", + "bind" : "/model/instance/Child_Vaccination_Followup/e_pcv1", + "shouldLoadValue" : true + }, { + "name" : "e_pcv2", + "bind" : "/model/instance/Child_Vaccination_Followup/e_pcv2", + "shouldLoadValue" : true + }, { + "name" : "e_pcv3", + "bind" : "/model/instance/Child_Vaccination_Followup/e_pcv3", + "shouldLoadValue" : true + }, { + "name" : "e_ipv", + "bind" : "/model/instance/Child_Vaccination_Followup/e_ipv", + "shouldLoadValue" : true + }, { + "name" : "e_measles1", + "bind" : "/model/instance/Child_Vaccination_Followup/e_measles1", + "shouldLoadValue" : true + }, { + "name" : "e_measles2", + "bind" : "/model/instance/Child_Vaccination_Followup/e_measles2", + "shouldLoadValue" : true + }, { + "name" : "provider_id", + "bind" : "/model/instance/Child_Vaccination_Followup/provider_id", + "shouldLoadValue" : true + }, { + "name" : "provider_location_id", + "bind" : "/model/instance/Child_Vaccination_Followup/provider_location_id", + "shouldLoadValue" : true + }, { + "name" : "provider_location_name", + "bind" : "/model/instance/Child_Vaccination_Followup/provider_location_name", + "shouldLoadValue" : true + }, { + "name" : "provider_location_note", + "bind" : "/model/instance/Child_Vaccination_Followup/provider_location_note" + }, { + "name" : "start", + "bind" : "/model/instance/Child_Vaccination_Followup/start" + }, { + "name" : "end", + "bind" : "/model/instance/Child_Vaccination_Followup/end" + }, { + "name" : "today", + "bind" : "/model/instance/Child_Vaccination_Followup/today" + }, { + "name" : "deviceid", + "bind" : "/model/instance/Child_Vaccination_Followup/deviceid" + }, { + "name" : "subscriberid", + "bind" : "/model/instance/Child_Vaccination_Followup/subscriberid" + }, { + "name" : "simserial", + "bind" : "/model/instance/Child_Vaccination_Followup/simserial" + }, { + "name" : "phonenumber", + "bind" : "/model/instance/Child_Vaccination_Followup/phonenumber" + }, { + "name" : "existing_client_reg_date_note", + "bind" : "/model/instance/Child_Vaccination_Followup/existing_client_reg_date_note" + }, { + "name" : "program_client_id_note", + "bind" : "/model/instance/Child_Vaccination_Followup/program_client_id_note" + }, { + "name" : "epi_card_number_note", + "bind" : "/model/instance/Child_Vaccination_Followup/epi_card_number_note" + }, { + "name" : "first_name_note", + "bind" : "/model/instance/Child_Vaccination_Followup/first_name_note" + }, { + "name" : "last_name_note", + "bind" : "/model/instance/Child_Vaccination_Followup/last_name_note" + }, { + "name" : "child_age", + "bind" : "/model/instance/Child_Vaccination_Followup/child_age" + }, { + "name" : "calc_dob_note", + "bind" : "/model/instance/Child_Vaccination_Followup/calc_dob_note" + }, { + "name" : "gender_note", + "bind" : "/model/instance/Child_Vaccination_Followup/gender_note" + }, { + "name" : "mother_name_note", + "bind" : "/model/instance/Child_Vaccination_Followup/mother_name_note" + }, { + "name" : "exisiting_ethnicity_note", + "bind" : "/model/instance/Child_Vaccination_Followup/exisiting_ethnicity_note" + }, { + "name" : "address", + "bind" : "/model/instance/Child_Vaccination_Followup/address" + }, { + "name" : "address_change", + "bind" : "/model/instance/Child_Vaccination_Followup/address_change" + }, { + "name" : "province", + "bind" : "/model/instance/Child_Vaccination_Followup/province" + }, { + "name" : "city_village", + "bind" : "/model/instance/Child_Vaccination_Followup/city_village" + }, { + "name" : "town", + "bind" : "/model/instance/Child_Vaccination_Followup/town" + }, { + "name" : "union_council", + "bind" : "/model/instance/Child_Vaccination_Followup/union_council" + }, { + "name" : "house_number", + "bind" : "/model/instance/Child_Vaccination_Followup/house_number" + }, { + "name" : "street", + "bind" : "/model/instance/Child_Vaccination_Followup/street" + }, { + "name" : "landmark", + "bind" : "/model/instance/Child_Vaccination_Followup/landmark" + }, { + "name" : "center_gps", + "bind" : "/model/instance/Child_Vaccination_Followup/center_gps" + }, { + "name" : "child_was_suffering_from_a_disease_at_birth_note", + "bind" : "/model/instance/Child_Vaccination_Followup/child_was_suffering_from_a_disease_at_birth_note" + }, { + "name" : "aefi", + "bind" : "/model/instance/Child_Vaccination_Followup/aefi" + }, { + "name" : "reminders_approval", + "bind" : "/model/instance/Child_Vaccination_Followup/reminders_approval" + }, { + "name" : "contact_phone_number", + "bind" : "/model/instance/Child_Vaccination_Followup/contact_phone_number" + }, { + "name" : "six_weeks", + "bind" : "/model/instance/Child_Vaccination_Followup/six_weeks" + }, { + "name" : "ten_weeks", + "bind" : "/model/instance/Child_Vaccination_Followup/ten_weeks" + }, { + "name" : "forteen_weeks", + "bind" : "/model/instance/Child_Vaccination_Followup/forteen_weeks" + }, { + "name" : "nine_months", + "bind" : "/model/instance/Child_Vaccination_Followup/nine_months" + }, { + "name" : "fifteen_months", + "bind" : "/model/instance/Child_Vaccination_Followup/fifteen_months" + }, { + "name" : "vaccines", + "bind" : "/model/instance/Child_Vaccination_Followup/vaccines" + }, { + "name" : "bcg_retro", + "bind" : "/model/instance/Child_Vaccination_Followup/vaccines_group/bcg_retro" + }, { + "name" : "opv0_retro", + "bind" : "/model/instance/Child_Vaccination_Followup/vaccines_group/opv0_retro" + }, { + "name" : "opv0_dose", + "bind" : "/model/instance/Child_Vaccination_Followup/vaccines_group/opv0_dose" + }, { + "name" : "pcv1_retro", + "bind" : "/model/instance/Child_Vaccination_Followup/vaccines_group/pcv1_retro" + }, { + "name" : "pcv1_dose", + "bind" : "/model/instance/Child_Vaccination_Followup/vaccines_group/pcv1_dose" + }, { + "name" : "opv1_retro", + "bind" : "/model/instance/Child_Vaccination_Followup/vaccines_group/opv1_retro" + }, { + "name" : "opv1_dose", + "bind" : "/model/instance/Child_Vaccination_Followup/vaccines_group/opv1_dose" + }, { + "name" : "penta1_retro", + "bind" : "/model/instance/Child_Vaccination_Followup/vaccines_group/penta1_retro" + }, { + "name" : "penta1_dose", + "bind" : "/model/instance/Child_Vaccination_Followup/vaccines_group/penta1_dose" + }, { + "name" : "pcv2_retro", + "bind" : "/model/instance/Child_Vaccination_Followup/vaccines_group/pcv2_retro" + }, { + "name" : "pcv2_dose", + "bind" : "/model/instance/Child_Vaccination_Followup/vaccines_group/pcv2_dose" + }, { + "name" : "opv2_retro", + "bind" : "/model/instance/Child_Vaccination_Followup/vaccines_group/opv2_retro" + }, { + "name" : "opv2_dose", + "bind" : "/model/instance/Child_Vaccination_Followup/vaccines_group/opv2_dose" + }, { + "name" : "penta2_retro", + "bind" : "/model/instance/Child_Vaccination_Followup/vaccines_group/penta2_retro" + }, { + "name" : "penta2_dose", + "bind" : "/model/instance/Child_Vaccination_Followup/vaccines_group/penta2_dose" + }, { + "name" : "pcv3_retro", + "bind" : "/model/instance/Child_Vaccination_Followup/vaccines_group/pcv3_retro" + }, { + "name" : "pcv3_dose", + "bind" : "/model/instance/Child_Vaccination_Followup/vaccines_group/pcv3_dose" + }, { + "name" : "opv3_retro", + "bind" : "/model/instance/Child_Vaccination_Followup/vaccines_group/opv3_retro" + }, { + "name" : "opv3_dose", + "bind" : "/model/instance/Child_Vaccination_Followup/vaccines_group/opv3_dose" + }, { + "name" : "penta3_retro", + "bind" : "/model/instance/Child_Vaccination_Followup/vaccines_group/penta3_retro" + }, { + "name" : "penta3_dose", + "bind" : "/model/instance/Child_Vaccination_Followup/vaccines_group/penta3_dose" + }, { + "name" : "ipv_retro", + "bind" : "/model/instance/Child_Vaccination_Followup/vaccines_group/ipv_retro" + }, { + "name" : "measles1_retro", + "bind" : "/model/instance/Child_Vaccination_Followup/vaccines_group/measles1_retro" + }, { + "name" : "measles1_dose", + "bind" : "/model/instance/Child_Vaccination_Followup/vaccines_group/measles1_dose" + }, { + "name" : "measles2_retro", + "bind" : "/model/instance/Child_Vaccination_Followup/vaccines_group/measles2_retro" + }, { + "name" : "measles2_dose", + "bind" : "/model/instance/Child_Vaccination_Followup/vaccines_group/measles2_dose" + }, { + "name" : "vaccines_2", + "bind" : "/model/instance/Child_Vaccination_Followup/vaccines_2" + }, { + "name" : "vaccination_date", + "bind" : "/model/instance/Child_Vaccination_Followup/vaccination_date" + }, { + "name" : "bcg", + "bind" : "/model/instance/Child_Vaccination_Followup/bcg" + }, { + "name" : "opv0", + "bind" : "/model/instance/Child_Vaccination_Followup/opv0" + }, { + "name" : "opv0_dose_today", + "bind" : "/model/instance/Child_Vaccination_Followup/opv0_dose_today" + }, { + "name" : "pcv1", + "bind" : "/model/instance/Child_Vaccination_Followup/pcv1" + }, { + "name" : "pcv1_dose_today", + "bind" : "/model/instance/Child_Vaccination_Followup/pcv1_dose_today" + }, { + "name" : "opv1", + "bind" : "/model/instance/Child_Vaccination_Followup/opv1" + }, { + "name" : "opv1_dose_today", + "bind" : "/model/instance/Child_Vaccination_Followup/opv1_dose_today" + }, { + "name" : "penta1", + "bind" : "/model/instance/Child_Vaccination_Followup/penta1" + }, { + "name" : "penta1_dose_today", + "bind" : "/model/instance/Child_Vaccination_Followup/penta1_dose_today" + }, { + "name" : "pcv2", + "bind" : "/model/instance/Child_Vaccination_Followup/pcv2" + }, { + "name" : "pcv2_dose_today", + "bind" : "/model/instance/Child_Vaccination_Followup/pcv2_dose_today" + }, { + "name" : "opv2", + "bind" : "/model/instance/Child_Vaccination_Followup/opv2" + }, { + "name" : "opv2_dose_today", + "bind" : "/model/instance/Child_Vaccination_Followup/opv2_dose_today" + }, { + "name" : "penta2", + "bind" : "/model/instance/Child_Vaccination_Followup/penta2" + }, { + "name" : "penta2_dose_today", + "bind" : "/model/instance/Child_Vaccination_Followup/penta2_dose_today" + }, { + "name" : "pcv3", + "bind" : "/model/instance/Child_Vaccination_Followup/pcv3" + }, { + "name" : "pcv3_dose_today", + "bind" : "/model/instance/Child_Vaccination_Followup/pcv3_dose_today" + }, { + "name" : "opv3", + "bind" : "/model/instance/Child_Vaccination_Followup/opv3" + }, { + "name" : "opv3_dose_today", + "bind" : "/model/instance/Child_Vaccination_Followup/opv3_dose_today" + }, { + "name" : "penta3", + "bind" : "/model/instance/Child_Vaccination_Followup/penta3" + }, { + "name" : "penta3_dose_today", + "bind" : "/model/instance/Child_Vaccination_Followup/penta3_dose_today" + }, { + "name" : "ipv", + "bind" : "/model/instance/Child_Vaccination_Followup/ipv" + }, { + "name" : "measles1", + "bind" : "/model/instance/Child_Vaccination_Followup/measles1" + }, { + "name" : "measles1_dose_today", + "bind" : "/model/instance/Child_Vaccination_Followup/measles1_dose_today" + }, { + "name" : "measles2", + "bind" : "/model/instance/Child_Vaccination_Followup/measles2" + }, { + "name" : "measles2_dose_today", + "bind" : "/model/instance/Child_Vaccination_Followup/measles2_dose_today" + }, { + "name" : "instanceID", + "bind" : "/model/instance/Child_Vaccination_Followup/meta/instanceID" + } ] + } +} \ No newline at end of file diff --git a/opensrp-core/bin/src/test/resources/form/child_followup/form_submission.json b/opensrp-core/bin/src/test/resources/form/child_followup/form_submission.json new file mode 100644 index 0000000000..c87aa72b38 --- /dev/null +++ b/opensrp-core/bin/src/test/resources/form/child_followup/form_submission.json @@ -0,0 +1,103 @@ +{ + "_id": "3958f907af3f2842a3945b4aa9fd70b1", + "_rev": "1-3ceb37b50c6fd42051f2a9c1f809bf4e", + "type": "FormSubmission", + "anmId": "demotest", + "instanceId": "c9386e66-97d0-4c2e-8e72-3e0fe6981cbe", + "formName": "child_followup", + "entityId": "101aab44-5377-4846-95ad-442b857b54d2", + "clientVersion": 1476448247921, + "formDataDefinitionVersion": "1", + "formInstance": { + "form_data_definition_version": "1", + "form": { + "bind_type": "pkchild", + "default_bind_path": "/model/instance/Child_Vaccination_Followup/", + "fields": [ + { + "name": "id", + "value": "101aab44-5377-4846-95ad-442b857b54d2", + "source": "pkchild.id" + }, + { + "name": "instanceID", + "value": "uid:c9386e66-97d0-4c2e-8e72-3e0fe6981cbe", + "source": "pkchild.instanceID" + }, + { + "name": "provider_id", + "value": "demotest", + "source": "pkchild.provider_id" + }, + { + "name": "provider_location_id", + "value": "BHU 33C", + "source": "pkchild.provider_location_id" + }, + { + "name": "start", + "value": "2016-09-16 10:20:54", + "source": "pkchild.start" + }, + { + "name": "end", + "value": "2016-09-16 10:20:54", + "source": "pkchild.end" + }, + { + "name": "today", + "value": "2016-09-20", + "source": "pkchild.today" + }, + { + "name": "vaccination_date", + "value": "2016-09-20", + "source": "pkchild.vaccination_date" + }, + { + "name": "vaccines", + "value": "penta1", + "source": "pkchild.vaccines" + }, + { + "name": "pentavalent_1", + "value": "2016-09-20", + "source": "pkchild.penta1" + }, + { + "name": "pentavalent_1_retro", + "value": "2016-09-20", + "source": "pkchild.penta1" + }, + { + "name": "pentavalent_2", + "source": "pkchild.penta1" + }, + { + "name": "pentavalent_2_retro", + "source": "pkchild.penta1" + }, + { + "name": "penta1_dose_today", + "value": "1", + "source": "pkchild.penta1_dose_today" + } + ], + "fieldsAsMap": { + "id": "101aab44-5377-4846-95ad-442b857b54d2", + "vaccines": "penta1", + "penta1_dose_today": "1", + "pentavalent_1": "2016-09-20", + "pentavalent_1_retro": "2016-09-20", + "start": "2016-09-16 10:20:54", + "provider_id": "demotest", + "instanceID": "uid:c9386e66-97d0-4c2e-8e72-3e0fe6981cbe", + "vaccination_date": "2016-09-20", + "today": "2016-09-20", + "provider_location_id": "BHU 33C", + "end": "2016-09-16 10:20:54" + } + } + }, + "serverVersion": 1484828390836 +} \ No newline at end of file diff --git a/opensrp-core/bin/src/test/resources/form/child_followup/model.xml b/opensrp-core/bin/src/test/resources/form/child_followup/model.xml new file mode 100644 index 0000000000..b8d42cd6ba --- /dev/null +++ b/opensrp-core/bin/src/test/resources/form/child_followup/model.xml @@ -0,0 +1,1685 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + ${provider_province} + ${provider_city} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${today} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + static_instance-provinces-0 + kpk + + + static_instance-provinces-1 + sindh + + + static_instance-provinces-2 + balochistan + + + static_instance-provinces-3 + punjab + + + static_instance-provinces-4 + gilgit_baltistan + + + static_instance-provinces-5 + kashmir + + + static_instance-provinces-6 + fata + + + static_instance-provinces-7 + out_of_country + + + + + + + static_instance-ucs-0 + sindh + karachi + korangi + bilal_colony + + + static_instance-ucs-1 + sindh + karachi + korangi + nasir_colony + + + static_instance-ucs-2 + sindh + karachi + korangi + chakra_goth + + + static_instance-ucs-3 + sindh + karachi + korangi + mustafa_taj_colony + + + static_instance-ucs-4 + sindh + karachi + korangi + hundred_quarters + + + static_instance-ucs-5 + sindh + karachi + korangi + gulzar_colony + + + static_instance-ucs-6 + sindh + karachi + korangi + korangi_sector_33 + + + static_instance-ucs-7 + sindh + karachi + korangi + zaman_town + + + static_instance-ucs-8 + sindh + karachi + korangi + hasrat_mohani_colony + + + static_instance-ucs-9 + sindh + karachi + baldia + gulshan_e_ghazi + + + static_instance-ucs-10 + sindh + karachi + baldia + ittehad_town + + + static_instance-ucs-11 + sindh + karachi + baldia + islam_nagar + + + static_instance-ucs-12 + sindh + karachi + baldia + nai_abadi + + + static_instance-ucs-13 + sindh + karachi + baldia + saeedabad + + + static_instance-ucs-14 + sindh + karachi + baldia + muslim_mujahid_colony + + + static_instance-ucs-15 + sindh + karachi + baldia + muhajir_camp + + + static_instance-ucs-16 + sindh + karachi + baldia + rasheedabad + + + static_instance-ucs-17 + sindh + karachi + bin_qasim + ibrahim_hyderi + + + static_instance-ucs-18 + sindh + karachi + bin_qasim + rehri + + + static_instance-ucs-19 + sindh + karachi + bin_qasim + cattle_colony + + + static_instance-ucs-20 + sindh + karachi + bin_qasim + qaidabad + + + static_instance-ucs-21 + sindh + karachi + bin_qasim + landhi_colony + + + static_instance-ucs-22 + sindh + karachi + bin_qasim + gulshan_e_hadeed + + + static_instance-ucs-23 + sindh + karachi + bin_qasim + gaghar + + + static_instance-ucs-24 + sindh + karachi + gadap + murad_memon_goth + + + static_instance-ucs-25 + sindh + karachi + gadap + darsano_chana + + + static_instance-ucs-26 + sindh + karachi + gadap + gujro + + + static_instance-ucs-27 + sindh + karachi + gadap + songal + + + static_instance-ucs-28 + sindh + karachi + gadap + maymarabad + + + static_instance-ucs-29 + sindh + karachi + gadap + yousuf_goth + + + static_instance-ucs-30 + sindh + karachi + gadap + manghopir + + + static_instance-ucs-31 + sindh + karachi + gulberg + azizabad + + + static_instance-ucs-32 + sindh + karachi + gulberg + karimabad + + + static_instance-ucs-33 + sindh + karachi + gulberg + aisha_manzil + + + static_instance-ucs-34 + sindh + karachi + gulberg + ancholi + + + static_instance-ucs-35 + sindh + karachi + gulberg + naseerabad + + + static_instance-ucs-36 + sindh + karachi + gulberg + yaseenabad + + + static_instance-ucs-37 + sindh + karachi + gulberg + water_pump + + + static_instance-ucs-38 + sindh + karachi + gulberg + shafiq_mill_colony + + + static_instance-ucs-39 + sindh + karachi + gulshan + delhi_mercantile_society + + + static_instance-ucs-40 + sindh + karachi + gulshan + civic_centre + + + static_instance-ucs-41 + sindh + karachi + gulshan + pir_ilahi_buksh_colony + + + static_instance-ucs-42 + sindh + karachi + gulshan + essa_nagri + + + static_instance-ucs-43 + sindh + karachi + gulshan + gulshan_e_iqbal + + + static_instance-ucs-44 + sindh + karachi + gulshan + gillani_railway_station + + + static_instance-ucs-45 + sindh + karachi + gulshan + shanti_nagar + + + static_instance-ucs-46 + sindh + karachi + gulshan + jamali_colony + + + static_instance-ucs-47 + sindh + karachi + gulshan + gulshan_e_iqbal_ii + + + static_instance-ucs-48 + sindh + karachi + gulshan + pehlwan_goth + + + static_instance-ucs-49 + sindh + karachi + gulshan + matrovil_colony + + + static_instance-ucs-50 + sindh + karachi + gulshan + gulzar_e_hijri + + + static_instance-ucs-51 + sindh + karachi + gulshan + safooran_goth + + + static_instance-ucs-52 + sindh + karachi + jamshed + akhtar_colony + + + static_instance-ucs-53 + sindh + karachi + jamshed + manzoor_colony + + + static_instance-ucs-54 + sindh + karachi + jamshed + azam_basti + + + static_instance-ucs-55 + sindh + karachi + jamshed + chanesar_goth + + + static_instance-ucs-56 + sindh + karachi + jamshed + mahmudabad + + + static_instance-ucs-57 + sindh + karachi + jamshed + pechs + + + static_instance-ucs-58 + sindh + karachi + jamshed + pechs_ii + + + static_instance-ucs-59 + sindh + karachi + jamshed + jut_line + + + static_instance-ucs-60 + sindh + karachi + jamshed + central_jacob_lines + + + static_instance-ucs-61 + sindh + karachi + jamshed + jamshed_quarters + + + static_instance-ucs-62 + sindh + karachi + jamshed + garden_east + + + static_instance-ucs-63 + sindh + karachi + jamshed + soldier_bazar + + + static_instance-ucs-64 + sindh + karachi + jamshed + pakistan_quarters + + + static_instance-ucs-65 + sindh + karachi + kiamari + bhutta_village + + + static_instance-ucs-66 + sindh + karachi + kiamari + sultanabad + + + static_instance-ucs-67 + sindh + karachi + kiamari + kiamari_uc + + + static_instance-ucs-68 + sindh + karachi + kiamari + baba_bhit + + + static_instance-ucs-69 + sindh + karachi + kiamari + machar_colony + + + static_instance-ucs-70 + sindh + karachi + kiamari + maripur + + + static_instance-ucs-71 + sindh + karachi + kiamari + shershah + + + static_instance-ucs-72 + sindh + karachi + kiamari + gabo_pat + + + static_instance-ucs-73 + sindh + karachi + landhi + muzafarabad + + + static_instance-ucs-74 + sindh + karachi + landhi + muslimabad + + + static_instance-ucs-75 + sindh + karachi + landhi + dawood_chowrangi + + + static_instance-ucs-76 + sindh + karachi + landhi + moinabad + + + static_instance-ucs-77 + sindh + karachi + landhi + sharafi_goth + + + static_instance-ucs-78 + sindh + karachi + landhi + bhutto_nagar + + + static_instance-ucs-79 + sindh + karachi + landhi + khawaja_ajmeer_colony + + + static_instance-ucs-80 + sindh + karachi + landhi + landhi_uc + + + static_instance-ucs-81 + sindh + karachi + landhi + awami_colony + + + static_instance-ucs-82 + sindh + karachi + landhi + burmee_colony + + + static_instance-ucs-83 + sindh + karachi + landhi + korangi_uc + + + static_instance-ucs-84 + sindh + karachi + landhi + sherabad + + + static_instance-ucs-85 + sindh + karachi + liaquatabad + rizvia_society + + + static_instance-ucs-86 + sindh + karachi + liaquatabad + firdous_colony + + + static_instance-ucs-87 + sindh + karachi + liaquatabad + super_market + + + static_instance-ucs-88 + sindh + karachi + liaquatabad + dak_khana + + + static_instance-ucs-89 + sindh + karachi + liaquatabad + qasimabad + + + static_instance-ucs-90 + sindh + karachi + liaquatabad + bandhani_colony + + + static_instance-ucs-91 + sindh + karachi + liaquatabad + sharifabad + + + static_instance-ucs-92 + sindh + karachi + liaquatabad + commercial_area + + + static_instance-ucs-93 + sindh + karachi + liaquatabad + mujahid_colony + + + static_instance-ucs-94 + sindh + karachi + liaquatabad + nazimabad + + + static_instance-ucs-95 + sindh + karachi + liaquatabad + abbasi_shaheed + + + static_instance-ucs-96 + sindh + karachi + lyari + agra_taj_colony + + + static_instance-ucs-97 + sindh + karachi + lyari + daryaabad + + + static_instance-ucs-98 + sindh + karachi + lyari + nawabad + + + static_instance-ucs-99 + sindh + karachi + lyari + khada_memon_society + + + static_instance-ucs-100 + sindh + karachi + lyari + baghdadi + + + static_instance-ucs-101 + sindh + karachi + lyari + shah_baig_line + + + static_instance-ucs-102 + sindh + karachi + lyari + bihar_colony + + + static_instance-ucs-103 + sindh + karachi + lyari + ragiwara + + + static_instance-ucs-104 + sindh + karachi + lyari + singo_line + + + static_instance-ucs-105 + sindh + karachi + lyari + chakiwara + + + static_instance-ucs-106 + sindh + karachi + lyari + allama_iqbal_colony + + + static_instance-ucs-107 + sindh + karachi + malir + model_colony + + + static_instance-ucs-108 + sindh + karachi + malir + kala_board + + + static_instance-ucs-109 + sindh + karachi + malir + saudabad + + + static_instance-ucs-110 + sindh + karachi + malir + khokhra_par + + + static_instance-ucs-111 + sindh + karachi + malir + jafar_e_tayyar + + + static_instance-ucs-112 + sindh + karachi + malir + gharibabad + + + static_instance-ucs-113 + sindh + karachi + malir + ghazi_brohi_goth + + + static_instance-ucs-114 + sindh + karachi + new_karachi + kalyana + + + static_instance-ucs-115 + sindh + karachi + new_karachi + sir_syed_colony + + + static_instance-ucs-116 + sindh + karachi + new_karachi + fatima_jinnah_colony + + + static_instance-ucs-117 + sindh + karachi + new_karachi + godhra + + + static_instance-ucs-118 + sindh + karachi + new_karachi + abu_zar_ghaffari + + + static_instance-ucs-119 + sindh + karachi + new_karachi + hakim_ahsan + + + static_instance-ucs-120 + sindh + karachi + new_karachi + madina_colony + + + static_instance-ucs-121 + sindh + karachi + new_karachi + faisal_colony + + + static_instance-ucs-122 + sindh + karachi + new_karachi + khamiso_goth + + + static_instance-ucs-123 + sindh + karachi + new_karachi + mustufa_colony + + + static_instance-ucs-124 + sindh + karachi + new_karachi + khawaja_ajmeer_nagri + + + static_instance-ucs-125 + sindh + karachi + new_karachi + gulshan_e_saeed + + + static_instance-ucs-126 + sindh + karachi + new_karachi + shah_nawaz_bhutto_colony + + + static_instance-ucs-127 + sindh + karachi + north_nazimabad + paposh_nagar + + + static_instance-ucs-128 + sindh + karachi + north_nazimabad + pahar_ganj + + + static_instance-ucs-129 + sindh + karachi + north_nazimabad + khandu_goth + + + static_instance-ucs-130 + sindh + karachi + north_nazimabad + hyderi + + + static_instance-ucs-131 + sindh + karachi + north_nazimabad + sakhi_hassan + + + static_instance-ucs-132 + sindh + karachi + north_nazimabad + farooq_e_azam + + + static_instance-ucs-133 + sindh + karachi + north_nazimabad + nusrat_bhutto_colony + + + static_instance-ucs-134 + sindh + karachi + north_nazimabad + shadman_town + + + static_instance-ucs-135 + sindh + karachi + north_nazimabad + buffer_zone + + + static_instance-ucs-136 + sindh + karachi + north_nazimabad + buffer_zone_ii + + + static_instance-ucs-137 + sindh + karachi + orangi + mominabad + + + static_instance-ucs-138 + sindh + karachi + orangi + haryana_colony + + + static_instance-ucs-139 + sindh + karachi + orangi + hanifabad + + + static_instance-ucs-140 + sindh + karachi + orangi + mohammad_nagar + + + static_instance-ucs-141 + sindh + karachi + orangi + madina_colony_orangi + + + static_instance-ucs-142 + sindh + karachi + orangi + ghaziabad + + + static_instance-ucs-143 + sindh + karachi + orangi + chisti_nagar + + + static_instance-ucs-144 + sindh + karachi + orangi + bilal_colony_orangi + + + static_instance-ucs-145 + sindh + karachi + orangi + iqbal_baloch_colony + + + static_instance-ucs-146 + sindh + karachi + orangi + ghabool_town + + + static_instance-ucs-147 + sindh + karachi + orangi + data_nagar + + + static_instance-ucs-148 + sindh + karachi + orangi + mujahidabad + + + static_instance-ucs-149 + sindh + karachi + orangi + baloch_goth + + + static_instance-ucs-150 + sindh + karachi + saddar + old_haji_camp + + + static_instance-ucs-151 + sindh + karachi + saddar + garden + + + static_instance-ucs-152 + sindh + karachi + saddar + kharadar + + + static_instance-ucs-153 + sindh + karachi + saddar + city_railway_colony + + + static_instance-ucs-154 + sindh + karachi + saddar + nanak_wara + + + static_instance-ucs-155 + sindh + karachi + saddar + gazdarabad + + + static_instance-ucs-156 + sindh + karachi + saddar + millat_nagar_islam_pura + + + static_instance-ucs-157 + sindh + karachi + saddar + saddar_uc + + + static_instance-ucs-158 + sindh + karachi + saddar + civil_line + + + static_instance-ucs-159 + sindh + karachi + saddar + clifton + + + static_instance-ucs-160 + sindh + karachi + saddar + kehkashan + + + static_instance-ucs-161 + sindh + karachi + shah_faisal + natha_khan_goth + + + static_instance-ucs-162 + sindh + karachi + shah_faisal + pak_sadat_colony + + + static_instance-ucs-163 + sindh + karachi + shah_faisal + drigh_colony + + + static_instance-ucs-164 + sindh + karachi + shah_faisal + raita_plot + + + static_instance-ucs-165 + sindh + karachi + shah_faisal + moria_khan_goth + + + static_instance-ucs-166 + sindh + karachi + shah_faisal + rafa_e_aam_society + + + static_instance-ucs-167 + sindh + karachi + shah_faisal + al_falah_society + + + static_instance-ucs-168 + sindh + karachi + site + pak_colony + + + static_instance-ucs-169 + sindh + karachi + site + old_golimar + + + static_instance-ucs-170 + sindh + karachi + site + jahanabad + + + static_instance-ucs-171 + sindh + karachi + site + metrovil + + + static_instance-ucs-172 + sindh + karachi + site + bhawani_chali + + + static_instance-ucs-173 + sindh + karachi + site + frontier_colony + + + static_instance-ucs-174 + sindh + karachi + site + banaras_colony + + + static_instance-ucs-175 + sindh + karachi + site + qasba_colony + + + static_instance-ucs-176 + sindh + karachi + site + islamia_colony + + + static_instance-ucs-177 + na + na + na + other + + + static_instance-ucs-178 + na + na + na + not_applicable + + + + + + + static_instance-gender-0 + male + + + static_instance-gender-1 + female + + + static_instance-gender-2 + transgender + + + + + + + static_instance-vaccines-0 + bcg + + + static_instance-vaccines-1 + opv0 + + + static_instance-vaccines-2 + pcv1 + + + static_instance-vaccines-3 + opv1 + + + static_instance-vaccines-4 + penta1 + + + static_instance-vaccines-5 + pcv2 + + + static_instance-vaccines-6 + opv2 + + + static_instance-vaccines-7 + penta2 + + + static_instance-vaccines-8 + pcv3 + + + static_instance-vaccines-9 + opv3 + + + static_instance-vaccines-10 + penta3 + + + static_instance-vaccines-11 + ipv + + + static_instance-vaccines-12 + measles1 + + + static_instance-vaccines-13 + measles2 + + + + + + + static_instance-towns-0 + sindh + karachi + korangi + + + static_instance-towns-1 + sindh + karachi + landhi + + + static_instance-towns-2 + sindh + karachi + baldia + + + static_instance-towns-3 + sindh + karachi + bin_qasim + + + static_instance-towns-4 + sindh + karachi + gadap + + + static_instance-towns-5 + sindh + karachi + gulberg + + + static_instance-towns-6 + sindh + karachi + gulshan + + + static_instance-towns-7 + sindh + karachi + jamshed + + + static_instance-towns-8 + sindh + karachi + kiamari + + + static_instance-towns-9 + sindh + karachi + liaquatabad + + + static_instance-towns-10 + sindh + karachi + lyari + + + static_instance-towns-11 + sindh + karachi + malir + + + static_instance-towns-12 + sindh + karachi + new_karachi + + + static_instance-towns-13 + sindh + karachi + north_nazimabad + + + static_instance-towns-14 + sindh + karachi + orangi + + + static_instance-towns-15 + sindh + karachi + saddar + + + static_instance-towns-16 + sindh + karachi + shah_faisal + + + static_instance-towns-17 + sindh + karachi + site + + + static_instance-towns-18 + na + na + other + + + static_instance-towns-19 + na + na + not_applicable + + + + + + + static_instance-cities-0 + sindh + karachi + + + static_instance-cities-1 + punjab + hafizabad + + + static_instance-cities-2 + punjab + muzaffargarh + + + static_instance-cities-3 + na + other + + + static_instance-cities-4 + na + not_applicable + + + + + + + static_instance-yes_no-0 + yes + + + static_instance-yes_no-1 + no + + + + diff --git a/opensrp-core/bin/src/test/resources/form/entity_relationship.json b/opensrp-core/bin/src/test/resources/form/entity_relationship.json new file mode 100644 index 0000000000..136f8cee02 --- /dev/null +++ b/opensrp-core/bin/src/test/resources/form/entity_relationship.json @@ -0,0 +1,34 @@ +[ + { + "parent": "household", + "child": "elco", + "field": "wife", + "kind": "one_to_many", + "from": "household.id", + "to": "elco.relationalid" + }, + { + "parent": "elco", + "child": "child", + "field": "child", + "kind": "one_to_many", + "from": "elco.id", + "to": "child.motherCaseId" + }, + { + "parent": "eligible_couple", + "child": "mother", + "field": "wife", + "kind": "one_to_one", + "from": "eligible_couple.id", + "to": "mother.ecCaseId" + }, + { + "parent": "mother", + "child": "child", + "field": "children", + "kind": "one_to_many", + "from": "mother.id", + "to": "child.motherCaseId" + } +] \ No newline at end of file diff --git a/opensrp-core/bin/src/test/resources/form/new_household_registration/form.json b/opensrp-core/bin/src/test/resources/form/new_household_registration/form.json new file mode 100644 index 0000000000..0288ac30df --- /dev/null +++ b/opensrp-core/bin/src/test/resources/form/new_household_registration/form.json @@ -0,0 +1,655 @@ +{ + "default_language": "Bengali", + "id_string": "FWNewHH_1", + "children": [ + { + "name": "existing_location", + "instance": { + "openmrs_entity_id": "location_id", + "openmrs_entity": "encounter" + }, + "type": "hidden" + }, + { + "name": "today", + "instance": { + "openmrs_entity_id": "encounter_date", + "openmrs_entity": "encounter" + }, + "type": "today" + }, + { + "name": "start", + "instance": { + "openmrs_entity_id": "encounter_start", + "openmrs_entity": "encounter" + }, + "type": "start" + }, + { + "name": "end", + "instance": { + "openmrs_entity_id": "encounter_end", + "openmrs_entity": "encounter" + }, + "type": "end" + }, + { + "name": "FWNHREGDATE", + "hint": { + "Bengali": "আজকের তারিখ দিন", + "English": "Confirm Today’s date is correct" + }, + "bind": { + "jr:constraintMsg": { + "Bengali": "তারিখ আজকের তারিখের চেয়ে বেশী হতে পারবেনা", + "English": "Date cannot be greater than current date." + }, + "required": "yes", + "constraint": ".<=${today}" + }, + "label": { + "Bengali": "তথ্য সংগ্রহের তারিখ", + "English": "Date of Interview" + }, + "instance": { + "openmrs_entity_id": "160753AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept" + }, + "type": "date" + }, + { + "control": { + "appearance": "numbers" + }, + "name": "FWGOBHHID", + "hint": { + "Bengali": "অনুগ্রহ করে খানার দরজাতে লেখা কালো রঙের JiVitA/Study household ID (HHID) টি টাইপ করুন", + "English": "Please input the Black – painted Government household ID (HHID) as displayed on the door/wall of the HH." + }, + "bind": { + "jr:constraintMsg": { + "Bengali": "অনুগ্রহ করে ০০০১ থেকে ৯৯৯৯ এর মধ্যে ৪ ডিজিটের GoB HHID টাইপ করুন", + "English": "Please enter 4 digits of GoB HHID from 0001 to 9999" + }, + "required": "yes", + "constraint": "regex(., '^(?!0{4})[0-9]{4}$')" + }, + "label": { + "Bengali": "GoB HHID", + "English": "GoB HHID" + }, + "instance": { + "openmrs_entity_id": "GOB HHID", + "openmrs_entity": "person_identifier" + }, + "type": "text" + }, + { + "control": { + "appearance": "numbers" + }, + "name": "FWJIVHHID", + "hint": { + "Bengali": "অনুগ্রহ করে খানার দরজাতে লেখা লাল রঙের JiVitA/Study household ID (HHID) টি টাইপ করুন", + "English": "Please input the RED – painted JiVitA / Study household ID (HHID) as displayed on the door/wall of the HH." + }, + "bind": { + "jr:constraintMsg": { + "Bengali": "অনুগ্রহ করে ০০০১ থেকে ৯৯৯৯ এর মধ্যে ৪ ডিজিটের JiVitA HHID টাইপ করুন", + "English": "Please enter 4 digits of JiVitA HHID from 0001 to 9999" + }, + "required": "yes", + "constraint": "regex(., '^(?!0{4})[0-9]{4}$')" + }, + "label": { + "Bengali": "JiVitA HHID", + "English": "JiVitA HHID" + }, + "instance": { + "openmrs_entity_id": "JiVitA HHID", + "openmrs_entity": "person_identifier" + }, + "type": "text" + }, + { + "name": "FWNHNEARTO", + "label": { + "Bengali": "নিকটবর্তী স্থান", + "English": "Near to" + }, + "instance": { + "openmrs_entity_parent": "usual_residence", + "openmrs_entity_id": "landmark", + "openmrs_entity": "person_address" + }, + "type": "text" + }, + { + "name": "FWNHHHGPS", + "bind": { + "required": "yes" + }, + "label": { + "Bengali": "জি পি এস", + "English": "Collect GPS Location of HH" + }, + "instance": { + "openmrs_entity_parent": "usual_residence", + "openmrs_entity_id": "geopoint", + "openmrs_entity": "person_address" + }, + "type": "geopoint" + }, + { + "name": "FWHOHFNAME", + "bind": { + "required": "yes" + }, + "label": { + "Bengali": "খানা প্রধানের নাম-", + "English": "Head of Household Name" + }, + "instance": { + "openmrs_entity_id": "first_name", + "openmrs_entity": "person" + }, + "type": "text" + }, + { + "name": "FWHOHLNAME", + "bind": { + "calculate": "\".\"" + }, + "instance": { + "openmrs_entity_id": "last_name", + "openmrs_entity": "person" + }, + "type": "calculate" + }, + { + "name": "FWHOHBIRTHDATE", + "bind": { + "calculate": "\"1900-01-01\"" + }, + "instance": { + "openmrs_entity_id": "birthdate", + "openmrs_entity": "person" + }, + "type": "calculate" + }, + { + "name": "FWHOHGENDER", + "bind": { + "calculate": "\"male\"" + }, + "instance": { + "openmrs_entity_id": "gender", + "openmrs_entity": "person" + }, + "type": "calculate" + }, + { + "name": "FWNHHMBRNUM", + "label": { + "Bengali": "খানা সদস্যের সংখ্যা কত?", + "English": "How many people are currently living in this household?" + }, + "instance": { + "openmrs_entity_id": "5611AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept" + }, + "type": "integer" + }, + { + "children": [ + { + "name": "0", + "label": { + "Bengali": "না", + "English": "No" + }, + "instance": { + "openmrs_code": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "name": "1", + "label": { + "Bengali": "হ্যাঁ", + "English": "Yes" + }, + "instance": { + "openmrs_code": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "name": "9", + "label": { + "Bengali": "জানিনা", + "English": "Don't know" + }, + "instance": { + "openmrs_code": "1067AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + } + ], + "name": "FWNHHMWRA", + "label": { + "Bengali": "এই খানায় কি প্রজনন বয়সী বিবাহিত মহিলা আছেন?", + "English": "Are there any MWRAs in this Household?" + }, + "type": "select one" + }, + { + "children": [ + { + "name": "FWWOMFNAME", + "hint": { + "Bengali": "অনুগ্রহ করে মহিলার নাম টাইপ করুন", + "English": "Please type woman's name" + }, + "bind": { + "required": "yes" + }, + "label": { + "Bengali": "মহিলার নাম-", + "English": "Woman Name" + }, + "instance": { + "openmrs_entity_id": "first_name", + "openmrs_entity": "person" + }, + "type": "text" + }, + { + "name": "FWWOMLNAME", + "bind": { + "calculate": "\".\"" + }, + "instance": { + "openmrs_entity_id": "last_name", + "openmrs_entity": "person" + }, + "type": "calculate" + }, + { + "control": { + "appearance": "numbers" + }, + "name": "FWWOMNID", + "hint": { + "Bengali": "অনুগ্রহ করে জাতীয় পরিচয়পত্র কার্ড দেখে সরকার প্রদত্ত আইডি টাইপ করুন", + "English": "Please input the Government ID as displayed on the national ID card" + }, + "bind": { + "jr:constraintMsg": { + "Bengali": "জাতীয় পরিচয়পত্র নং ১৩ অথবা ১৭ ডিজিটের হবে", + "English": "National ID should be 13 or 17 digits" + }, + "constraint": "regex(., '^(?!0{13})[0-9]{13}$') or regex(., '^(?!0{17})[0-9]{17}$')" + }, + "label": { + "Bengali": "মহিলার জাতীয় পরিচয়পত্র নং-", + "English": "Woman's National ID Number" + }, + "instance": { + "openmrs_entity_id": "NID", + "openmrs_entity": "person_identifier" + }, + "type": "text" + }, + { + "control": { + "appearance": "numbers" + }, + "name": "FWWOMBID", + "hint": { + "Bengali": "অনুগ্রহ করে জন্ম নিবন্ধন সনদ দেখে সরকার প্রদত্ত আইডি টাইপ করুন", + "English": "Please input the Government ID as displayed on the birth certificate" + }, + "bind": { + "jr:constraintMsg": { + "Bengali": "জন্ম নিবন্ধন সনদ নং ১৭ ডিজিটের হবে", + "English": "Birth Registration ID should be 17 digits" + }, + "required": "yes", + "constraint": "regex(., '^(?!0{17})[0-9]{17}$')" + }, + "label": { + "Bengali": "মহিলার জন্ম নিবন্ধন সনদ নং-", + "English": "Woman's Birth Registration ID" + }, + "instance": { + "openmrs_entity_id": "Birth Registration ID", + "openmrs_entity": "person_identifier" + }, + "type": "text" + }, + { + "name": "FWHUSNAME", + "hint": { + "Bengali": "অনুগ্রহ করে স্বামীর নাম টাইপ করুন", + "English": "Please type husband's name" + }, + "bind": { + "required": "yes" + }, + "label": { + "Bengali": "স্বামীর নাম-", + "English": "Husband Name" + }, + "instance": { + "openmrs_entity_id": "161135AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept" + }, + "type": "text" + }, + { + "name": "FWBIRTHDATE", + "hint": { + "Bengali": "মহিলার জন্ম নিবন্ধন পত্র থাকলে সেখান থেকে জন্ম তারিখটি লিখে নিন। যদি জন্ম তারিখ জানা না থাকে তবে তারিখ ১৫ সিলেক্ট করুন, যদি মাস জানা না থাকে তবে মাস ৬ (জুন) সিলেক্ট করুন", + "English": "If birth certificate is available, take date of birth from the birth certificate. \nIf date of birth is unknown, choose 15th as the date of birth. If month is unknown, choose month 06 (June) as month of birth." + }, + "bind": { + "jr:constraintMsg": { + "Bengali": "মহিলার বয়স অবশ্যই ১৩ বছরের বেশী হবে", + "English": "Woman must be older than 13 years of age" + }, + "required": "yes", + "constraint": "((${FWBIRTHDATE})+4745) <= today()" + }, + "label": { + "Bengali": "মহিলার জন্ম তারিখ", + "English": "Woman's Date of Birth" + }, + "instance": { + "openmrs_entity_id": "birthdate", + "openmrs_entity": "person" + }, + "type": "date" + }, + { + "name": "FWGENDER", + "bind": { + "calculate": "\"female\"" + }, + "instance": { + "openmrs_entity_id": "gender", + "openmrs_entity": "person" + }, + "type": "calculate" + }, + { + "name": "FWWOMAGE", + "bind": { + "calculate": "round(((${today} - ${FWBIRTHDATE}) div 365.25),0)" + }, + "type": "calculate" + }, + { + "name": "display_age", + "label": { + "Bengali": "মহিলার বয়স ${FWWOMAGE}", + "English": "The woman's age is ${FWWOMAGE}." + }, + "type": "note" + }, + { + "children": [ + { + "name": "0", + "label": { + "Bengali": "না", + "English": "No" + }, + "instance": { + "openmrs_code": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "name": "1", + "label": { + "Bengali": "হ্যাঁ", + "English": "Yes" + }, + "instance": { + "openmrs_code": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "name": "9", + "label": { + "Bengali": "জানিনা", + "English": "Don't know" + }, + "instance": { + "openmrs_code": "1067AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + } + ], + "name": "FWNHWOMSTRMEN", + "bind": { + "required": "yes" + }, + "label": { + "Bengali": "আপনার কি মাসিক একেবারে উঠে গেছে/আপনি কি স্থায়ী জন্মনিয়ন্ত্রন পদ্ধতি গ্রহণ করেছেন?", + "English": "Are you currently menopausal or sterilized?" + }, + "type": "select one" + }, + { + "children": [ + { + "name": "0", + "label": { + "Bengali": "মারা গেছেন", + "English": "Deceased" + }, + "instance": { + "openmrs_code": "159AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "name": "1", + "label": { + "Bengali": "বেঁচে আছেন", + "English": "Alive" + }, + "instance": { + "openmrs_code": "160429AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "name": "9", + "label": { + "Bengali": "জানিনা", + "English": "Don't know" + }, + "instance": { + "openmrs_code": "1067AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + } + ], + "name": "FWNHWOMHUSALV", + "bind": { + "relevant": "${FWNHWOMSTRMEN}='0'", + "required": "yes" + }, + "label": { + "Bengali": "আপনার স্বামী কি বেঁচে আছেন?", + "English": "Is the husband alive?" + }, + "instance": { + "openmrs_entity_id": "5561AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept" + }, + "type": "select one" + }, + { + "children": [ + { + "name": "0", + "label": { + "Bengali": "না", + "English": "No" + }, + "instance": { + "openmrs_code": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "name": "1", + "label": { + "Bengali": "হ্যাঁ", + "English": "Yes" + }, + "instance": { + "openmrs_code": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "name": "9", + "label": { + "Bengali": "জানিনা", + "English": "Don't know" + }, + "instance": { + "openmrs_code": "1067AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + } + ], + "name": "FWNHWOMHUSLIV", + "bind": { + "relevant": "${FWNHWOMSTRMEN}='0' and ${FWNHWOMHUSALV}='1'", + "required": "yes" + }, + "label": { + "Bengali": "আপনি কি বর্তমানে আপনার স্বামীর সাথে বসবাস করছেন?", + "English": "Are you currently living with your husband?" + }, + "instance": { + "openmrs_entity_id": "1060AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept" + }, + "type": "select one" + }, + { + "children": [ + { + "name": "0", + "label": { + "Bengali": "না", + "English": "No" + }, + "instance": { + "openmrs_code": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "name": "1", + "label": { + "Bengali": "হ্যাঁ", + "English": "Yes" + }, + "instance": { + "openmrs_code": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + }, + { + "name": "9", + "label": { + "Bengali": "জানিনা", + "English": "Don't know" + }, + "instance": { + "openmrs_code": "1067AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + } + } + ], + "name": "FWNHWOMHUSSTR", + "bind": { + "relevant": "${FWNHWOMSTRMEN}='0' and ${FWNHWOMHUSLIV}='1'", + "required": "yes" + }, + "label": { + "Bengali": "আপনার স্বামী কি স্থায়ী জন্মনিয়ন্ত্রন পদ্ধতি গ্রহণ করেছেন?", + "English": "Is the husband sterilized?" + }, + "type": "select one" + }, + { + "name": "FWELIGIBLE", + "bind": { + "calculate": "if(${FWNHWOMSTRMEN}='0' and ${FWNHWOMHUSLIV}='1' and ${FWNHWOMHUSSTR}='0',1,0)" + }, + "type": "calculate" + }, + { + "name": "add_women", + "label": { + "Bengali": "এই খানায় যদি আরও কোন মহিলা থাকে যাকে রেজিস্ট্রেশন করা হয়নি, তাহলে '+' অপশনটি বাছুন এবং একই প্রক্রিয়ায় পরবর্তী মহিলাকে রেজিস্ট্রেশন করুন", + "English": "If there are any additional unregistered women in this household, select the '+' to add them now." + }, + "type": "note" + } + ], + "name": "woman", + "hint": { + "Bengali": "আমরা এখন মহিলাটির রেজিস্ট্রেশন প্রক্রিয়া শুরু করতে যাচ্ছি। অনুগ্রহ করে মহিলাটিরে তার জন্ম নিবন্ধন স ও জাতীয় পরিচয়পত্র নিয়ে আসতে বলুন।", + "English": "We will now register the woman. Please ask her to bring her National ID Card and Birth Certificate." + }, + "bind": { + "relevant": "${FWNHHMWRA}='1'" + }, + "label": { + "Bengali": "মহিলা তথ্যঃ", + "English": "New Woman Registration" + }, + "instance": { + "openmrs_entity_id": "Census and New Woman Registration", + "openmrs_entity": "person" + }, + "type": "repeat" + }, + { + "name": "join_names", + "bind": { + "calculate": "join(' ', ${FWWOMFNAME})" + }, + "type": "calculate" + }, + { + "name": "MWRA", + "bind": { + "calculate": "if(${join_names} = '', 0, count(${woman}))" + }, + "type": "calculate" + }, + { + "control": { + "bodyless": true + }, + "children": [ + { + "name": "instanceID", + "bind": { + "readonly": "true()", + "calculate": "concat('uuid:', uuid())" + }, + "type": "calculate" + } + ], + "name": "meta", + "type": "group" + } + ], + "instance": { + "encounter_type": "New Household Registration" + }, + "version": "201505070930", + "type": "survey", + "name": "FWNewHH", + "sms_keyword": "FWNewHH", + "title": "FW new HH Reg" +} \ No newline at end of file diff --git a/opensrp-core/bin/src/test/resources/form/new_household_registration/form.xml b/opensrp-core/bin/src/test/resources/form/new_household_registration/form.xml new file mode 100644 index 0000000000..85089deaa5 --- /dev/null +++ b/opensrp-core/bin/src/test/resources/form/new_household_registration/form.xml @@ -0,0 +1,26 @@ + +
+

নতুন খানা রেজিস্ট্রেশন ফর্ম

+ + + + + + + + + +
এই খানায় কি প্রজনন বয়সী বিবাহিত মহিলা আছেন?Are there any MWRAs in this Household? +
+

মহিলা তথ্যঃNew Woman Registration

আপনার কি মাসিক একেবারে উঠে গেছে/আপনি কি স্থায়ী জন্মনিয়ন্ত্রন পদ্ধতি গ্রহণ করেছেন?Are you currently menopausal or sterilized?* +
আপনার স্বামী কি বেঁচে আছেন?Is the husband alive?* +
আপনি কি বর্তমানে আপনার স্বামীর সাথে বসবাস করছেন?Are you currently living with your husband?* +
আপনার স্বামী কি স্থায়ী জন্মনিয়ন্ত্রন পদ্ধতি গ্রহণ করেছেন?Is the husband sterilized?* +
+
+
+ + XML to HTML transformation for form took 0.03 secondsThis validation is yet not functional.
diff --git a/opensrp-core/bin/src/test/resources/form/new_household_registration/form_definition.json b/opensrp-core/bin/src/test/resources/form/new_household_registration/form_definition.json new file mode 100644 index 0000000000..f1dea2a941 --- /dev/null +++ b/opensrp-core/bin/src/test/resources/form/new_household_registration/form_definition.json @@ -0,0 +1,166 @@ +{ + "form_data_definition_version": "1", + "form": { + "default_bind_path": "/model/instance/FWNewHH", + "bind_type": "household", + "fields": [ + { + "name": "id", + "shouldLoadValue": true + }, + { + "name": "existing_location", + "bind": "/model/instance/FWNewHH/existing_location" + }, + { + "name": "today", + "bind": "/model/instance/FWNewHH/today" + }, + { + "name": "start", + "bind": "/model/instance/FWNewHH/start" + }, + { + "name": "end", + "bind": "/model/instance/FWNewHH/end" + }, + { + "name": "FWNHREGDATE", + "bind": "/model/instance/FWNewHH/FWNHREGDATE" + }, + { + "name": "FWGOBHHID", + "bind": "/model/instance/FWNewHH/FWGOBHHID" + }, + { + "name": "FWJIVHHID", + "bind": "/model/instance/FWNewHH/FWJIVHHID" + }, + { + "name": "FWNHNEARTO", + "bind": "/model/instance/FWNewHH/FWNHNEARTO" + }, + { + "name": "FWNHHHGPS", + "bind": "/model/instance/FWNewHH/FWNHHHGPS" + }, + { + "name": "FWHOHFNAME", + "bind": "/model/instance/FWNewHH/FWHOHFNAME" + }, + { + "name": "FWHOHLNAME", + "bind": "/model/instance/FWNewHH/FWHOHLNAME" + }, + { + "name": "FWHOHBIRTHDATE", + "bind": "/model/instance/FWNewHH/FWHOHBIRTHDATE" + }, + { + "name": "FWHOHBIRTHDATEAPPROX", + "bind": "/model/instance/FWNewHH/FWHOHBIRTHDATEAPPROX" + }, + { + "name": "FWHOHGENDER", + "bind": "/model/instance/FWNewHH/FWHOHGENDER" + }, + { + "name": "FWNHHMBRNUM", + "bind": "/model/instance/FWNewHH/FWNHHMBRNUM" + }, + { + "name": "FWNHHMWRA", + "bind": "/model/instance/FWNewHH/FWNHHMWRA" + }, + { + "name": "join_names", + "bind": "/model/instance/FWNewHH/join_names" + }, + { + "name": "MWRA", + "bind": "/model/instance/FWNewHH/MWRA" + } + ], + "sub_forms": [ + { + "name": "elco_registration", + "bind_type": "elco", + "default_bind_path": "/model/instance/FWNewHH/woman", + "fields": [ + { + "name": "id", + "shouldLoadValue": true + }, + { + "name": "GOBHHID", + "bind": "/model/instance/FWNewHH/woman/GOBHHID" + }, + { + "name": "JiVitAHHID", + "bind": "/model/instance/FWNewHH/woman/JiVitAHHID" + }, + { + "name": "FWWOMFNAME", + "bind": "/model/instance/FWNewHH/woman/FWWOMFNAME" + }, + { + "name": "FWWOMLNAME", + "bind": "/model/instance/FWNewHH/woman/FWWOMLNAME" + }, + { + "name": "FWWOMNID", + "bind": "/model/instance/FWNewHH/woman/FWWOMNID" + }, + { + "name": "FWWOMBID", + "bind": "/model/instance/FWNewHH/woman/FWWOMBID" + }, + { + "name": "FWHUSNAME", + "bind": "/model/instance/FWNewHH/woman/FWHUSNAME" + }, + { + "name": "FWBIRTHDATE", + "bind": "/model/instance/FWNewHH/woman/FWBIRTHDATE" + }, + { + "name": "FWBIRTHDATEAPPROX", + "bind": "/model/instance/FWNewHH/woman/FWBIRTHDATEAPPROX" + }, + { + "name": "FWGENDER", + "bind": "/model/instance/FWNewHH/woman/FWGENDER" + }, + { + "name": "FWWOMAGE", + "bind": "/model/instance/FWNewHH/woman/FWWOMAGE" + }, + { + "name": "display_age", + "bind": "/model/instance/FWNewHH/woman/display_age" + }, + { + "name": "FWNHWOMSTRMEN", + "bind": "/model/instance/FWNewHH/woman/FWNHWOMSTRMEN" + }, + { + "name": "FWNHWOMHUSALV", + "bind": "/model/instance/FWNewHH/woman/FWNHWOMHUSALV" + }, + { + "name": "FWNHWOMHUSLIV", + "bind": "/model/instance/FWNewHH/woman/FWNHWOMHUSLIV" + }, + { + "name": "FWNHWOMHUSSTR", + "bind": "/model/instance/FWNewHH/woman/FWNHWOMHUSSTR" + }, + { + "name": "FWELIGIBLE", + "bind": "/model/instance/FWNewHH/woman/FWELIGIBLE" + } + ] + } + ] + } +} \ No newline at end of file diff --git a/opensrp-core/bin/src/test/resources/form/new_household_registration/form_submission1.json b/opensrp-core/bin/src/test/resources/form/new_household_registration/form_submission1.json new file mode 100644 index 0000000000..a6a2f189a5 --- /dev/null +++ b/opensrp-core/bin/src/test/resources/form/new_household_registration/form_submission1.json @@ -0,0 +1,228 @@ +{ + "_id": "251ca0ef09df9af88f0e9d5f180115a3", + "_rev": "1-e73e1d93acdcdaeb1d41a738da5d9284", + "type": "FormSubmission", + "anmId": "demotest", + "instanceId": "88c0e824-10b4-44c2-9429-754b8d823776", + "formName": "new_household_registration", + "entityId": "a3f2abf4-2699-4761-819a-cea739224164", + "clientVersion": 1430997074596, + "formDataDefinitionVersion": "1", + "formInstance": { + "form_data_definition_version": "1", + "form": { + "bind_type": "household", + "default_bind_path": "/model/instance/FWNewHH", + "fields": [ + { + "name": "id", + "value": "a3f2abf4-2699-4761-819a-cea739224164", + "source": "household.id" + }, + { + "name": "existing_location", + "value": "KUPTALA", + "source": "household.existing_location" + }, + { + "name": "today", + "value": "2015-05-07", + "source": "household.today" + }, + { + "name": "start", + "value": "2015-05-07T17:07:21.000+06:00", + "source": "household.start" + }, + { + "name": "end", + "value": "2015-05-07T17:07:21.000+06:00", + "source": "household.end" + }, + { + "name": "FWNHREGDATE", + "value": "2015-05-07", + "source": "household.FWNHREGDATE" + }, + { + "name": "FWGOBHHID", + "value": "1234", + "source": "household.FWGOBHHID" + }, + { + "name": "FWJIVHHID", + "value": "1234", + "source": "household.FWJIVHHID" + }, + { + "name": "FWNHNEARTO", + "value": "nothing", + "source": "household.FWNHNEARTO" + }, + { + "name": "FWNHHHGPS", + "value": "34 34 0 0", + "source": "household.FWNHHHGPS" + }, + { + "name": "FWHOHFNAME", + "value": "test", + "source": "household.FWHOHFNAME" + }, + { + "name": "FWHOHLNAME", + "value": ".", + "source": "household.FWHOHLNAME" + }, + { + "name": "FWHOHBIRTHDATE", + "value": "1900-01-01", + "source": "household.FWHOHBIRTHDATE" + }, + { + "name": "FWHOHGENDER", + "value": "male", + "source": "household.FWHOHGENDER" + }, + { + "name": "FWNHHMBRNUM", + "value": "2", + "source": "household.FWNHHMBRNUM" + }, + { + "name": "FWNHHMWRA", + "value": "1", + "source": "household.FWNHHMWRA" + }, + { + "name": "join_names", + "value": "shumi sumaita", + "source": "household.join_names" + }, + { + "name": "MWRA", + "value": "2", + "source": "household.MWRA" + } + ], + "sub_forms": [ + { + "name": "elco_registration", + "bind_type": "elco", + "default_bind_path": "/model/instance/FWNewHH/woman", + "fields": [ + { + "name": "id", + "source": "elco.id" + }, + { + "name": "GOBHHID", + "source": "elco.GOBHHID" + }, + { + "name": "JiVitAHHID", + "source": "elco.JiVitAHHID" + }, + { + "name": "FWWOMFNAME", + "source": "elco.FWWOMFNAME" + }, + { + "name": "FWWOMLNAME", + "source": "elco.FWWOMLNAME" + }, + { + "name": "FWWOMNID", + "source": "elco.FWWOMNID" + }, + { + "name": "FWWOMBID", + "source": "elco.FWWOMBID" + }, + { + "name": "FWHUSNAME", + "source": "elco.FWHUSNAME" + }, + { + "name": "FWBIRTHDATE", + "source": "elco.FWBIRTHDATE" + }, + { + "name": "FWGENDER", + "source": "elco.FWGENDER" + }, + { + "name": "FWWOMAGE", + "source": "elco.FWWOMAGE" + }, + { + "name": "display_age", + "source": "elco.display_age" + }, + { + "name": "FWNHWOMSTRMEN", + "source": "elco.FWNHWOMSTRMEN" + }, + { + "name": "FWNHWOMHUSALV", + "source": "elco.FWNHWOMHUSALV" + }, + { + "name": "FWNHWOMHUSLIV", + "source": "elco.FWNHWOMHUSLIV" + }, + { + "name": "FWNHWOMHUSSTR", + "source": "elco.FWNHWOMHUSSTR" + }, + { + "name": "FWELIGIBLE", + "source": "elco.FWELIGIBLE" + } + ], + "instances": [ + { + "GOBHHID": "1234323", + "JiVitAHHID": "123465656", + "FWWOMFNAME": "shumi", + "FWWOMLNAME": ".", + "FWWOMNID": "", + "FWWOMBID": "54676545676787876", + "FWHUSNAME": "selim", + "FWBIRTHDATE": "1998-02-04", + "FWGENDER": "female", + "FWWOMAGE": "17", + "display_age": "", + "FWNHWOMSTRMEN": "1", + "FWNHWOMHUSALV": "", + "FWNHWOMHUSLIV": "", + "FWNHWOMHUSSTR": "", + "FWELIGIBLE": "0", + "id": "babcd9d2-b3e9-4f6d-8a06-2df8f5fbf01f" + }, + { + "GOBHHID": "1234121", + "JiVitAHHID": "12348787", + "FWWOMFNAME": "sumaita", + "FWWOMLNAME": ".", + "FWWOMNID": "", + "FWWOMBID": "56543456567654567", + "FWHUSNAME": "razzak", + "FWBIRTHDATE": "1989-08-18", + "FWGENDER": "female", + "FWWOMAGE": "26", + "display_age": "", + "FWNHWOMSTRMEN": "0", + "FWNHWOMHUSALV": "1", + "FWNHWOMHUSLIV": "1", + "FWNHWOMHUSSTR": "1", + "FWELIGIBLE": "0", + "id": "74eebb60-a1b9-4691-81a4-5c04ecce7ae9" + } + ] + } + ] + } + }, + "serverVersion": 1430998001293 +} \ No newline at end of file diff --git a/opensrp-core/bin/src/test/resources/form/new_household_registration/form_submission2.json b/opensrp-core/bin/src/test/resources/form/new_household_registration/form_submission2.json new file mode 100644 index 0000000000..7141db6678 --- /dev/null +++ b/opensrp-core/bin/src/test/resources/form/new_household_registration/form_submission2.json @@ -0,0 +1,207 @@ +{ + "_id": "251ca0ef09df9af88f0e9d5f18000df2", + "_rev": "1-0cec42380dce0fef7b1263aad8652c3f", + "type": "FormSubmission", + "anmId": "demotest", + "instanceId": "916363c4-a10e-488d-8de4-9be7a05d43cd", + "formName": "new_household_registration", + "entityId": "0aac6d81-b51f-4096-b354-5a5786e406c8", + "clientVersion": 1430924780686, + "formDataDefinitionVersion": "1", + "formInstance": { + "form_data_definition_version": "1", + "form": { + "bind_type": "household", + "default_bind_path": "/model/instance/FWNewHH", + "fields": [ + { + "name": "id", + "value": "0aac6d81-b51f-4096-b354-5a5786e406c8", + "source": "household.id" + }, + { + "name": "existing_location", + "value": "KUPTALA", + "source": "household.existing_location" + }, + { + "name": "today", + "value": "2015-05-06", + "source": "household.today" + }, + { + "name": "start", + "value": "2015-05-06T21:05:35.000+06:00", + "source": "household.start" + }, + { + "name": "end", + "value": "2015-05-06T21:05:35.000+06:00", + "source": "household.end" + }, + { + "name": "FWNHREGDATE", + "value": "2015-05-06", + "source": "household.FWNHREGDATE" + }, + { + "name": "FWGOBHHID", + "value": "0002", + "source": "household.FWGOBHHID" + }, + { + "name": "FWJIVHHID", + "value": "0002", + "source": "household.FWJIVHHID" + }, + { + "name": "FWNHNEARTO", + "source": "household.FWNHNEARTO" + }, + { + "name": "FWNHHHGPS", + "value": "23.7984 90.4019 0 25", + "source": "household.FWNHHHGPS" + }, + { + "name": "FWHOHFNAME", + "value": "karim mia", + "source": "household.FWHOHFNAME" + }, + { + "name": "FWHOHLNAME", + "value": ".", + "source": "household.FWHOHLNAME" + }, + { + "name": "FWHOHBIRTHDATE", + "value": "1900-01-01", + "source": "household.FWHOHBIRTHDATE" + }, + { + "name": "FWHOHGENDER", + "value": "male", + "source": "household.FWHOHGENDER" + }, + { + "name": "FWNHHMBRNUM", + "value": "1", + "source": "household.FWNHHMBRNUM" + }, + { + "name": "FWNHHMWRA", + "value": "0", + "source": "household.FWNHHMWRA" + }, + { + "name": "join_names", + "source": "household.join_names" + }, + { + "name": "MWRA", + "value": "0", + "source": "household.MWRA" + } + ], + "sub_forms": [ + { + "name": "elco_registration", + "bind_type": "elco", + "default_bind_path": "/model/instance/FWNewHH/woman", + "fields": [ + { + "name": "id", + "source": "elco.id" + }, + { + "name": "GOBHHID", + "source": "elco.GOBHHID" + }, + { + "name": "JiVitAHHID", + "source": "elco.JiVitAHHID" + }, + { + "name": "FWWOMFNAME", + "source": "elco.FWWOMFNAME" + }, + { + "name": "FWWOMLNAME", + "source": "elco.FWWOMLNAME" + }, + { + "name": "FWWOMNID", + "source": "elco.FWWOMNID" + }, + { + "name": "FWWOMBID", + "source": "elco.FWWOMBID" + }, + { + "name": "FWHUSNAME", + "source": "elco.FWHUSNAME" + }, + { + "name": "FWBIRTHDATE", + "source": "elco.FWBIRTHDATE" + }, + { + "name": "FWGENDER", + "source": "elco.FWGENDER" + }, + { + "name": "FWWOMAGE", + "source": "elco.FWWOMAGE" + }, + { + "name": "display_age", + "source": "elco.display_age" + }, + { + "name": "FWNHWOMSTRMEN", + "source": "elco.FWNHWOMSTRMEN" + }, + { + "name": "FWNHWOMHUSALV", + "source": "elco.FWNHWOMHUSALV" + }, + { + "name": "FWNHWOMHUSLIV", + "source": "elco.FWNHWOMHUSLIV" + }, + { + "name": "FWNHWOMHUSSTR", + "source": "elco.FWNHWOMHUSSTR" + }, + { + "name": "FWELIGIBLE", + "source": "elco.FWELIGIBLE" + } + ], + "instances": [ + { + "GOBHHID": "0002", + "JiVitAHHID": "042002", + "FWWOMFNAME": "fana", + "FWWOMLNAME": ".", + "FWWOMNID": "", + "FWWOMBID": "9999999999999999", + "FWHUSNAME": "", + "FWBIRTHDATE": "2000-12-12", + "FWGENDER": "female", + "FWWOMAGE": "NaN", + "display_age": "", + "FWNHWOMSTRMEN": "", + "FWNHWOMHUSALV": "", + "FWNHWOMHUSLIV": "", + "FWNHWOMHUSSTR": "", + "FWELIGIBLE": "1", + "id": "b19db74f-6e96-4652-a765-5078beb12434" + } + ] + } + ] + } + }, + "serverVersion": 1430924937728 +} \ No newline at end of file diff --git a/opensrp-core/bin/src/test/resources/form/new_household_registration/form_submission3.json b/opensrp-core/bin/src/test/resources/form/new_household_registration/form_submission3.json new file mode 100644 index 0000000000..113c3c0829 --- /dev/null +++ b/opensrp-core/bin/src/test/resources/form/new_household_registration/form_submission3.json @@ -0,0 +1,208 @@ +{ + "_id": "251ca0ef09df9af88f0e9d5f1800160d", + "_rev": "1-89988ca8cc2db0cd67afc292263137fe", + "type": "FormSubmission", + "anmId": "demotest", + "instanceId": "1cdf1628-86f2-440b-b5b0-4bc612d2fd2f", + "formName": "new_household_registration", + "entityId": "baf59aa4-64e9-46fc-99e6-8cd8f01618ff", + "clientVersion": 1430925173098, + "formDataDefinitionVersion": "1", + "formInstance": { + "form_data_definition_version": "1", + "form": { + "bind_type": "household", + "default_bind_path": "/model/instance/FWNewHH", + "fields": [ + { + "name": "id", + "value": "baf59aa4-64e9-46fc-99e6-8cd8f01618ff", + "source": "household.id" + }, + { + "name": "existing_location", + "value": "LAKSHMIPUR", + "source": "household.existing_location" + }, + { + "name": "today", + "value": "2015-05-06", + "source": "household.today" + }, + { + "name": "start", + "value": "2015-05-06T21:09:22.000+06:00", + "source": "household.start" + }, + { + "name": "end", + "value": "2015-05-06T21:09:22.000+06:00", + "source": "household.end" + }, + { + "name": "FWNHREGDATE", + "value": "2015-05-06", + "source": "household.FWNHREGDATE" + }, + { + "name": "FWGOBHHID", + "value": "0091", + "source": "household.FWGOBHHID" + }, + { + "name": "FWJIVHHID", + "value": "0091", + "source": "household.FWJIVHHID" + }, + { + "name": "FWNHNEARTO", + "source": "household.FWNHNEARTO" + }, + { + "name": "FWNHHHGPS", + "value": "23.7984 90.402 0 40", + "source": "household.FWNHHHGPS" + }, + { + "name": "FWHOHFNAME", + "value": "hasan ferox", + "source": "household.FWHOHFNAME" + }, + { + "name": "FWHOHLNAME", + "value": ".", + "source": "household.FWHOHLNAME" + }, + { + "name": "FWHOHBIRTHDATE", + "value": "1900-01-01", + "source": "household.FWHOHBIRTHDATE" + }, + { + "name": "FWHOHGENDER", + "value": "male", + "source": "household.FWHOHGENDER" + }, + { + "name": "FWNHHMBRNUM", + "value": "1", + "source": "household.FWNHHMBRNUM" + }, + { + "name": "FWNHHMWRA", + "value": "1", + "source": "household.FWNHHMWRA" + }, + { + "name": "join_names", + "value": "mithila", + "source": "household.join_names" + }, + { + "name": "MWRA", + "value": "1", + "source": "household.MWRA" + } + ], + "sub_forms": [ + { + "name": "elco_registration", + "bind_type": "elco", + "default_bind_path": "/model/instance/FWNewHH/woman", + "fields": [ + { + "name": "id", + "source": "elco.id" + }, + { + "name": "GOBHHID", + "source": "elco.GOBHHID" + }, + { + "name": "JiVitAHHID", + "source": "elco.JiVitAHHID" + }, + { + "name": "FWWOMFNAME", + "source": "elco.FWWOMFNAME" + }, + { + "name": "FWWOMLNAME", + "source": "elco.FWWOMLNAME" + }, + { + "name": "FWWOMNID", + "source": "elco.FWWOMNID" + }, + { + "name": "FWWOMBID", + "source": "elco.FWWOMBID" + }, + { + "name": "FWHUSNAME", + "source": "elco.FWHUSNAME" + }, + { + "name": "FWBIRTHDATE", + "source": "elco.FWBIRTHDATE" + }, + { + "name": "FWGENDER", + "source": "elco.FWGENDER" + }, + { + "name": "FWWOMAGE", + "source": "elco.FWWOMAGE" + }, + { + "name": "display_age", + "source": "elco.display_age" + }, + { + "name": "FWNHWOMSTRMEN", + "source": "elco.FWNHWOMSTRMEN" + }, + { + "name": "FWNHWOMHUSALV", + "source": "elco.FWNHWOMHUSALV" + }, + { + "name": "FWNHWOMHUSLIV", + "source": "elco.FWNHWOMHUSLIV" + }, + { + "name": "FWNHWOMHUSSTR", + "source": "elco.FWNHWOMHUSSTR" + }, + { + "name": "FWELIGIBLE", + "source": "elco.FWELIGIBLE" + } + ], + "instances": [ + { + "GOBHHID": "0091", + "JiVitAHHID": "0524091", + "FWWOMFNAME": "mithila", + "FWWOMLNAME": ".", + "FWWOMNID": "1111111111111", + "FWWOMBID": "12345678912345678", + "FWHUSNAME": "hasan feroz", + "FWBIRTHDATE": "1989-01-01", + "FWGENDER": "female", + "FWWOMAGE": "26", + "display_age": "", + "FWNHWOMSTRMEN": "0", + "FWNHWOMHUSALV": "1", + "FWNHWOMHUSLIV": "1", + "FWNHWOMHUSSTR": "1", + "FWELIGIBLE": "0", + "id": "409b44c4-262a-40b8-ad7d-748c480c7c13" + } + ] + } + ] + } + }, + "serverVersion": 1430925176060 +} \ No newline at end of file diff --git a/opensrp-core/bin/src/test/resources/form/new_household_registration/form_submission4.json b/opensrp-core/bin/src/test/resources/form/new_household_registration/form_submission4.json new file mode 100644 index 0000000000..7665de2411 --- /dev/null +++ b/opensrp-core/bin/src/test/resources/form/new_household_registration/form_submission4.json @@ -0,0 +1,208 @@ +{ + "_id": "251ca0ef09df9af88f0e9d5f18001e50", + "_rev": "1-3a413b7428ae33aafd08898dc2c974d4", + "type": "FormSubmission", + "anmId": "demotest", + "instanceId": "cad01d9c-9f7f-4e0b-a66a-2d1121bf8b8d", + "formName": "new_household_registration", + "entityId": "f92ee1b5-c3ce-42fb-bbc8-e01f474acc5a", + "clientVersion": 1430926871912, + "formDataDefinitionVersion": "1", + "formInstance": { + "form_data_definition_version": "1", + "form": { + "bind_type": "household", + "default_bind_path": "/model/instance/FWNewHH", + "fields": [ + { + "name": "id", + "value": "f92ee1b5-c3ce-42fb-bbc8-e01f474acc5a", + "source": "household.id" + }, + { + "name": "existing_location", + "value": "KUPTALA", + "source": "household.existing_location" + }, + { + "name": "today", + "value": "2015-05-06", + "source": "household.today" + }, + { + "name": "start", + "value": "2015-05-06T21:38:52.000+06:00", + "source": "household.start" + }, + { + "name": "end", + "value": "2015-05-06T21:38:52.000+06:00", + "source": "household.end" + }, + { + "name": "FWNHREGDATE", + "value": "2015-05-06", + "source": "household.FWNHREGDATE" + }, + { + "name": "FWGOBHHID", + "value": "4567", + "source": "household.FWGOBHHID" + }, + { + "name": "FWJIVHHID", + "value": "5678", + "source": "household.FWJIVHHID" + }, + { + "name": "FWNHNEARTO", + "source": "household.FWNHNEARTO" + }, + { + "name": "FWNHHHGPS", + "value": "23.7984 90.4021 0 37", + "source": "household.FWNHHHGPS" + }, + { + "name": "FWHOHFNAME", + "value": "jashim mia", + "source": "household.FWHOHFNAME" + }, + { + "name": "FWHOHLNAME", + "value": ".", + "source": "household.FWHOHLNAME" + }, + { + "name": "FWHOHBIRTHDATE", + "value": "1900-01-01", + "source": "household.FWHOHBIRTHDATE" + }, + { + "name": "FWHOHGENDER", + "value": "male", + "source": "household.FWHOHGENDER" + }, + { + "name": "FWNHHMBRNUM", + "value": "5", + "source": "household.FWNHHMBRNUM" + }, + { + "name": "FWNHHMWRA", + "value": "1", + "source": "household.FWNHHMWRA" + }, + { + "name": "join_names", + "value": "razia sultana", + "source": "household.join_names" + }, + { + "name": "MWRA", + "value": "1", + "source": "household.MWRA" + } + ], + "sub_forms": [ + { + "name": "elco_registration", + "bind_type": "elco", + "default_bind_path": "/model/instance/FWNewHH/woman", + "fields": [ + { + "name": "id", + "source": "elco.id" + }, + { + "name": "GOBHHID", + "source": "elco.GOBHHID" + }, + { + "name": "JiVitAHHID", + "source": "elco.JiVitAHHID" + }, + { + "name": "FWWOMFNAME", + "source": "elco.FWWOMFNAME" + }, + { + "name": "FWWOMLNAME", + "source": "elco.FWWOMLNAME" + }, + { + "name": "FWWOMNID", + "source": "elco.FWWOMNID" + }, + { + "name": "FWWOMBID", + "source": "elco.FWWOMBID" + }, + { + "name": "FWHUSNAME", + "source": "elco.FWHUSNAME" + }, + { + "name": "FWBIRTHDATE", + "source": "elco.FWBIRTHDATE" + }, + { + "name": "FWGENDER", + "source": "elco.FWGENDER" + }, + { + "name": "FWWOMAGE", + "source": "elco.FWWOMAGE" + }, + { + "name": "display_age", + "source": "elco.display_age" + }, + { + "name": "FWNHWOMSTRMEN", + "source": "elco.FWNHWOMSTRMEN" + }, + { + "name": "FWNHWOMHUSALV", + "source": "elco.FWNHWOMHUSALV" + }, + { + "name": "FWNHWOMHUSLIV", + "source": "elco.FWNHWOMHUSLIV" + }, + { + "name": "FWNHWOMHUSSTR", + "source": "elco.FWNHWOMHUSSTR" + }, + { + "name": "FWELIGIBLE", + "source": "elco.FWELIGIBLE" + } + ], + "instances": [ + { + "GOBHHID": "4567", + "JiVitAHHID": "5678", + "FWWOMFNAME": "razia sultana", + "FWWOMLNAME": ".", + "FWWOMNID": "0987654321123", + "FWWOMBID": "09876543211234567", + "FWHUSNAME": "jashim mia", + "FWBIRTHDATE": "1991-02-27", + "FWGENDER": "female", + "FWWOMAGE": "24", + "display_age": "", + "FWNHWOMSTRMEN": "0", + "FWNHWOMHUSALV": "1", + "FWNHWOMHUSLIV": "1", + "FWNHWOMHUSSTR": "0", + "FWELIGIBLE": "1", + "id": "0036b7ca-36ec-4242-9885-a0a03a666cda" + } + ] + } + ] + } + }, + "serverVersion": 1430926886181 +} \ No newline at end of file diff --git a/opensrp-core/bin/src/test/resources/form/new_household_registration/form_submission5.json b/opensrp-core/bin/src/test/resources/form/new_household_registration/form_submission5.json new file mode 100644 index 0000000000..8447c0ff4a --- /dev/null +++ b/opensrp-core/bin/src/test/resources/form/new_household_registration/form_submission5.json @@ -0,0 +1,209 @@ +{ + "_id": "251ca0ef09df9af88f0e9d5f180115a3", + "_rev": "1-e73e1d93acdcdaeb1d41a738da5d9284", + "type": "FormSubmission", + "anmId": "demotest", + "instanceId": "88c0e824-10b4-44c2-9429-754b8d823776", + "formName": "new_household_registration", + "entityId": "a3f2abf4-2699-4761-819a-cea739224164", + "clientVersion": 1430997074596, + "formDataDefinitionVersion": "1", + "formInstance": { + "form_data_definition_version": "1", + "form": { + "bind_type": "household", + "default_bind_path": "/model/instance/FWNewHH", + "fields": [ + { + "name": "id", + "value": "a3f2abf4-2699-4761-819a-cea739224164", + "source": "household.id" + }, + { + "name": "existing_location", + "value": "KUPTALA", + "source": "household.existing_location" + }, + { + "name": "today", + "value": "2015-05-07", + "source": "household.today" + }, + { + "name": "start", + "value": "2015-05-07T17:07:21.000+06:00", + "source": "household.start" + }, + { + "name": "end", + "value": "2015-05-07T17:07:21.000+06:00", + "source": "household.end" + }, + { + "name": "FWNHREGDATE", + "value": "2015-05-07", + "source": "household.FWNHREGDATE" + }, + { + "name": "FWGOBHHID", + "value": "1234", + "source": "household.FWGOBHHID" + }, + { + "name": "FWJIVHHID", + "value": "1234", + "source": "household.FWJIVHHID" + }, + { + "name": "FWNHNEARTO", + "value": "nothing", + "source": "household.FWNHNEARTO" + }, + { + "name": "FWNHHHGPS", + "value": "34 34 0 0", + "source": "household.FWNHHHGPS" + }, + { + "name": "FWHOHFNAME", + "value": "test", + "source": "household.FWHOHFNAME" + }, + { + "name": "FWHOHLNAME", + "value": ".", + "source": "household.FWHOHLNAME" + }, + { + "name": "FWHOHBIRTHDATE", + "value": "1900-01-01", + "source": "household.FWHOHBIRTHDATE" + }, + { + "name": "FWHOHGENDER", + "value": "male", + "source": "household.FWHOHGENDER" + }, + { + "name": "FWNHHMBRNUM", + "value": "2", + "source": "household.FWNHHMBRNUM" + }, + { + "name": "FWNHHMWRA", + "value": "1", + "source": "household.FWNHHMWRA" + }, + { + "name": "join_names", + "value": "shumi sumaita", + "source": "household.join_names" + }, + { + "name": "MWRA", + "value": "2", + "source": "household.MWRA" + } + ], + "sub_forms": [ + { + "name": "elco_registration", + "bind_type": "elco", + "default_bind_path": "/model/instance/FWNewHH/woman", + "fields": [ + { + "name": "id", + "source": "elco.id" + }, + { + "name": "GOBHHID", + "source": "elco.GOBHHID" + }, + { + "name": "JiVitAHHID", + "source": "elco.JiVitAHHID" + }, + { + "name": "FWWOMFNAME", + "source": "elco.FWWOMFNAME" + }, + { + "name": "FWWOMLNAME", + "source": "elco.FWWOMLNAME" + }, + { + "name": "FWWOMNID", + "source": "elco.FWWOMNID" + }, + { + "name": "FWWOMBID", + "source": "elco.FWWOMBID" + }, + { + "name": "FWHUSNAME", + "source": "elco.FWHUSNAME" + }, + { + "name": "FWBIRTHDATE", + "source": "elco.FWBIRTHDATE" + }, + { + "name": "FWGENDER", + "source": "elco.FWGENDER" + }, + { + "name": "FWWOMAGE", + "source": "elco.FWWOMAGE" + }, + { + "name": "display_age", + "source": "elco.display_age" + }, + { + "name": "FWNHWOMSTRMEN", + "source": "elco.FWNHWOMSTRMEN" + }, + { + "name": "FWNHWOMHUSALV", + "source": "elco.FWNHWOMHUSALV" + }, + { + "name": "FWNHWOMHUSLIV", + "source": "elco.FWNHWOMHUSLIV" + }, + { + "name": "FWNHWOMHUSSTR", + "source": "elco.FWNHWOMHUSSTR" + }, + { + "name": "FWELIGIBLE", + "source": "elco.FWELIGIBLE" + } + ], + "instances": [ + { + "GOBHHID": "", + "JiVitAHHID": "", + "FWWOMFNAME": "", + "FWWOMLNAME": "", + "FWWOMNID": "", + "FWWOMBID": "", + "FWHUSNAME": "", + "FWBIRTHDATE": "", + "FWGENDER": "", + "FWWOMAGE": "", + "display_age": "", + "FWNHWOMSTRMEN": "", + "FWNHWOMHUSALV": "", + "FWNHWOMHUSLIV": "", + "FWNHWOMHUSSTR": "", + "FWELIGIBLE": "", + "id": "babcd9d2-b3e9-4f6d-8a06-2df8f5fbf01f" + } + ] + } + ] + } + }, + "serverVersion": 1430998001293 +} \ No newline at end of file diff --git a/opensrp-core/bin/src/test/resources/form/new_household_registration/form_submission6.json b/opensrp-core/bin/src/test/resources/form/new_household_registration/form_submission6.json new file mode 100644 index 0000000000..8f3ec6c5ad --- /dev/null +++ b/opensrp-core/bin/src/test/resources/form/new_household_registration/form_submission6.json @@ -0,0 +1,216 @@ +{ + "_id": "251ca0ef09df9af88f0e9d5f180115a3", + "_rev": "1-e73e1d93acdcdaeb1d41a738da5d9284", + "type": "FormSubmission", + "anmId": "admin", + "instanceId": "88c0e824-10b4-44c2-9429-754b8d823776", + "formName": "new_household_registration", + "entityId": "a3f2abf4-2699-4761-819a-cea739224164", + "clientVersion": 1430997074596, + "formDataDefinitionVersion": "1", + "formInstance": { + "form_data_definition_version": "1", + "form": { + "bind_type": "household", + "default_bind_path": "/model/instance/FWNewHH", + "fields": [ + { + "name": "id", + "value": "a3f2abf4-2699-4761-819a-cea739224164", + "source": "household.id" + }, + { + "name": "existing_location", + "value": "KUPTALA", + "source": "household.existing_location" + }, + { + "name": "today", + "value": "2015-05-07", + "source": "household.today" + }, + { + "name": "start", + "value": "2015-05-07T17:07:21.000+06:00", + "source": "household.start" + }, + { + "name": "end", + "value": "2015-05-07T17:07:21.000+06:00", + "source": "household.end" + }, + { + "name": "FWNHREGDATE", + "value": "2015-05-07", + "source": "household.FWNHREGDATE" + }, + { + "name": "FWGOBHHID", + "value": "1234", + "source": "household.FWGOBHHID" + }, + { + "name": "FWJIVHHID", + "value": "1234", + "source": "household.FWJIVHHID" + }, + { + "name": "FWNHNEARTO", + "value": "nothing", + "source": "household.FWNHNEARTO" + }, + { + "name": "FWNHHHGPS", + "value": "34 34 0 0", + "source": "household.FWNHHHGPS" + }, + { + "name": "FWHOHFNAME", + "value": "test", + "source": "household.FWHOHFNAME" + }, + { + "name": "FWHOHLNAME", + "value": ".", + "source": "household.FWHOHLNAME" + }, + { + "name": "FWHOHBIRTHDATE", + "value": "1900-01-01", + "source": "household.FWHOHBIRTHDATE" + }, + { + "name": "FWHOHBIRTHDATEAPPROX", + "value": "1", + "source": "household.FWHOHBIRTHDATEAPPROX" + }, + { + "name": "FWHOHGENDER", + "value": "male", + "source": "household.FWHOHGENDER" + }, + { + "name": "FWNHHMBRNUM", + "source": "household.FWNHHMBRNUM" + }, + { + "name": "FWNHHMWRA", + "source": "household.FWNHHMWRA" + }, + { + "name": "join_names", + "value": "shumi sumaita", + "source": "household.join_names" + }, + { + "name": "MWRA", + "source": "household.MWRA" + } + ], + "sub_forms": [ + { + "name": "elco_registration", + "bind_type": "elco", + "default_bind_path": "/model/instance/FWNewHH/woman", + "fields": [ + { + "name": "id", + "source": "elco.id" + }, + { + "name": "GOBHHID", + "source": "elco.GOBHHID" + }, + { + "name": "JiVitAHHID", + "source": "elco.JiVitAHHID" + }, + { + "name": "FWWOMFNAME", + "source": "elco.FWWOMFNAME" + }, + { + "name": "FWWOMLNAME", + "source": "elco.FWWOMLNAME" + }, + { + "name": "FWWOMNID", + "source": "elco.FWWOMNID" + }, + { + "name": "FWWOMBID", + "source": "elco.FWWOMBID" + }, + { + "name": "FWHUSNAME", + "source": "elco.FWHUSNAME" + }, + { + "name": "FWBIRTHDATE", + "source": "elco.FWBIRTHDATE" + }, + { + "name": "FWBIRTHDATEAPPROX", + "source": "elco.FWBIRTHDATEAPPROX" + }, + { + "name": "FWGENDER", + "source": "elco.FWGENDER" + }, + { + "name": "FWWOMAGE", + "source": "elco.FWWOMAGE" + }, + { + "name": "display_age", + "source": "elco.display_age" + }, + { + "name": "FWNHWOMSTRMEN", + "source": "elco.FWNHWOMSTRMEN" + }, + { + "name": "FWNHWOMHUSALV", + "source": "elco.FWNHWOMHUSALV" + }, + { + "name": "FWNHWOMHUSLIV", + "source": "elco.FWNHWOMHUSLIV" + }, + { + "name": "FWNHWOMHUSSTR", + "source": "elco.FWNHWOMHUSSTR" + }, + { + "name": "FWELIGIBLE", + "source": "elco.FWELIGIBLE" + } + ], + "instances": [ + { + "GOBHHID": "48374", + "JiVitAHHID": "78748", + "FWWOMFNAME": "tEST First", + "FWWOMLNAME": " lastname", + "FWWOMNID": "", + "FWWOMBID": "", + "FWHUSNAME": "", + "FWBIRTHDATE": "2000-05-07", + "FWBIRTHDATEAPPROX":"1", + "FWGENDER": "Female", + "FWWOMAGE": "", + "display_age": "", + "FWNHWOMSTRMEN": "", + "FWNHWOMHUSALV": "", + "FWNHWOMHUSLIV": "", + "FWNHWOMHUSSTR": "", + "FWELIGIBLE": "", + "id": "babcd9d2-b3e9-4f6d-8a06-2df8f5fbf01f" + } + ] + } + ] + } + }, + "serverVersion": 1430998001293 +} \ No newline at end of file diff --git a/opensrp-core/bin/src/test/resources/form/new_household_registration/form_submission7.json b/opensrp-core/bin/src/test/resources/form/new_household_registration/form_submission7.json new file mode 100644 index 0000000000..443ced2385 --- /dev/null +++ b/opensrp-core/bin/src/test/resources/form/new_household_registration/form_submission7.json @@ -0,0 +1,216 @@ +{ + "_id": "251ca0ef09df9af88f0e9d5f180115a3", + "_rev": "1-e73e1d93acdcdaeb1d41a738da5d9284", + "type": "FormSubmission", + "anmId": "admin", + "instanceId": "88c0e824-10b4-44c2-9429-754b8d823776", + "formName": "new_household_registration", + "entityId": "a3f2abf4-2699-4761-819a-cea739224164", + "clientVersion": 1430997074596, + "formDataDefinitionVersion": "1", + "formInstance": { + "form_data_definition_version": "1", + "form": { + "bind_type": "household", + "default_bind_path": "/model/instance/FWNewHH", + "fields": [ + { + "name": "id", + "value": "a3f2abf4-2699-4761-819a-cea739224164", + "source": "household.id" + }, + { + "name": "existing_location", + "value": "KUPTALA", + "source": "household.existing_location" + }, + { + "name": "today", + "value": "2015-05-07", + "source": "household.today" + }, + { + "name": "start", + "value": "2015-05-07T17:07:21.000+06:00", + "source": "household.start" + }, + { + "name": "end", + "value": "2015-05-07T17:07:21.000+06:00", + "source": "household.end" + }, + { + "name": "FWNHREGDATE", + "value": "2015-05-07", + "source": "household.FWNHREGDATE" + }, + { + "name": "FWGOBHHID", + "value": "1234", + "source": "household.FWGOBHHID" + }, + { + "name": "FWJIVHHID", + "value": "1234", + "source": "household.FWJIVHHID" + }, + { + "name": "FWNHNEARTO", + "value": "nothing", + "source": "household.FWNHNEARTO" + }, + { + "name": "FWNHHHGPS", + "value": "34 34 0 0", + "source": "household.FWNHHHGPS" + }, + { + "name": "FWHOHFNAME", + "value": "test", + "source": "household.FWHOHFNAME" + }, + { + "name": "FWHOHLNAME", + "value": ".", + "source": "household.FWHOHLNAME" + }, + { + "name": "FWHOHBIRTHDATE", + "value": "1900-01-01", + "source": "household.FWHOHBIRTHDATE" + }, + { + "name": "FWHOHBIRTHDATEAPPROX", + "value": "1", + "source": "household.FWHOHBIRTHDATEAPPROX" + }, + { + "name": "FWHOHGENDER", + "value": "male", + "source": "household.FWHOHGENDER" + }, + { + "name": "FWNHHMBRNUM", + "source": "household.FWNHHMBRNUM" + }, + { + "name": "FWNHHMWRA", + "source": "household.FWNHHMWRA" + }, + { + "name": "join_names", + "value": "shumi sumaita", + "source": "household.join_names" + }, + { + "name": "MWRA", + "source": "household.MWRA" + } + ], + "sub_forms": [ + { + "name": "elco_registration", + "bind_type": "elco", + "default_bind_path": "/model/instance/FWNewHH/woman", + "fields": [ + { + "name": "id", + "source": "elco.id" + }, + { + "name": "GOBHHID", + "source": "elco.GOBHHID" + }, + { + "name": "JiVitAHHID", + "source": "elco.JiVitAHHID" + }, + { + "name": "FWWOMFNAME", + "source": "elco.FWWOMFNAME" + }, + { + "name": "FWWOMLNAME", + "source": "elco.FWWOMLNAME" + }, + { + "name": "FWWOMNID", + "source": "elco.FWWOMNID" + }, + { + "name": "FWWOMBID", + "source": "elco.FWWOMBID" + }, + { + "name": "FWHUSNAME", + "source": "elco.FWHUSNAME" + }, + { + "name": "FWBIRTHDATE", + "source": "elco.FWBIRTHDATE" + }, + { + "name": "FWBIRTHDATEAPPROX", + "source": "elco.FWBIRTHDATEAPPROX" + }, + { + "name": "FWGENDER", + "source": "elco.FWGENDER" + }, + { + "name": "FWWOMAGE", + "source": "elco.FWWOMAGE" + }, + { + "name": "display_age", + "source": "elco.display_age" + }, + { + "name": "FWNHWOMSTRMEN", + "source": "elco.FWNHWOMSTRMEN" + }, + { + "name": "FWNHWOMHUSALV", + "source": "elco.FWNHWOMHUSALV" + }, + { + "name": "FWNHWOMHUSLIV", + "source": "elco.FWNHWOMHUSLIV" + }, + { + "name": "FWNHWOMHUSSTR", + "source": "elco.FWNHWOMHUSSTR" + }, + { + "name": "FWELIGIBLE", + "source": "elco.FWELIGIBLE" + } + ], + "instances": [ + { + "GOBHHID": "48374", + "JiVitAHHID": "78748", + "FWWOMFNAME": "tEST First", + "FWWOMLNAME": " lastname", + "FWWOMNID": "5478549854895", + "FWWOMBID": "43030293029323", + "FWHUSNAME": "husb", + "FWBIRTHDATE": "2000-05-07", + "FWBIRTHDATEAPPROX":"0", + "FWGENDER": "Female", + "FWWOMAGE": "21", + "display_age": "", + "FWNHWOMSTRMEN": "", + "FWNHWOMHUSALV": "", + "FWNHWOMHUSLIV": "", + "FWNHWOMHUSSTR": "", + "FWELIGIBLE": "", + "id": "babcd9d2-b3e9-4f6d-8a06-2df8f5fbf01f" + } + ] + } + ] + } + }, + "serverVersion": 1430998001293 +} \ No newline at end of file diff --git a/opensrp-core/bin/src/test/resources/form/new_household_registration/form_submission8.json b/opensrp-core/bin/src/test/resources/form/new_household_registration/form_submission8.json new file mode 100644 index 0000000000..0c1850d4ed --- /dev/null +++ b/opensrp-core/bin/src/test/resources/form/new_household_registration/form_submission8.json @@ -0,0 +1,211 @@ +{ + "_id": "251ca0ef09df9af88f0e9d5f180115a3", + "_rev": "1-e73e1d93acdcdaeb1d41a738da5d9284", + "type": "FormSubmission", + "anmId": "admin", + "instanceId": "88c0e824-10b4-44c2-9429-754b8d823776", + "formName": "new_household_registration", + "entityId": "a3f2abf4-2699-4761-819a-cea739224164", + "clientVersion": 1430997074596, + "formDataDefinitionVersion": "1", + "formInstance": { + "form_data_definition_version": "1", + "form": { + "bind_type": "household", + "default_bind_path": "/model/instance/FWNewHH", + "fields": [ + { + "name": "id", + "value": "a3f2abf4-2699-4761-819a-cea739224164", + "source": "household.id" + }, + { + "name": "existing_location", + "value": "KUPTALA", + "source": "household.existing_location" + }, + { + "name": "today", + "value": "2015-05-07", + "source": "household.today" + }, + { + "name": "start", + "value": "2015-05-07T17:07:21.000+06:00", + "source": "household.start" + }, + { + "name": "end", + "value": "2015-05-07T17:07:21.000+06:00", + "source": "household.end" + }, + { + "name": "FWNHREGDATE", + "value": "2015-05-07", + "source": "household.FWNHREGDATE" + }, + { + "name": "FWGOBHHID", + "value": "1234", + "source": "household.FWGOBHHID" + }, + { + "name": "FWJIVHHID", + "value": "1234", + "source": "household.FWJIVHHID" + }, + { + "name": "FWNHNEARTO", + "value": "nothing", + "source": "household.FWNHNEARTO" + }, + { + "name": "FWNHHHGPS", + "value": "34 34 0 0", + "source": "household.FWNHHHGPS" + }, + { + "name": "FWHOHFNAME", + "value": "test", + "source": "household.FWHOHFNAME" + }, + { + "name": "FWHOHLNAME", + "value": ".", + "source": "household.FWHOHLNAME" + }, + { + "name": "FWHOHBIRTHDATE", + "value": "1900-01-01", + "source": "household.FWHOHBIRTHDATE" + }, + { + "name": "FWHOHGENDER", + "value": "male", + "source": "household.FWHOHGENDER" + }, + { + "name": "FWNHHMBRNUM", + "source": "household.FWNHHMBRNUM" + }, + { + "name": "FWNHHMWRA", + "source": "household.FWNHHMWRA" + }, + { + "name": "join_names", + "value": "shumi sumaita", + "source": "household.join_names" + }, + { + "name": "MWRA", + "source": "household.MWRA" + } + ], + "sub_forms": [ + { + "name": "elco_registration", + "bind_type": "elco", + "default_bind_path": "/model/instance/FWNewHH/woman", + "fields": [ + { + "name": "id", + "source": "elco.id" + }, + { + "name": "GOBHHID", + "source": "elco.GOBHHID" + }, + { + "name": "JiVitAHHID", + "source": "elco.JiVitAHHID" + }, + { + "name": "FWWOMFNAME", + "source": "elco.FWWOMFNAME" + }, + { + "name": "FWWOMLNAME", + "source": "elco.FWWOMLNAME" + }, + { + "name": "FWWOMNID", + "source": "elco.FWWOMNID" + }, + { + "name": "FWWOMBID", + "source": "elco.FWWOMBID" + }, + { + "name": "FWHUSNAME", + "source": "elco.FWHUSNAME" + }, + { + "name": "FWBIRTHDATE", + "source": "elco.FWBIRTHDATE" + }, + { + "name": "FWBIRTHDATEAPPROX", + "source": "elco.FWBIRTHDATEAPPROX" + }, + { + "name": "FWGENDER", + "source": "elco.FWGENDER" + }, + { + "name": "FWWOMAGE", + "source": "elco.FWWOMAGE" + }, + { + "name": "display_age", + "source": "elco.display_age" + }, + { + "name": "FWNHWOMSTRMEN", + "source": "elco.FWNHWOMSTRMEN" + }, + { + "name": "FWNHWOMHUSALV", + "source": "elco.FWNHWOMHUSALV" + }, + { + "name": "FWNHWOMHUSLIV", + "source": "elco.FWNHWOMHUSLIV" + }, + { + "name": "FWNHWOMHUSSTR", + "source": "elco.FWNHWOMHUSSTR" + }, + { + "name": "FWELIGIBLE", + "source": "elco.FWELIGIBLE" + } + ], + "instances": [ + { + "GOBHHID": "48374", + "JiVitAHHID": "78748", + "FWWOMFNAME": "tEST First", + "FWWOMLNAME": " lastname", + "FWWOMNID": "", + "FWWOMBID": "", + "FWHUSNAME": "", + "FWBIRTHDATE": "2000-05-07", + "FWBIRTHDATEAPPROX":"", + "FWGENDER": "Female", + "FWWOMAGE": "", + "display_age": "", + "FWNHWOMSTRMEN": "", + "FWNHWOMHUSALV": "", + "FWNHWOMHUSLIV": "", + "FWNHWOMHUSSTR": "", + "FWELIGIBLE": "", + "id": "babcd9d2-b3e9-4f6d-8a06-2df8f5fbf01f" + } + ] + } + ] + } + }, + "serverVersion": 1430998001293 +} \ No newline at end of file diff --git a/opensrp-core/bin/src/test/resources/form/new_household_registration/form_submission9.json b/opensrp-core/bin/src/test/resources/form/new_household_registration/form_submission9.json new file mode 100644 index 0000000000..b1dd5bcb96 --- /dev/null +++ b/opensrp-core/bin/src/test/resources/form/new_household_registration/form_submission9.json @@ -0,0 +1,206 @@ +{ + "_id": "251ca0ef09df9af88f0e9d5f180115a3", + "_rev": "1-e73e1d93acdcdaeb1d41a738da5d9284", + "type": "FormSubmission", + "anmId": "admin", + "instanceId": "88c0e824-10b4-44c2-9429-754b8d823776", + "formName": "new_household_registration", + "entityId": "a3f2abf4-2699-4761-819a-cea739224164", + "clientVersion": 1430997074596, + "formDataDefinitionVersion": "1", + "formInstance": { + "form_data_definition_version": "1", + "form": { + "bind_type": "household", + "default_bind_path": "/model/instance/FWNewHH", + "fields": [ + { + "name": "id", + "value": "a3f2abf4-2699-4761-819a-cea739224164", + "source": "household.id" + }, + { + "name": "existing_location", + "value": "KUPTALA", + "source": "household.existing_location" + }, + { + "name": "today", + "value": "2015-05-07", + "source": "household.today" + }, + { + "name": "start", + "value": "2015-05-07T17:07:21.000+06:00", + "source": "household.start" + }, + { + "name": "end", + "value": "2015-05-07T17:07:21.000+06:00", + "source": "household.end" + }, + { + "name": "FWNHREGDATE", + "value": "2015-05-07", + "source": "household.FWNHREGDATE" + }, + { + "name": "FWGOBHHID", + "value": "1234", + "source": "household.FWGOBHHID" + }, + { + "name": "FWJIVHHID", + "value": "1234", + "source": "household.FWJIVHHID" + }, + { + "name": "FWNHNEARTO", + "value": "nothing", + "source": "household.FWNHNEARTO" + }, + { + "name": "FWNHHHGPS", + "value": "34 34 0 0", + "source": "household.FWNHHHGPS" + }, + { + "name": "FWHOHLNAME", + "value": ".", + "source": "household.FWHOHLNAME" + }, + { + "name": "FWHOHBIRTHDATE", + "value": "1900-01-01", + "source": "household.FWHOHBIRTHDATE" + }, + { + "name": "FWHOHGENDER", + "value": "male", + "source": "household.FWHOHGENDER" + }, + { + "name": "FWNHHMBRNUM", + "source": "household.FWNHHMBRNUM" + }, + { + "name": "FWNHHMWRA", + "source": "household.FWNHHMWRA" + }, + { + "name": "join_names", + "value": "shumi sumaita", + "source": "household.join_names" + }, + { + "name": "MWRA", + "source": "household.MWRA" + } + ], + "sub_forms": [ + { + "name": "elco_registration", + "bind_type": "elco", + "default_bind_path": "/model/instance/FWNewHH/woman", + "fields": [ + { + "name": "id", + "source": "elco.id" + }, + { + "name": "GOBHHID", + "source": "elco.GOBHHID" + }, + { + "name": "JiVitAHHID", + "source": "elco.JiVitAHHID" + }, + { + "name": "FWWOMFNAME", + "source": "elco.FWWOMFNAME" + }, + { + "name": "FWWOMLNAME", + "source": "elco.FWWOMLNAME" + }, + { + "name": "FWWOMNID", + "source": "elco.FWWOMNID" + }, + { + "name": "FWWOMBID", + "source": "elco.FWWOMBID" + }, + { + "name": "FWHUSNAME", + "source": "elco.FWHUSNAME" + }, + { + "name": "FWBIRTHDATE", + "source": "elco.FWBIRTHDATE" + }, + { + "name": "FWBIRTHDATEAPPROX", + "source": "elco.FWBIRTHDATEAPPROX" + }, + { + "name": "FWGENDER", + "source": "elco.FWGENDER" + }, + { + "name": "FWWOMAGE", + "source": "elco.FWWOMAGE" + }, + { + "name": "display_age", + "source": "elco.display_age" + }, + { + "name": "FWNHWOMSTRMEN", + "source": "elco.FWNHWOMSTRMEN" + }, + { + "name": "FWNHWOMHUSALV", + "source": "elco.FWNHWOMHUSALV" + }, + { + "name": "FWNHWOMHUSLIV", + "source": "elco.FWNHWOMHUSLIV" + }, + { + "name": "FWNHWOMHUSSTR", + "source": "elco.FWNHWOMHUSSTR" + }, + { + "name": "FWELIGIBLE", + "source": "elco.FWELIGIBLE" + } + ], + "instances": [ + { + "GOBHHID": "48374", + "JiVitAHHID": "78748", + "FWWOMFNAME": "tEST First", + "FWWOMLNAME": " lastname", + "FWWOMNID": "", + "FWWOMBID": "", + "FWHUSNAME": "", + "FWBIRTHDATE": "2000-05-07", + "FWBIRTHDATEAPPROX":"", + "FWGENDER": "Female", + "FWWOMAGE": "", + "display_age": "", + "FWNHWOMSTRMEN": "", + "FWNHWOMHUSALV": "", + "FWNHWOMHUSLIV": "", + "FWNHWOMHUSSTR": "", + "FWELIGIBLE": "", + "id": "babcd9d2-b3e9-4f6d-8a06-2df8f5fbf01f" + } + ] + } + ] + } + }, + "serverVersion": 1430998001293 +} \ No newline at end of file diff --git a/opensrp-core/bin/src/test/resources/form/new_household_registration/model.xml b/opensrp-core/bin/src/test/resources/form/new_household_registration/model.xml new file mode 100644 index 0000000000..a0cabcad26 --- /dev/null +++ b/opensrp-core/bin/src/test/resources/form/new_household_registration/model.xml @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/opensrp-core/bin/src/test/resources/form/new_household_registration_with_grouped_subform_data/form.json b/opensrp-core/bin/src/test/resources/form/new_household_registration_with_grouped_subform_data/form.json new file mode 100644 index 0000000000..99dadab7ad --- /dev/null +++ b/opensrp-core/bin/src/test/resources/form/new_household_registration_with_grouped_subform_data/form.json @@ -0,0 +1,1100 @@ +{ + "name": "FWNewHH", + "title": "নতুন খানা নিবন্ধন ফর্ম", + "sms_keyword": "FWNewHH", + "default_language": "Bengali", + "instance": { + "encounter_type": "New Household Registration" + }, + "version": "201510181114", + "id_string": "FWNewHH", + "type": "survey", + "children": [ + { + "type": "hidden", + "name": "version", + "label": { + "English": "TechVersion: v1.4 Aug 26, 2015\nFormVersion: v1.0" + } + }, + { + "type": "hidden", + "name": "changes", + "label": { + "English": "NN: \n1. Added a calculation field 'REGDATE' under 'woman' group\n2. Removed the conceptIDs which have Datatype N/A\n3. Define NID as person_attribute\nKZ: Dropped 9=DK from Vitsts choices\nCG: Added person_address mappings and NN added Variable Names for these address fields\nCG: Change NID back to person_identifier\nCG: Delete location_name field - need to communicate this change to Raihan - mauzapara name coming from existing_Mauzapara instead.\nCG: Added concept IDs for woman and husband unable to have children.\nKZ: 9/9\n1. Added photo capture of ID cards\n2. Added double entry of both IDs\n3. Added the which ID? screening question\n4. Changed the number of MWRAs in HH question to integer.\n5. Moved eligibility screening questions above ID questions, as in Census.\nCG: Updated address mappings so address5 is mapped to HHID\nCG: Added id_type to choices sheet.\n15/9\nKZ: Added Bangla to id_type choices, What type of ID and Re-Type National ID.\nKZ: Made FWWOMANYID field hidden until we come to a final decision on how to do this image capture.\nKZ: Removed leading zero from the '01' on the labels in HH Inhabitant number question.\nNN: Updated the constraint of 'How many member....' from \"regex(., '^(?!0{2})[0-9]{2}$')\" to \" .< 31 or .=99\"\nNN: Updated the 'relevant' logic of NID/BRID questions. added 'selected' logic\nKH: 16/9\n1. Added datatype / leading zeroes question as comment for FWNHHMBRNUM\n2. Changed constraint for FWNHHMBRNUM to exclude 0 as option\n3. Added \"Respondent Age\" concept UID to FWWOMAGE for data collection/analysis.\n4. Added \"Meets eligibility criteria for clinical trial or study\" concept UID to FWELIGIBLE to match FD form\nNN: 22/9\n1. Added entity:concept for FWELIGIBLE\n---\nKZ: 27/9\n1. Changed HHNUMB to text, still need to update the constraint to match with text.\nNN: 28/9\nUpdated the constraint of 'How many member....' from \".< 3 1 or .=99\" to \"regex(., '^(?!0{2})[0-9]{2}$')\"\nKZ (28/9):\n1. Change NUMMWRA to select one with yesno responses. Removed hints and constraints\n2. Updated hints and constraints for HH INhabitants to include leading zeros\nNN (8/10):\nAdd DoB, Gender questions before 'eligible' group\nMade FWNHHMBRNUM and FWNHHMWRA required field\nUpdated the constraing of 'how many member....' --> (regex(., '^(?!0{2})[0-9]{2}$') and .<31) or .=99\nUpdated the logic of Age (should not accept less than 12 years\nUpdated the hint/constraint message with english numeric input e.g 13 instead of ১৩\nCG (15/10):\nAdd ELCO count calculation; strike-through MWRA calculation\nNN (18/10): \nRemoved the Strikethrough fields.\nAdded two hidden variables for developers use- user_type and external_user_ID" + } + }, + { + "instance": { + "openmrs_entity_id": "location_id", + "openmrs_entity": "encounter" + }, + "type": "hidden", + "name": "existing_location" + }, + { + "type": "hidden", + "name": "existing_Country" + }, + { + "type": "hidden", + "name": "existing_Division" + }, + { + "type": "hidden", + "name": "existing_District" + }, + { + "type": "hidden", + "name": "existing_Upazilla" + }, + { + "type": "hidden", + "name": "existing_Union" + }, + { + "type": "hidden", + "name": "existing_Ward" + }, + { + "type": "hidden", + "name": "existing_Subunit" + }, + { + "type": "hidden", + "name": "existing_Mauzapara" + }, + { + "instance": { + "openmrs_entity_id": "encounter_date", + "openmrs_entity": "encounter" + }, + "type": "today", + "name": "today" + }, + { + "instance": { + "openmrs_entity_id": "encounter_start", + "openmrs_entity": "encounter" + }, + "type": "start", + "name": "start" + }, + { + "instance": { + "openmrs_entity_id": "encounter_end", + "openmrs_entity": "encounter" + }, + "type": "end", + "name": "end" + }, + { + "name": "FWNHREGDATE", + "hint": { + "Bengali": "আজকের তারিখ দিন", + "English": "Please enter today's date." + }, + "bind": { + "jr:constraintMsg": { + "Bengali": "আজকের তারিখের পরের কোন তারিখ\nহতে পারবে না", + "English": "Date cannot be greater than current date." + }, + "required": "yes", + "constraint": ".<=${today}" + }, + "label": { + "Bengali": "সাক্ষাৎকারের তারিখ", + "English": "Date of Interview" + }, + "instance": { + "openmrs_entity_id": "160753AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept" + }, + "type": "date" + }, + { + "control": { + "appearance": "numbers" + }, + "name": "FWGOBHHID", + "hint": { + "Bengali": "কালো কালিতে লেখা সরকারী খানা নম্বর (HHID) যেভাবে ঘরের দেয়াল বা দরজায় দেওয়া আছে সেভাবেই ইনপুট দিন।\nসরকারী খানা নম্বর (HHID) পাওয়া না গেলে ৯৯৯৯ ইনপুট দিন", + "English": "Please input the Black – painted Government household ID (HHID) as displayed on the door/wall of the HH. If there is no Government HHID, enter 9999." + }, + "bind": { + "jr:constraintMsg": { + "Bengali": "অনুগ্রহ করে ০০০১ থেকে ৯৯৯৯ এর মধ্যে ৪ ডিজিটের GoB HHID টাইপ করুন", + "English": "Please enter 4 digits of GoB HHID from 0001 to 9999" + }, + "required": "yes", + "constraint": "regex(., '^(?!0{4})[0-9]{4}$')" + }, + "label": { + "Bengali": "GoB HHID", + "English": "GoB HHID" + }, + "instance": { + "openmrs_entity_id": "GoB_HHID", + "openmrs_entity": "person_attribute" + }, + "type": "text" + }, + { + "control": { + "appearance": "numbers" + }, + "name": "FWJIVHHID", + "hint": { + "Bengali": "লাল কালিতে দেয়া জীবিতা খানা নম্বর (HHID) যেভাবে দেয়ালে বা দরজায় দেওয়া আছে সেভাবেই ইনপুট দিন ।\nজীবিতা খানা নম্বর (HHID) পাওয়া না গেলে ৯৯৯৯ ইনপুট দিন", + "English": "Please input the RED – painted JiVitA / Study household ID (HHID) as displayed on the door/wall of the HH. Enter 9999 if JiVitA HHID is not found." + }, + "bind": { + "jr:constraintMsg": { + "Bengali": "অনুগ্রহ করে ০০০১ থেকে ৯৯৯৯ এর মধ্যে ৪ ডিজিটের JiVitA HHID টাইপ করুন", + "English": "Please enter 4 digits of JiVitA HHID from 0001 to 9999" + }, + "required": "yes", + "constraint": "regex(., '^(?!0{4})[0-9]{4}$')" + }, + "label": { + "Bengali": "JiVitA HHID", + "English": "JiVitA HHID" + }, + "instance": { + "openmrs_entity_id": "JiVitA_HHID", + "openmrs_entity": "person_attribute" + }, + "type": "text" + }, + { + "bind": { + "calculate": "${existing_Country}" + }, + "type": "calculate", + "name": "FWCOUNTRY", + "instance": { + "openmrs_entity": "person_address", + "openmrs_entity_id": "country", + "openmrs_entity_parent": "usual_residence" + } + }, + { + "bind": { + "calculate": "${existing_Division}" + }, + "type": "calculate", + "name": "FWDIVISION", + "instance": { + "openmrs_entity": "person_address", + "openmrs_entity_id": "stateProvince", + "openmrs_entity_parent": "usual_residence" + } + }, + { + "bind": { + "calculate": "${existing_District}" + }, + "type": "calculate", + "name": "FWDISTRICT", + "instance": { + "openmrs_entity": "person_address", + "openmrs_entity_id": "countyDistrict", + "openmrs_entity_parent": "usual_residence" + } + }, + { + "bind": { + "calculate": "${existing_Upazilla}" + }, + "type": "calculate", + "name": "FWUPAZILLA", + "instance": { + "openmrs_entity": "person_address", + "openmrs_entity_id": "cityVillage", + "openmrs_entity_parent": "usual_residence" + } + }, + { + "bind": { + "calculate": "${existing_Union}" + }, + "type": "calculate", + "name": "FWUNION", + "instance": { + "openmrs_entity": "person_address", + "openmrs_entity_id": "address1", + "openmrs_entity_parent": "usual_residence" + } + }, + { + "bind": { + "calculate": "${existing_Ward}" + }, + "type": "calculate", + "name": "FWWARD", + "instance": { + "openmrs_entity": "person_address", + "openmrs_entity_id": "address2", + "openmrs_entity_parent": "usual_residence" + } + }, + { + "bind": { + "calculate": "${existing_Subunit}" + }, + "type": "calculate", + "name": "FWSUBUNIT", + "instance": { + "openmrs_entity": "person_address", + "openmrs_entity_id": "address3", + "openmrs_entity_parent": "usual_residence" + } + }, + { + "bind": { + "calculate": "${existing_Mauzapara}" + }, + "type": "calculate", + "name": "FWMAUZA_PARA", + "instance": { + "openmrs_entity": "person_address", + "openmrs_entity_id": "address4", + "openmrs_entity_parent": "usual_residence" + } + }, + { + "bind": { + "calculate": "${FWGOBHHID}" + }, + "type": "calculate", + "name": "FWGOB_HHID", + "instance": { + "openmrs_entity": "person_address", + "openmrs_entity_id": "address5", + "openmrs_entity_parent": "usual_residence" + } + }, + { + "bind": { + "required": "yes" + }, + "type": "geopoint", + "instance": { + "openmrs_entity": "person_address", + "openmrs_entity_id": "geopoint", + "openmrs_entity_parent": "usual_residence" + }, + "name": "FWNHHHGPS", + "label": { + "Bengali": "জি পি এস", + "English": "Collect GPS Location of HH" + } + }, + { + "bind": { + "required": "yes" + }, + "type": "text", + "instance": { + "openmrs_entity_id": "first_name", + "openmrs_entity": "person" + }, + "name": "FWHOHFNAME", + "label": { + "Bengali": "খানা প্রধানের নাম-", + "English": "Head of Household Name" + } + }, + { + "bind": { + "calculate": "\".\"" + }, + "type": "calculate", + "name": "FWHOHLNAME", + "instance": { + "openmrs_entity_id": "last_name", + "openmrs_entity": "person" + } + }, + { + "bind": { + "calculate": "\"1900-01-01\"" + }, + "type": "calculate", + "name": "FWHOHBIRTHDATE", + "instance": { + "openmrs_entity_id": "birthdate", + "openmrs_entity": "person" + } + }, + { + "name": "FWHOHGENDER", + "bind": { + "required": "yes" + }, + "label": { + "Bengali": "খানা প্রধানের লিঙ্গ", + "English": "Head of Household Gender" + }, + "instance": { + "openmrs_entity_id": "gender", + "openmrs_entity": "person" + }, + "type": "select one", + "children": [ + { + "name": "1", + "label": { + "Bengali": "ছেলে", + "English": "Male" + } + }, + { + "name": "2", + "label": { + "Bengali": "মেয়ে", + "English": "Female" + } + } + ] + }, + { + "control": { + "appearance": "numbers" + }, + "name": "FWNHHMBRNUM", + "hint": { + "Bengali": "খানার সদস্য সংখ্যা লিখতে 01-29 লিখুন । 30 বা তার বেশী হলে 30 লিখুন। খানার সদস্যের সংখ্যা জানা না থাকলে 99 লিখুন ।", + "English": "Enter 01-29 for the number of household members. Enter 30 if 30 or more. Enter 99 if the total number is unknown." + }, + "bind": { + "jr:constraintMsg": { + "Bengali": "খানার সদস্য সংখ্যাকে দুই ডিজিট হিসেবে এন্ট্রি করতে হবে। খানার সদস্য সংখ্যা লিখতে 01- 29 লিখুন । খানার সদস্যের সংখ্যা 30 বা তার বেশি হলে 30 লিখুন। খানার সদস্যের সংখ্যা জানা না থাকলে 99 লিখুন ।", + "English": "Number should be entered as two digits. Enter 01-29 for the number of household members. Enter 30 if there are 30 or more household members. Enter 99 if the total number is unknown." + }, + "required": "yes", + "constraint": "(regex(., '^(?!0{2})[0-9]{2}$') and .<31) or .=99" + }, + "label": { + "Bengali": "এই খানায় বর্তমানে কতজন মানুষ বসবাস করছে?", + "English": "How many people are currently living in this household?" + }, + "instance": { + "openmrs_entity_id": "5611AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept" + }, + "type": "text" + }, + { + "name": "FWNHHMWRA", + "bind": { + "required": "yes" + }, + "label": { + "Bengali": "এই খানায় কি ১৫ থেকে ৪৯ বছর বয়সের কোন বিবাহিত মহিলা আছেন?", + "English": "Are there any married women between the ages of 15 - 49 live in this household?" + }, + "instance": { + "openmrs_entity_id": "1901AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept" + }, + "type": "select one", + "children": [ + { + "instance": { + "openmrs_code": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "0", + "label": { + "Bengali": "না", + "English": "No" + } + }, + { + "instance": { + "openmrs_code": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "1", + "label": { + "Bengali": "হ্যাঁ", + "English": "Yes" + } + }, + { + "instance": { + "openmrs_code": "1067AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "9", + "label": { + "Bengali": "জানি না", + "English": "Don't know" + } + } + ] + }, + { + "name": "woman", + "hint": { + "Bengali": "আমরা এখন মহিলাকে নিবন্ধন করব। তাকে জাতীয় পরিচয়পত্র এবং জন্ম নিবন্ধন সনদপত্র নিয়ে আসতে অনুরোধ করুন।", + "English": "We will now register the woman. Please ask her to bring her National ID Card and Birth Certificate." + }, + "bind": { + "relevant": "${FWNHHMWRA}='1'" + }, + "label": { + "Bengali": "মহিলার তথ্যঃ", + "English": "New Woman Registration" + }, + "instance": { + "openmrs_entity_id": "New Woman Registration", + "openmrs_entity": "person" + }, + "type": "repeat", + "children": [ + { + "bind": { + "calculate": "${FWGOBHHID}" + }, + "type": "calculate", + "name": "GOBHHID", + "instance": { + "openmrs_entity_id": "GoB_HHID", + "openmrs_entity": "person_attribute" + } + }, + { + "bind": { + "calculate": "${FWJIVHHID}" + }, + "type": "calculate", + "name": "JiVitAHHID", + "instance": { + "openmrs_entity_id": "JiVitA_HHID", + "openmrs_entity": "person_attribute" + } + }, + { + "bind": { + "calculate": "${FWNHREGDATE}" + }, + "type": "calculate", + "name": "REGDATE" + }, + { + "name": "FWWOMFNAME", + "hint": { + "Bengali": "মহিলার নাম টাইপ করুন", + "English": "Please type woman's name" + }, + "bind": { + "required": "yes" + }, + "label": { + "Bengali": "মহিলার নাম-", + "English": "Woman Name" + }, + "instance": { + "openmrs_entity_id": "first_name", + "openmrs_entity": "person" + }, + "type": "text" + }, + { + "bind": { + "calculate": "\".\"" + }, + "type": "calculate", + "name": "FWWOMLNAME", + "instance": { + "openmrs_entity_id": "last_name", + "openmrs_entity": "person" + } + }, + { + "name": "FWBIRTHDATE", + "hint": { + "Bengali": "“যদি জন্মনিবন্ধন সনদপত্র থাকে তাহলে জন্মতারিখ সেখান থেকেই সংগ্রহ করুন। যদি জন্মতারিখ বলতে না পারে তাহলে মাসের ১৫ তারিখকে জন্মতারিখ হিসেবে বেছে নিন। যদি জন্মমাস বলতে না পারে তাহলে ৬ বা জুনকে মাস হিসেবে বেছে নিন এবং মহিলা যে বছরটিতে তার জন্ম বলবে সেটি এন্ট্রি করুন।”", + "English": "If birth certificate is available take date of birth from birth certificate. If date of birth is unknown choose 15 as the date of birth, if month is unknown choose 06 (June) as month of birth and enter the year of birth as mentioned by the woman." + }, + "default": "2000-01-02 00:00:00", + "bind": { + "jr:constraintMsg": { + "Bengali": "মহিলার বয়স অবশ্যই ১২ বছরের বেশী হবে", + "English": "Woman must be older than 12 years of age" + }, + "required": "yes", + "constraint": "((${FWBIRTHDATE})+4380) <= today()" + }, + "label": { + "Bengali": "মহিলার জন্ম তারিখ", + "English": "Woman's Date of Birth" + }, + "instance": { + "openmrs_entity_id": "birthdate", + "openmrs_entity": "person" + }, + "type": "date" + }, + { + "bind": { + "calculate": "\"female\"" + }, + "type": "calculate", + "name": "FWGENDER", + "instance": { + "openmrs_entity_id": "gender", + "openmrs_entity": "person" + } + }, + { + "bind": { + "calculate": "round(((${today} - ${FWBIRTHDATE}) div 365.25),0)" + }, + "type": "calculate", + "name": "FWWOMAGE", + "instance": { + "openmrs_entity_id": "1532AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept" + } + }, + { + "type": "note", + "name": "display_age", + "label": { + "Bengali": "মহিলার বয়স ${FWWOMAGE}", + "English": "The woman's age is ${FWWOMAGE}." + } + }, + { + "control": { + "appearance": "yes" + }, + "name": "FWNHWOMSTRMEN", + "label": { + "Bengali": "আপনার কি বর্তমানে মাসিক একেবারে উঠে গেছে বা আপনি কি বর্তমানে স্থায়ী জন্মনিয়ন্ত্রন পদ্ধতি গ্রহণ করেছেন?", + "English": "Are you currently menopausal or sterilized?" + }, + "instance": { + "openmrs_entity_id": "163006AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept" + }, + "type": "select one", + "children": [ + { + "instance": { + "openmrs_code": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "0", + "label": { + "Bengali": "না", + "English": "No" + } + }, + { + "instance": { + "openmrs_code": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "1", + "label": { + "Bengali": "হ্যাঁ", + "English": "Yes" + } + }, + { + "instance": { + "openmrs_code": "1067AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "9", + "label": { + "Bengali": "জানি না", + "English": "Don't know" + } + } + ] + }, + { + "control": { + "appearance": "yes" + }, + "name": "FWNHWOMHUSLIV", + "bind": { + "relevant": "selected(${FWNHWOMSTRMEN}, '0') or selected(${FWNHWOMSTRMEN}, '9')" + }, + "label": { + "Bengali": "আপনি কি বর্তমানে আপনার স্বামীর সাথে বসবাস করছেন?", + "English": "Are you currently living with your husband?" + }, + "instance": { + "openmrs_entity_id": "162994AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept" + }, + "type": "select one", + "children": [ + { + "instance": { + "openmrs_code": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "0", + "label": { + "Bengali": "না", + "English": "No" + } + }, + { + "instance": { + "openmrs_code": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "1", + "label": { + "Bengali": "হ্যাঁ", + "English": "Yes" + } + }, + { + "instance": { + "openmrs_code": "1067AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "9", + "label": { + "Bengali": "জানি না", + "English": "Don't know" + } + } + ] + }, + { + "control": { + "appearance": "yes" + }, + "name": "FWNHWOMHUSALV", + "bind": { + "relevant": "selected(${FWNHWOMHUSLIV}, '0') or selected(${FWNHWOMHUSLIV}, '9')" + }, + "label": { + "Bengali": "আপনার স্বামী কি জীবিত আছেন?", + "English": "Is the husband alive?" + }, + "instance": { + "openmrs_entity_id": "5561AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept" + }, + "type": "select one", + "children": [ + { + "instance": { + "openmrs_code": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "0", + "label": { + "Bengali": "না", + "English": "No" + } + }, + { + "instance": { + "openmrs_code": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "1", + "label": { + "Bengali": "হ্যাঁ", + "English": "Yes" + } + } + ] + }, + { + "control": { + "appearance": "yes" + }, + "name": "FWNHWOMHUSSTR", + "bind": { + "relevant": "selected(${FWNHWOMHUSLIV}, '1') or (selected(${FWNHWOMHUSLIV}, '9') and selected(${FWNHWOMHUSALV}, '1'))" + }, + "label": { + "Bengali": "আপনার স্বামী কি স্থায়ী জন্মনিয়ন্ত্রন পদ্ধতি গ্রহণ করেছেন?", + "English": "Is the husband sterilized?" + }, + "instance": { + "openmrs_entity_id": "162959AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept" + }, + "type": "select one", + "children": [ + { + "instance": { + "openmrs_code": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "0", + "label": { + "Bengali": "না", + "English": "No" + } + }, + { + "instance": { + "openmrs_code": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "1", + "label": { + "Bengali": "হ্যাঁ", + "English": "Yes" + } + }, + { + "instance": { + "openmrs_code": "1067AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "9", + "label": { + "Bengali": "জানি না", + "English": "Don't know" + } + } + ] + }, + { + "bind": { + "calculate": "if(${FWNHWOMSTRMEN}='0' and ${FWNHWOMHUSLIV}='1' and ${FWNHWOMHUSSTR}='0','1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA','1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA')" + }, + "type": "calculate", + "name": "FWELIGIBLE", + "instance": { + "openmrs_entity_id": "162699AAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept" + } + }, + { + "bind": { + "relevant": "${FWELIGIBLE}='1'" + }, + "type": "group", + "children": [ + { + "name": "FWWOMANYID", + "hint": { + "Bengali": "প্রযোজ্য সবগুলো উত্তর নির্বাচন করুন", + "English": "Select all that apply." + }, + "label": { + "Bengali": "নিচের কোন পরিচয় পত্রটি মহিলার কাছে আছে?", + "English": "Which of the following IDs does the woman have?" + }, + "instance": { + "openmrs_entity_id": "163087AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept" + }, + "type": "select all that apply", + "children": [ + { + "instance": { + "openmrs_code": "163084AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "1", + "label": { + "Bengali": "জাতীয় পরিচয়পত্র নম্বর", + "English": "National ID Number" + } + }, + { + "instance": { + "openmrs_code": "163083AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "2", + "label": { + "Bengali": "জন্ম নিবন্ধন সনদপত্র নম্বর", + "English": "Birth Registration ID Number" + } + } + ] + }, + { + "control": { + "appearance": "numbers" + }, + "name": "FWWOMNID", + "hint": { + "Bengali": "জাতীয় পরিচয়পত্রে দেওয়া সরকারী নম্বর যেভাবে দেওয়া আছে সেভাবেই প্রবেশ করান", + "English": "Please input the Government ID as displayed on the national ID card" + }, + "bind": { + "relevant": "selected(${FWWOMANYID},'1')", + "jr:constraintMsg": { + "Bengali": "জাতীয় পরিচয়পত্র নং ১৩ অথবা ১৭ ডিজিটের হবে", + "English": "National ID should be 13 or 17 digits" + }, + "required": "yes", + "constraint": "regex(., '^(?!0{13})[0-9]{13}$') or regex(., '^(?!0{17})[0-9]{17}$')" + }, + "label": { + "Bengali": "মহিলার জাতীয় পরিচয়পত্র নং-", + "English": "Woman's National ID Number" + }, + "type": "text" + }, + { + "control": { + "appearance": "numbers" + }, + "name": "FWWOMRETYPENID", + "hint": { + "Bengali": "জাতীয় পরিচয়পত্রের নম্বরটি পুনরায় প্রবেশ করান", + "English": "Please re-input the National ID number" + }, + "bind": { + "relevant": "selected(${FWWOMANYID},'1')", + "jr:constraintMsg": { + "Bengali": "এই নম্বরটি ও পূর্বের স্ক্রিনে দেওয়া জন্ম নিবন্ধন নম্বরটি একই হতে হবে", + "English": "This number and the one in the previous screen should be same" + }, + "required": "yes", + "constraint": ".=${FWWOMNID}" + }, + "label": { + "Bengali": "মহিলার জাতীয় পরিচয়পত্র নম্বরটি পুনরায় লিখুন", + "English": "Re-Type Woman's National ID Number" + }, + "instance": { + "openmrs_entity_id": "NID", + "openmrs_entity": "person_identifier" + }, + "type": "text" + }, + { + "control": { + "appearance": "numbers" + }, + "name": "FWWOMBID", + "hint": { + "Bengali": "জন্ম নিবন্ধন সনদপত্রের সরকারী নম্বর যেভাবে দেওয়া আছে সেভাবেই ইনপুট দিন।", + "English": "Please input the Government ID as displayed on the birth certificate" + }, + "bind": { + "relevant": "selected(${FWWOMANYID},'2')", + "jr:constraintMsg": { + "Bengali": "জন্ম নিবন্ধন সনদ নং ১৭ ডিজিটের হবে", + "English": "Birth Registration ID should be 17 digits" + }, + "required": "yes", + "constraint": "regex(., '^(?!0{17})[0-9]{17}$')" + }, + "label": { + "Bengali": "মহিলার জন্ম নিবন্ধন সনদ নং-", + "English": "Woman's Birth Registration ID" + }, + "type": "text" + }, + { + "control": { + "appearance": "numbers" + }, + "name": "FWWOMRETYPEBID", + "hint": { + "Bengali": "জন্ম নিবন্ধন নম্বরটি পূনরায় প্রবেশ করান", + "English": "Please re-input the Birth Registration Number" + }, + "bind": { + "relevant": "selected(${FWWOMANYID},'2')", + "jr:constraintMsg": { + "Bengali": "এই নম্বরটি ও পূর্বের স্ক্রিনে দেওয়া জন্ম নিবন্ধন নম্বরটি একই হতে হবে", + "English": "This number and the one in the previous screen should be same" + }, + "required": "yes", + "constraint": ".=${FWWOMBID}" + }, + "label": { + "Bengali": "মহিলার জন্ম নিবন্ধন সনদ নং-", + "English": "Woman's Birth Registration ID" + }, + "instance": { + "openmrs_entity_id": "Birth Registration ID", + "openmrs_entity": "person_identifier" + }, + "type": "text" + }, + { + "name": "FWHUSNAME", + "hint": { + "Bengali": "স্বামীর নাম টাইপ করুন", + "English": "Please type husband's name" + }, + "bind": { + "required": "yes" + }, + "label": { + "Bengali": "স্বামীর নাম-", + "English": "Husband's Name" + }, + "instance": { + "openmrs_entity_id": "161135AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept" + }, + "type": "text" + }, + { + "bind": { + "calculate": "${existing_Country}" + }, + "type": "calculate", + "name": "FWWOMCOUNTRY", + "instance": { + "openmrs_entity": "person_address", + "openmrs_entity_id": "country", + "openmrs_entity_parent": "usual_residence" + } + }, + { + "bind": { + "calculate": "${existing_Division}" + }, + "type": "calculate", + "name": "FWWOMDIVISION", + "instance": { + "openmrs_entity": "person_address", + "openmrs_entity_id": "stateProvince", + "openmrs_entity_parent": "usual_residence" + } + }, + { + "bind": { + "calculate": "${existing_District}" + }, + "type": "calculate", + "name": "FWWOMDISTRICT", + "instance": { + "openmrs_entity": "person_address", + "openmrs_entity_id": "countyDistrict", + "openmrs_entity_parent": "usual_residence" + } + }, + { + "bind": { + "calculate": "${existing_Upazilla}" + }, + "type": "calculate", + "name": "FWWOMUPAZILLA", + "instance": { + "openmrs_entity": "person_address", + "openmrs_entity_id": "cityVillage", + "openmrs_entity_parent": "usual_residence" + } + }, + { + "bind": { + "calculate": "${existing_Union}" + }, + "type": "calculate", + "name": "FWWOMUNION", + "instance": { + "openmrs_entity": "person_address", + "openmrs_entity_id": "address1", + "openmrs_entity_parent": "usual_residence" + } + }, + { + "bind": { + "calculate": "${existing_Ward}" + }, + "type": "calculate", + "name": "FWWOMWARD", + "instance": { + "openmrs_entity": "person_address", + "openmrs_entity_id": "address2", + "openmrs_entity_parent": "usual_residence" + } + }, + { + "bind": { + "calculate": "${existing_Subunit}" + }, + "type": "calculate", + "name": "FWWOMSUBUNIT", + "instance": { + "openmrs_entity": "person_address", + "openmrs_entity_id": "address3", + "openmrs_entity_parent": "usual_residence" + } + }, + { + "bind": { + "calculate": "${existing_Mauzapara}" + }, + "type": "calculate", + "name": "FWWOMMAUZA_PARA", + "instance": { + "openmrs_entity": "person_address", + "openmrs_entity_id": "address4", + "openmrs_entity_parent": "usual_residence" + } + }, + { + "bind": { + "calculate": "${FWGOBHHID}" + }, + "type": "calculate", + "name": "FWWOMGOBHHID", + "instance": { + "openmrs_entity": "person_address", + "openmrs_entity_id": "address5", + "openmrs_entity_parent": "usual_residence" + } + }, + { + "bind": { + "calculate": "${FWNHHHGPS}" + }, + "type": "calculate", + "name": "FWWOMGPS", + "instance": { + "openmrs_entity": "person_address", + "openmrs_entity_id": "geopoint", + "openmrs_entity_parent": "usual_residence" + } + } + ], + "name": "eligible" + }, + { + "type": "note", + "name": "add_women", + "label": { + "Bengali": "নির্দেশনাঃ এই খানায় যদি আরও কোন মহিলা থাকে যাকে রেজিস্ট্রেশন করা হয়নি, তাহলে '+' এ ক্লিক করুন এবং একই প্রক্রিয়ায় পরবর্তী মহিলাকে রেজিস্ট্রেশন করুন", + "English": "If there are any additional unregistered women in this household, select the '+' to add them now." + } + } + ] + }, + { + "bind": { + "calculate": "sum(${FWELIGIBLE})" + }, + "type": "calculate", + "name": "ELCO" + }, + { + "default": "FWA", + "type": "hidden", + "name": "user_type" + }, + { + "type": "hidden", + "name": "external_user_ID" + }, + { + "control": { + "bodyless": true + }, + "type": "group", + "children": [ + { + "bind": { + "readonly": "true()", + "calculate": "concat('uuid:', uuid())" + }, + "type": "calculate", + "name": "instanceID" + } + ], + "name": "meta" + } + ] +} \ No newline at end of file diff --git a/opensrp-core/bin/src/test/resources/form/new_household_registration_with_grouped_subform_data/form.xml b/opensrp-core/bin/src/test/resources/form/new_household_registration_with_grouped_subform_data/form.xml new file mode 100644 index 0000000000..bda24f905a --- /dev/null +++ b/opensrp-core/bin/src/test/resources/form/new_household_registration_with_grouped_subform_data/form.xml @@ -0,0 +1,31 @@ + +
+

নতুন খানা নিবন্ধন ফর্ম

+ + + + + + + +
খানা প্রধানের লিঙ্গHead of Household Gender* +
+ +
এই খানায় কি ১৫ থেকে ৪৯ বছর বয়সের কোন বিবাহিত মহিলা আছেন?Are there any married women between the ages of 15 - 49 live in this household?* +
+

মহিলার তথ্যঃNew Woman Registration

আপনার কি বর্তমানে মাসিক একেবারে উঠে গেছে বা আপনি কি বর্তমানে স্থায়ী জন্মনিয়ন্ত্রন পদ্ধতি গ্রহণ করেছেন?Are you currently menopausal or sterilized? +
আপনি কি বর্তমানে আপনার স্বামীর সাথে বসবাস করছেন?Are you currently living with your husband? +
আপনার স্বামী কি জীবিত আছেন?Is the husband alive? +
আপনার স্বামী কি স্থায়ী জন্মনিয়ন্ত্রন পদ্ধতি গ্রহণ করেছেন?Is the husband sterilized? +
নিচের কোন পরিচয় পত্রটি মহিলার কাছে আছে?Which of the following IDs does the woman have?প্রযোজ্য সবগুলো উত্তর নির্বাচন করুনSelect all that apply. +
+
+
+
+ +XML to HTML transformation for form took 0.05 secondsThis validation is yet not functional.
diff --git a/opensrp-core/bin/src/test/resources/form/new_household_registration_with_grouped_subform_data/form_definition.json b/opensrp-core/bin/src/test/resources/form/new_household_registration_with_grouped_subform_data/form_definition.json new file mode 100644 index 0000000000..916bdf7aa8 --- /dev/null +++ b/opensrp-core/bin/src/test/resources/form/new_household_registration_with_grouped_subform_data/form_definition.json @@ -0,0 +1,290 @@ +{ + "form_data_definition_version": "13", + "form": { + "default_bind_path": "/model/instance/FWNewHH", + "bind_type": "household", + "fields": [ + { + "name": "id", + "shouldLoadValue": true + }, + { + "name": "location_name", + "bind": "/model/instance/FWNewHH/existing_Mauzapara" + }, + { + "name": "existing_location", + "bind": "/model/instance/FWNewHH/existing_location" + }, + { + "name": "existing_Country", + "bind": "/model/instance/FWNewHH/existing_Country" + }, + { + "name": "existing_Division", + "bind": "/model/instance/FWNewHH/existing_Division" + }, + { + "name": "existing_District", + "bind": "/model/instance/FWNewHH/existing_District" + }, + { + "name": "existing_Upazilla", + "bind": "/model/instance/FWNewHH/existing_Upazilla" + }, + { + "name": "existing_Union", + "bind": "/model/instance/FWNewHH/existing_Union" + }, + { + "name": "existing_Ward", + "bind": "/model/instance/FWNewHH/existing_Ward" + }, + { + "name": "existing_Subunit", + "bind": "/model/instance/FWNewHH/existing_Subunit" + }, + { + "name": "existing_Mauzapara", + "bind": "/model/instance/FWNewHH/existing_Mauzapara" + }, + { + "name": "today", + "bind": "/model/instance/FWNewHH/today" + }, + { + "name": "start", + "bind": "/model/instance/FWNewHH/start" + }, + { + "name": "end", + "bind": "/model/instance/FWNewHH/end" + }, + { + "name": "FWNHREGDATE", + "bind": "/model/instance/FWNewHH/FWNHREGDATE" + }, + { + "name": "FWGOBHHID", + "bind": "/model/instance/FWNewHH/FWGOBHHID" + }, + { + "name": "FWJIVHHID", + "bind": "/model/instance/FWNewHH/FWJIVHHID" + }, + { + "name": "FWCOUNTRY", + "bind": "/model/instance/FWNewHH/FWCOUNTRY" + }, + { + "name": "FWDIVISION", + "bind": "/model/instance/FWNewHH/FWDIVISION" + }, + { + "name": "FWDISTRICT", + "bind": "/model/instance/FWNewHH/FWDISTRICT" + }, + { + "name": "FWUPAZILLA", + "bind": "/model/instance/FWNewHH/FWUPAZILLA" + }, + { + "name": "FWUNION", + "bind": "/model/instance/FWNewHH/FWUNION" + }, + { + "name": "FWWARD", + "bind": "/model/instance/FWNewHH/FWWARD" + }, + { + "name": "FWSUBUNIT", + "bind": "/model/instance/FWNewHH/FWSUBUNIT" + }, + { + "name": "FWMAUZA_PARA", + "bind": "/model/instance/FWNewHH/FWMAUZA_PARA" + }, + { + "name": "FWNHHHGPS", + "bind": "/model/instance/FWNewHH/FWNHHHGPS" + }, + { + "name": "FWHOHFNAME", + "bind": "/model/instance/FWNewHH/FWHOHFNAME" + }, + { + "name": "FWHOHLNAME", + "bind": "/model/instance/FWNewHH/FWHOHLNAME" + }, + { + "name": "FWHOHBIRTHDATE", + "bind": "/model/instance/FWNewHH/FWHOHBIRTHDATE" + }, + { + "name": "FWHOHGENDER", + "bind": "/model/instance/FWNewHH/FWHOHGENDER" + }, + { + "name": "FWNHHMBRNUM", + "bind": "/model/instance/FWNewHH/FWNHHMBRNUM" + }, + { + "name": "FWNHHMWRA", + "bind": "/model/instance/FWNewHH/FWNHHMWRA" + }, + { + "name": "join_names", + "bind": "/model/instance/FWNewHH/join_names" + }, + { + "name": "ELCO", + "bind": "/model/instance/FWNewHH/ELCO" + }, + { + "name": "user_type", + "bind": "/model/instance/FWNewHH/user_type" + }, + { + "name": "external_user_ID", + "bind": "/model/instance/FWNewHH/external_user_ID" + } + ], + "sub_forms": [ + { + "name": "elco_registration", + "bind_type": "elco", + "default_bind_path": "/model/instance/FWNewHH/woman", + "fields": [ + { + "name": "id", + "shouldLoadValue": true + }, + { + "name": "relationalid", + "shouldLoadValue": true + }, + { + "name": "WomanREGDATE", + "bind": "/model/instance/FWNewHH/woman/REGDATE" + }, + { + "name": "GOBHHID", + "bind": "/model/instance/FWNewHH/woman/GOBHHID" + }, + { + "name": "JiVitAHHID", + "bind": "/model/instance/FWNewHH/woman/JiVitAHHID" + }, + { + "name": "FWWOMFNAME", + "bind": "/model/instance/FWNewHH/woman/FWWOMFNAME" + }, + { + "name": "FWWOMLNAME", + "bind": "/model/instance/FWNewHH/woman/FWWOMLNAME" + }, + { + "name": "FWBIRTHDATE", + "bind": "/model/instance/FWNewHH/woman/FWBIRTHDATE" + }, + { + "name": "FWGENDER", + "bind": "/model/instance/FWNewHH/woman/FWGENDER" + }, + { + "name": "FWWOMAGE", + "bind": "/model/instance/FWNewHH/woman/FWWOMAGE" + }, + { + "name": "display_age", + "bind": "/model/instance/FWNewHH/woman/display_age" + }, + { + "name": "FWNHWOMSTRMEN", + "bind": "/model/instance/FWNewHH/woman/FWNHWOMSTRMEN" + }, + { + "name": "FWNHWOMHUSALV", + "bind": "/model/instance/FWNewHH/woman/FWNHWOMHUSALV" + }, + { + "name": "FWNHWOMHUSLIV", + "bind": "/model/instance/FWNewHH/woman/FWNHWOMHUSLIV" + }, + { + "name": "FWNHWOMHUSSTR", + "bind": "/model/instance/FWNewHH/woman/FWNHWOMHUSSTR" + }, + { + "name": "FWELIGIBLE", + "bind": "/model/instance/FWNewHH/woman/FWELIGIBLE" + }, + { + "name": "FWWOMANYID", + "bind": "/model/instance/FWNewHH/woman/eligible/FWWOMANYID" + }, + { + "name": "FWWOMNID", + "bind": "/model/instance/FWNewHH/woman/eligible/FWWOMNID" + }, + { + "name": "FWWOMRETYPENID", + "bind": "/model/instance/FWNewHH/woman/eligible/FWWOMRETYPENID" + }, + { + "name": "FWWOMBID", + "bind": "/model/instance/FWNewHH/woman/eligible/FWWOMBID" + }, + { + "name": "FWWOMRETYPEBID", + "bind": "/model/instance/FWNewHH/woman/eligible/FWWOMRETYPEBID" + }, + { + "name": "FWHUSNAME", + "bind": "/model/instance/FWNewHH/woman/eligible/FWHUSNAME" + }, + { + "name": "FWWOMCOUNTRY", + "bind": "/model/instance/FWNewHH/woman/eligible/FWWOMCOUNTRY" + }, + { + "name": "FWWOMDIVISION", + "bind": "/model/instance/FWNewHH/woman/eligible/FWWOMDIVISION" + }, + { + "name": "FWWOMDISTRICT", + "bind": "/model/instance/FWNewHH/woman/eligible/FWWOMDISTRICT" + }, + { + "name": "FWWOMUPAZILLA", + "bind": "/model/instance/FWNewHH/woman/eligible/FWWOMUPAZILLA" + }, + { + "name": "FWWOMUNION", + "bind": "/model/instance/FWNewHH/woman/eligible/FWWOMUNION" + }, + { + "name": "FWWOMWARD", + "bind": "/model/instance/FWNewHH/woman/eligible/FWWOMWARD" + }, + { + "name": "FWWOMSUBUNIT", + "bind": "/model/instance/FWNewHH/woman/eligible/FWWOMSUBUNIT" + }, + { + "name": "FWWOMMAUZA_PARA", + "bind": "/model/instance/FWNewHH/woman/eligible/FWWOMMAUZA_PARA" + }, + { + "name": "FWWOMGOBHHID", + "bind": "/model/instance/FWNewHH/woman/eligible/FWWOMGOBHHID" + }, + { + "name": "FWWOMGPS", + "bind": "/model/instance/FWNewHH/woman/eligible/FWWOMGPS" + } + ] + } + ] + } +} \ No newline at end of file diff --git a/opensrp-core/bin/src/test/resources/form/new_household_registration_with_grouped_subform_data/form_submission1.json b/opensrp-core/bin/src/test/resources/form/new_household_registration_with_grouped_subform_data/form_submission1.json new file mode 100644 index 0000000000..75775ca8cd --- /dev/null +++ b/opensrp-core/bin/src/test/resources/form/new_household_registration_with_grouped_subform_data/form_submission1.json @@ -0,0 +1,363 @@ +{ + "id": "5ec11f03071ef0929839079530028992", + "_rev": "2-ddf675dd499e017538671b94843aeefc", + "type": "FormSubmission", + "anmId": "opensrp", + "instanceId": "d304dbr7-3998-434f-8c5b-55d6f5fa4252", + "formName": "new_household_registration_with_grouped_subform_data", + "entityId": "4237d267-d438-49f2-7822-8968t555447c", + "clientVersion": 1444562091545, + "formDataDefinitionVersion": "12", + "formInstance": { + "form_data_definition_version": "12", + "form": { + "bind_type": "household", + "default_bind_path": "/model/instance/FWNewHH", + "fields": [ + { + "name": "id", + "value": "4237d267-d438-49f2-7822-8968t555447c", + "source": "household.id" + }, + { + "name": "location_name", + "value": "DASLIA-_ALL_PARAS", + "source": "household.location_name" + }, + { + "name": "existing_location", + "value": "2fc43738-ace5-g961-8e8f-ab7dg0e5bc63", + "source": "household.existing_location" + }, + { + "name": "existing_Country", + "value": "Bangladesh", + "source": "household.existing_Country" + }, + { + "name": "existing_Division", + "value": "RANGPUR", + "source": "household.existing_Division" + }, + { + "name": "existing_District", + "value": "GAIBANDHA", + "source": "household.existing_District" + }, + { + "name": "existing_Upazilla", + "value": "SADULLAPUR", + "source": "household.existing_Upazilla" + }, + { + "name": "existing_Union", + "value": "NALDANGA", + "source": "household.existing_Union" + }, + { + "name": "existing_Ward", + "value": "Ward-3", + "source": "household.existing_Ward" + }, + { + "name": "existing_Subunit", + "value": "3-KHA", + "source": "household.existing_Subunit" + }, + { + "name": "existing_Mauzapara", + "value": "DASLIA+-+ALL+PARAS", + "source": "household.existing_Mauzapara" + }, + { + "name": "today", + "value": "2015-10-11", + "source": "household.today" + }, + { + "name": "start", + "value": "2015-10-11T17:12:34.000+06:00", + "source": "household.start" + }, + { + "name": "end", + "value": "2015-10-11T17:12:34.000+06:00", + "source": "household.end" + }, + { + "name": "FWNHREGDATE", + "value": "2015-10-11", + "source": "household.FWNHREGDATE" + }, + { + "name": "FWGOBHHID", + "value": "2322", + "source": "household.FWGOBHHID" + }, + { + "name": "FWJIVHHID", + "value": "9889", + "source": "household.FWJIVHHID" + }, + { + "name": "FWCOUNTRY", + "value": "Bangladesh", + "source": "household.FWCOUNTRY" + }, + { + "name": "FWDIVISION", + "value": "RANGPUR", + "source": "household.FWDIVISION" + }, + { + "name": "FWDISTRICT", + "value": "GAIBANDHA", + "source": "household.FWDISTRICT" + }, + { + "name": "FWUPAZILLA", + "value": "SADULLAPUR", + "source": "household.FWUPAZILLA" + }, + { + "name": "FWUNION", + "value": "NALDANGA", + "source": "household.FWUNION" + }, + { + "name": "FWWARD", + "value": "Ward-3", + "source": "household.FWWARD" + }, + { + "name": "FWSUBUNIT", + "value": "3-KHA", + "source": "household.FWSUBUNIT" + }, + { + "name": "FWMAUZA_PARA", + "value": "DASLIA+-+ALL+PARAS", + "source": "household.FWMAUZA_PARA" + }, + { + "name": "FWNHHHGPS", + "value": "23.8002 90.4068 0 10", + "source": "household.FWNHHHGPS" + }, + { + "name": "FWHOHFNAME", + "value": "mango", + "source": "household.FWHOHFNAME" + }, + { + "name": "FWHOHLNAME", + "value": ".", + "source": "household.FWHOHLNAME" + }, + { + "name": "FWHOHBIRTHDATE", + "value": "1900-01-01", + "source": "household.FWHOHBIRTHDATE" + }, + { + "name": "FWHOHGENDER", + "value": "2", + "source": "household.FWHOHGENDER" + }, + { + "name": "FWNHHMBRNUM", + "value": "23", + "source": "household.FWNHHMBRNUM" + }, + { + "name": "FWNHHMWRA", + "value": "1", + "source": "household.FWNHHMWRA" + }, + { + "name": "join_names", + "value": "hoby", + "source": "household.join_names" + }, + { + "name": "MWRA", + "value": "1", + "source": "household.MWRA" + } + ], + "sub_forms": [ + { + "name": "elco_registration", + "bind_type": "elco", + "default_bind_path": "/model/instance/FWNewHH/woman", + "fields": [ + { + "name": "id", + "source": "elco.id" + }, + { + "name": "relationalid", + "source": "elco.relationalid" + }, + { + "name": "WomanREGDATE", + "source": "elco.WomanREGDATE" + }, + { + "name": "GOBHHID", + "source": "elco.GOBHHID" + }, + { + "name": "JiVitAHHID", + "source": "elco.JiVitAHHID" + }, + { + "name": "FWWOMFNAME", + "source": "elco.FWWOMFNAME" + }, + { + "name": "FWWOMLNAME", + "source": "elco.FWWOMLNAME" + }, + { + "name": "FWBIRTHDATE", + "source": "elco.FWBIRTHDATE" + }, + { + "name": "FWGENDER", + "source": "elco.FWGENDER" + }, + { + "name": "FWWOMAGE", + "source": "elco.FWWOMAGE" + }, + { + "name": "display_age", + "source": "elco.display_age" + }, + { + "name": "FWNHWOMSTRMEN", + "source": "elco.FWNHWOMSTRMEN" + }, + { + "name": "FWNHWOMHUSALV", + "source": "elco.FWNHWOMHUSALV" + }, + { + "name": "FWNHWOMHUSLIV", + "source": "elco.FWNHWOMHUSLIV" + }, + { + "name": "FWNHWOMHUSSTR", + "source": "elco.FWNHWOMHUSSTR" + }, + { + "name": "FWELIGIBLE", + "source": "elco.FWELIGIBLE" + }, + { + "name": "FWWOMANYID", + "source": "elco.FWWOMANYID" + }, + { + "name": "FWWOMNID", + "source": "elco.FWWOMNID" + }, + { + "name": "FWWOMRETYPENID", + "source": "elco.FWWOMRETYPENID" + }, + { + "name": "FWWOMBID", + "source": "elco.FWWOMBID" + }, + { + "name": "FWWOMRETYPEBID", + "source": "elco.FWWOMRETYPEBID" + }, + { + "name": "FWHUSNAME", + "source": "elco.FWHUSNAME" + }, + { + "name": "FWWOMCOUNTRY", + "source": "elco.FWWOMCOUNTRY" + }, + { + "name": "FWWOMDIVISION", + "source": "elco.FWWOMDIVISION" + }, + { + "name": "FWWOMDISTRICT", + "source": "elco.FWWOMDISTRICT" + }, + { + "name": "FWWOMUPAZILLA", + "source": "elco.FWWOMUPAZILLA" + }, + { + "name": "FWWOMUNION", + "source": "elco.FWWOMUNION" + }, + { + "name": "FWWOMWARD", + "source": "elco.FWWOMWARD" + }, + { + "name": "FWWOMSUBUNIT", + "source": "elco.FWWOMSUBUNIT" + }, + { + "name": "FWWOMMAUZA_PARA", + "source": "elco.FWWOMMAUZA_PARA" + }, + { + "name": "FWWOMGOBHHID", + "source": "elco.FWWOMGOBHHID" + }, + { + "name": "FWWOMGPS", + "source": "elco.FWWOMGPS" + } + ], + "instances": [ + { + "GOBHHID": "2322", + "JiVitAHHID": "9889", + "WomanREGDATE": "2015-10-11", + "FWWOMFNAME": "jackfruit", + "FWWOMLNAME": ".", + "FWBIRTHDATE": "1988-10-08", + "FWGENDER": "female", + "FWWOMAGE": "27", + "display_age": "", + "FWNHWOMSTRMEN": "0", + "FWNHWOMHUSLIV": "1", + "FWNHWOMHUSALV": "", + "FWNHWOMHUSSTR": "0", + "FWELIGIBLE": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "FWWOMANYID": "1 2", + "FWWOMNID": "7675788777775", + "FWWOMRETYPENID": "7675788777775", + "FWWOMBID": "98899998888888888", + "FWWOMRETYPEBID": "98899998888888888", + "FWHUSNAME": "zoom", + "FWWOMCOUNTRY": "Bangladesh", + "FWWOMDIVISION": "RANGPUR", + "FWWOMDISTRICT": "GAIBANDHA", + "FWWOMUPAZILLA": "SADULLAPUR", + "FWWOMUNION": "NALDANGA", + "FWWOMWARD": "Ward-3", + "FWWOMSUBUNIT": "3-KHA", + "FWWOMMAUZA_PARA": "DASLIA+-+ALL+PARAS", + "FWWOMGOBHHID": "2322", + "FWWOMGPS": "23.8002 90.4068 0 10", + "id": "ce71572a-8oc5-u32f-9d3b-4a6b568d5g77" + } + ] + } + ] + } + }, + "serverVersion": 1444734863350 +} \ No newline at end of file diff --git a/opensrp-core/bin/src/test/resources/form/new_household_registration_with_grouped_subform_data/model.xml b/opensrp-core/bin/src/test/resources/form/new_household_registration_with_grouped_subform_data/model.xml new file mode 100644 index 0000000000..49e8d05084 --- /dev/null +++ b/opensrp-core/bin/src/test/resources/form/new_household_registration_with_grouped_subform_data/model.xml @@ -0,0 +1,83 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2000-01-02 00:00:00 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + FWA + + + + + + + \ No newline at end of file diff --git a/opensrp-core/bin/src/test/resources/form/offsite_child_followup/form.json b/opensrp-core/bin/src/test/resources/form/offsite_child_followup/form.json new file mode 100644 index 0000000000..03c91a8053 --- /dev/null +++ b/opensrp-core/bin/src/test/resources/form/offsite_child_followup/form.json @@ -0,0 +1 @@ +{"name":"Offsite_Child_Vaccination_Followup","title":"دوسرے سینٹر میں رجسٹرڈ بچّوں کا فالو اپ رجسٹر برائے ٹیکاجات - Off Site Child Follow Up Vaccination Register","sms_keyword":"offsite_child_vaccination_followup","default_language":"English","choices":{"provinces":[{"name":"kpk","label":{"Urdu":"خیبر پختون خواہ","English":"Khyber Pakhtunkhwa","Roman Urdu":"Khyber Pakhtunkhwa"}},{"name":"sindh","label":{"Urdu":"سندھ","English":"Sindh","Roman Urdu":"Sindh"}},{"name":"balochistan","label":{"Urdu":"بلوچستان","English":"Balochistan","Roman Urdu":"Balochistan"}},{"name":"punjab","label":{"Urdu":"پنجاب","English":"Punjab","Roman Urdu":"Punjab"}},{"name":"gilgit_baltistan","label":{"Urdu":"گلگت بلتستان","English":"Gilgit Baltistan","Roman Urdu":"Gilgit Baltistan"}},{"name":"kashmir","label":{"Urdu":"کشمیر","English":"Kashmir","Roman Urdu":"Kashmir"}},{"name":"fata","label":{"Urdu":"فاٹا","English":"FATA","Roman Urdu":"FATA"}},{"name":"out_of_country","label":{"Urdu":"ملک سے باہر","English":"Out of Country","Roman Urdu":"Out of Country"}}],"ucs":[{"province":"sindh","city":"karachi","town":"korangi","name":"bilal_colony","label":{"Urdu":"بلال کالونی","Roman Urdu":"Bilal Colony","English":"Bilal Colony"}},{"province":"sindh","city":"karachi","town":"korangi","name":"nasir_colony","label":{"Urdu":"ناصر کالونی","Roman Urdu":"Nasir Colony","English":"Nasir Colony"}},{"province":"sindh","city":"karachi","town":"korangi","name":"chakra_goth","label":{"Urdu":"چکرا گوٹھ","Roman Urdu":"Chakra Goth","English":"Chakra Goth"}},{"province":"sindh","city":"karachi","town":"korangi","name":"mustafa_taj_colony","label":{"Urdu":"مصطفی تاج کالونی","Roman Urdu":"Mustafa Taj Colony","English":"Mustafa Taj Colony"}},{"province":"sindh","city":"karachi","town":"korangi","name":"hundred_quarters","label":{"Urdu":"ہنڈریڈ کوارٹر","Roman Urdu":"Hundred Quarters","English":"Hundred Quarters"}},{"province":"sindh","city":"karachi","town":"korangi","name":"gulzar_colony","label":{"Urdu":"گلزار کالونی","Roman Urdu":"Gulzar Colony","English":"Gulzar Colony"}},{"province":"sindh","city":"karachi","town":"korangi","name":"korangi_sector_33","label":{"Urdu":"کورنگی سیکٹر 33","Roman Urdu":"Korangi Sector 33","English":"Korangi Sector 33"}},{"province":"sindh","city":"karachi","town":"korangi","name":"zaman_town","label":{"Urdu":"زمان ٹاوَن","Roman Urdu":"Zaman Town","English":"Zaman Town"}},{"province":"sindh","city":"karachi","town":"korangi","name":"hasrat_mohani_colony","label":{"Urdu":"حسرت موہانی کالونی","Roman Urdu":"Hasrat Mohani Colony","English":"Hasrat Mohani Colony"}},{"province":"sindh","city":"karachi","town":"baldia","name":"gulshan_e_ghazi","label":{"Urdu":"گلشن غازی","Roman Urdu":"Gulshan-e-Ghazi","English":"Gulshan-e-Ghazi"}},{"province":"sindh","city":"karachi","town":"baldia","name":"ittehad_town","label":{"Urdu":"اتحاد ٹاوَن","Roman Urdu":"Ittehad Town","English":"Ittehad Town"}},{"province":"sindh","city":"karachi","town":"baldia","name":"islam_nagar","label":{"Urdu":"اسلام نگر","Roman Urdu":"Islam Nagar","English":"Islam Nagar"}},{"province":"sindh","city":"karachi","town":"baldia","name":"nai_abadi","label":{"Urdu":"نئی آبادی","Roman Urdu":"Nai Abadi","English":"Nai Abadi"}},{"province":"sindh","city":"karachi","town":"baldia","name":"saeedabad","label":{"Urdu":"سعید آباد","Roman Urdu":"Saeedabad","English":"Saeedabad"}},{"province":"sindh","city":"karachi","town":"baldia","name":"muslim_mujahid_colony","label":{"Urdu":"مسلم مجاہد کالونی","Roman Urdu":"Muslim Mujahid Colony","English":"Muslim Mujahid Colony"}},{"province":"sindh","city":"karachi","town":"baldia","name":"muhajir_camp","label":{"Urdu":"مہاجر کیمپ","Roman Urdu":"Muhajir Camp","English":"Muhajir Camp"}},{"province":"sindh","city":"karachi","town":"baldia","name":"rasheedabad","label":{"Urdu":"رشید آباد","Roman Urdu":"Rasheedabad","English":"Rasheedabad"}},{"province":"sindh","city":"karachi","town":"bin_qasim","name":"ibrahim_hyderi","label":{"Urdu":"ابراہیم حیدری","Roman Urdu":"Ibrahim Hyderi","English":"Ibrahim Hyderi"}},{"province":"sindh","city":"karachi","town":"bin_qasim","name":"rehri","label":{"Urdu":"رہڑی","Roman Urdu":"Rehri","English":"Rehri"}},{"province":"sindh","city":"karachi","town":"bin_qasim","name":"cattle_colony","label":{"Urdu":"کیٹل کالونی","Roman Urdu":"Cattle Colony","English":"Cattle Colony"}},{"province":"sindh","city":"karachi","town":"bin_qasim","name":"qaidabad","label":{"Urdu":"قائدآباد","Roman Urdu":"Qaidabad","English":"Qaidabad"}},{"province":"sindh","city":"karachi","town":"bin_qasim","name":"landhi_colony","label":{"Urdu":"لانڈھی کالونی","Roman Urdu":"Landhi Colony","English":"Landhi Colony"}},{"province":"sindh","city":"karachi","town":"bin_qasim","name":"gulshan_e_hadeed","label":{"Urdu":"گلشن حدید","Roman Urdu":"Gulshan-e-Hadeed","English":"Gulshan-e-Hadeed"}},{"province":"sindh","city":"karachi","town":"bin_qasim","name":"gaghar","label":{"Urdu":"گگر","Roman Urdu":"Gaghar","English":"Gaghar"}},{"province":"sindh","city":"karachi","town":"gadap","name":"murad_memon_goth","label":{"Urdu":"مراد میمن گوٹھ","Roman Urdu":"Murad Memon Goth","English":"Murad Memon Goth"}},{"province":"sindh","city":"karachi","town":"gadap","name":"darsano_chana","label":{"Urdu":"درشانو شنو","Roman Urdu":"Darsano Chana","English":"Darsano Chana"}},{"province":"sindh","city":"karachi","town":"gadap","name":"gujro","label":{"Urdu":"گجرو","Roman Urdu":"Gujro","English":"Gujro"}},{"province":"sindh","city":"karachi","town":"gadap","name":"songal","label":{"Urdu":"سنگل","Roman Urdu":"Songal","English":"Songal"}},{"province":"sindh","city":"karachi","town":"gadap","name":"maymarabad","label":{"Urdu":"معمار آباد","Roman Urdu":"Maymarabad","English":"Maymarabad"}},{"province":"sindh","city":"karachi","town":"gadap","name":"yousuf_goth","label":{"Urdu":"یوسف گوٹھ","Roman Urdu":"Yousuf Goth","English":"Yousuf Goth"}},{"province":"sindh","city":"karachi","town":"gadap","name":"manghopir","label":{"Urdu":"منگھوپیر","Roman Urdu":"Manghopir","English":"Manghopir"}},{"province":"sindh","city":"karachi","town":"gulberg","name":"azizabad","label":{"Urdu":"عزیز آباد","Roman Urdu":"Azizabad","English":"Azizabad"}},{"province":"sindh","city":"karachi","town":"gulberg","name":"karimabad","label":{"Urdu":"کریم آباد","Roman Urdu":"Karimabad","English":"Karimabad"}},{"province":"sindh","city":"karachi","town":"gulberg","name":"aisha_manzil","label":{"Urdu":"عائشہ منزل","Roman Urdu":"Aisha Manzil","English":"Aisha Manzil"}},{"province":"sindh","city":"karachi","town":"gulberg","name":"ancholi","label":{"Urdu":"انچولی","Roman Urdu":"Ancholi","English":"Ancholi"}},{"province":"sindh","city":"karachi","town":"gulberg","name":"naseerabad","label":{"Urdu":"نصیرآباد","Roman Urdu":"Naseerabad","English":"Naseerabad"}},{"province":"sindh","city":"karachi","town":"gulberg","name":"yaseenabad","label":{"Urdu":"یاسین آباد","Roman Urdu":"Yaseenabad","English":"Yaseenabad"}},{"province":"sindh","city":"karachi","town":"gulberg","name":"water_pump","label":{"Urdu":"واٹرپمپ","Roman Urdu":"Water Pump","English":"Water Pump"}},{"province":"sindh","city":"karachi","town":"gulberg","name":"shafiq_mill_colony","label":{"Urdu":"شفیق مل کالونی","Roman Urdu":"Shafiq Mill Colony","English":"Shafiq Mill Colony"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"delhi_mercantile_society","label":{"Urdu":"دہلی مرچنٹائل سوسائٹی","Roman Urdu":"Delhi Mercantile Society","English":"Delhi Mercantile Society"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"civic_centre","label":{"Urdu":"سوک سینٹر","Roman Urdu":"Civic Centre","English":"Civic Centre"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"pir_ilahi_buksh_colony","label":{"Urdu":"پیر الہی بخش کالونی","Roman Urdu":"Pir Ilahi Buksh Colony","English":"Pir Ilahi Buksh Colony"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"essa_nagri","label":{"Urdu":"عیسی نگری","Roman Urdu":"Essa Nagri","English":"Essa Nagri"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"gulshan_e_iqbal","label":{"Urdu":"گلشن اقبال","Roman Urdu":"Gulshan-e-Iqbal","English":"Gulshan-e-Iqbal"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"gillani_railway_station","label":{"Urdu":"گیلانی ریلوے اسٹیشن","Roman Urdu":"Gillani Railway Station","English":"Gillani Railway Station"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"shanti_nagar","label":{"Urdu":"شانتی نگر","Roman Urdu":"Shanti Nagar","English":"Shanti Nagar"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"jamali_colony","label":{"Urdu":"جمالی کالونی","Roman Urdu":"Jamali Colony","English":"Jamali Colony"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"gulshan_e_iqbal_ii","label":{"Urdu":"گلشن اقبال 2","Roman Urdu":"Gulshan-e-Iqbal II","English":"Gulshan-e-Iqbal II"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"pehlwan_goth","label":{"Urdu":"پہلوان گوٹھ","Roman Urdu":"Pehlwan Goth","English":"Pehlwan Goth"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"matrovil_colony","label":{"Urdu":"میٹروویل کالونی","Roman Urdu":"Matrovil Colony","English":"Matrovil Colony"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"gulzar_e_hijri","label":{"Urdu":"گلزار ہجری","Roman Urdu":"Gulzar-e-Hijri","English":"Gulzar-e-Hijri"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"safooran_goth","label":{"Urdu":"صفورا گوٹھ","Roman Urdu":"Safooran Goth","English":"Safooran Goth"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"akhtar_colony","label":{"Urdu":"اختر کالونی","Roman Urdu":"Akhtar Colony","English":"Akhtar Colony"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"manzoor_colony","label":{"Urdu":"منظور کالونی","Roman Urdu":"Manzoor Colony","English":"Manzoor Colony"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"azam_basti","label":{"Urdu":"اعظم بستی","Roman Urdu":"Azam Basti","English":"Azam Basti"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"chanesar_goth","label":{"Urdu":"چنیسر گوٹھ","Roman Urdu":"Chanesar Goth","English":"Chanesar Goth"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"mahmudabad","label":{"Urdu":"محمودآباد","Roman Urdu":"Mahmudabad","English":"Mahmudabad"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"pechs","label":{"Urdu":"پی۔ای۔سی۔ایچ۔ایس","Roman Urdu":"P.E.C.H.S.","English":"P.E.C.H.S."}},{"province":"sindh","city":"karachi","town":"jamshed","name":"pechs_ii","label":{"Urdu":"پی۔ای۔سی۔ایچ۔ایس 2","Roman Urdu":"P.E.C.H.S. II","English":"P.E.C.H.S. II"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"jut_line","label":{"Urdu":"جٹ لائن","Roman Urdu":"Jut Line","English":"Jut Line"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"central_jacob_lines","label":{"Urdu":"سینٹرل جیکب لائن","Roman Urdu":"Central Jacob Lines","English":"Central Jacob Lines"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"jamshed_quarters","label":{"Urdu":"جمشید کوارٹر","Roman Urdu":"Jamshed Quarters","English":"Jamshed Quarters"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"garden_east","label":{"Urdu":"گارڈن ایسٹ","Roman Urdu":"Garden East","English":"Garden East"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"soldier_bazar","label":{"Urdu":"سولجر بازار","Roman Urdu":"Soldier Bazar","English":"Soldier Bazar"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"pakistan_quarters","label":{"Urdu":"پاکستان کوارٹر","Roman Urdu":"Pakistan Quarters","English":"Pakistan Quarters"}},{"province":"sindh","city":"karachi","town":"kiamari","name":"bhutta_village","label":{"Urdu":"بھٹا ولیج","Roman Urdu":"Bhutta Village","English":"Bhutta Village"}},{"province":"sindh","city":"karachi","town":"kiamari","name":"sultanabad","label":{"Urdu":"سلطان آباد","Roman Urdu":"Sultanabad","English":"Sultanabad"}},{"province":"sindh","city":"karachi","town":"kiamari","name":"kiamari_uc","label":{"Urdu":"کیماری یو- سی","Roman Urdu":"Kiamari UC","English":"Kiamari UC"}},{"province":"sindh","city":"karachi","town":"kiamari","name":"baba_bhit","label":{"Urdu":"بابا بھٹ","Roman Urdu":"Baba Bhit","English":"Baba Bhit"}},{"province":"sindh","city":"karachi","town":"kiamari","name":"machar_colony","label":{"Urdu":"مچھر کالونی","Roman Urdu":"Machar Colony","English":"Machar Colony"}},{"province":"sindh","city":"karachi","town":"kiamari","name":"maripur","label":{"Urdu":"ماڑی پور","Roman Urdu":"Maripur","English":"Maripur"}},{"province":"sindh","city":"karachi","town":"kiamari","name":"shershah","label":{"Urdu":"شیرشاہ","Roman Urdu":"SherShah","English":"SherShah"}},{"province":"sindh","city":"karachi","town":"kiamari","name":"gabo_pat","label":{"Urdu":"گابو پٹ","Roman Urdu":"Gabo Pat","English":"Gabo Pat"}},{"province":"sindh","city":"karachi","town":"landhi","name":"muzafarabad","label":{"Urdu":"مظفرآباد","Roman Urdu":"Muzafarabad","English":"Muzafarabad"}},{"province":"sindh","city":"karachi","town":"landhi","name":"muslimabad","label":{"Urdu":"مسلم آباد","Roman Urdu":"Muslimabad","English":"Muslimabad"}},{"province":"sindh","city":"karachi","town":"landhi","name":"dawood_chowrangi","label":{"Urdu":"داوَد چورنگی","Roman Urdu":"Dawood Chowrangi","English":"Dawood Chowrangi"}},{"province":"sindh","city":"karachi","town":"landhi","name":"moinabad","label":{"Urdu":"معین آباد","Roman Urdu":"Moinabad","English":"Moinabad"}},{"province":"sindh","city":"karachi","town":"landhi","name":"sharafi_goth","label":{"Urdu":"شرافی گوٹھ","Roman Urdu":"Sharafi Goth","English":"Sharafi Goth"}},{"province":"sindh","city":"karachi","town":"landhi","name":"bhutto_nagar","label":{"Urdu":"بھٹو نگر","Roman Urdu":"Bhutto Nagar","English":"Bhutto Nagar"}},{"province":"sindh","city":"karachi","town":"landhi","name":"khawaja_ajmeer_colony","label":{"Urdu":"خواجہ اجمیر کالونی","Roman Urdu":"Khawaja Ajmeer Colony","English":"Khawaja Ajmeer Colony"}},{"province":"sindh","city":"karachi","town":"landhi","name":"landhi_uc","label":{"Urdu":"لانڈھی یوسی","Roman Urdu":"Landhi UC","English":"Landhi UC"}},{"province":"sindh","city":"karachi","town":"landhi","name":"awami_colony","label":{"Urdu":"عوامی کالونی","Roman Urdu":"Awami Colony","English":"Awami Colony"}},{"province":"sindh","city":"karachi","town":"landhi","name":"burmee_colony","label":{"Urdu":"برمی کالونی","Roman Urdu":"Burmee Colony","English":"Burmee Colony"}},{"province":"sindh","city":"karachi","town":"landhi","name":"korangi_uc","label":{"Urdu":"کورنگی یوسی","Roman Urdu":"Korangi UC","English":"Korangi UC"}},{"province":"sindh","city":"karachi","town":"landhi","name":"sherabad","label":{"Urdu":"شیرآباد","Roman Urdu":"Sherabad","English":"Sherabad"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"rizvia_society","label":{"Urdu":"رضویہ سوسائٹی","Roman Urdu":"Rizvia Society","English":"Rizvia Society"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"firdous_colony","label":{"Urdu":"فردوس کالونی","Roman Urdu":"Firdous Colony","English":"Firdous Colony"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"super_market","label":{"Urdu":"سپر مارکیٹ","Roman Urdu":"Super Market","English":"Super Market"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"dak_khana","label":{"Urdu":"دک کھانہ","Roman Urdu":"Dak Khana","English":"Dak Khana"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"qasimabad","label":{"Urdu":"قاسم آباد","Roman Urdu":"Qasimabad","English":"Qasimabad"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"bandhani_colony","label":{"Urdu":"بندھانی کالونی","Roman Urdu":"Bandhani Colony","English":"Bandhani Colony"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"sharifabad","label":{"Urdu":"شریف آباد","Roman Urdu":"Sharifabad","English":"Sharifabad"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"commercial_area","label":{"Urdu":"کمرشل ایریا","Roman Urdu":"Commercial Area","English":"Commercial Area"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"mujahid_colony","label":{"Urdu":"مجاہد کالونی","Roman Urdu":"Mujahid Colony","English":"Mujahid Colony"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"nazimabad","label":{"Urdu":"ناظم آباد","Roman Urdu":"Nazimabad","English":"Nazimabad"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"abbasi_shaheed","label":{"Urdu":"عباسی شہید","Roman Urdu":"Abbasi Shaheed","English":"Abbasi Shaheed"}},{"province":"sindh","city":"karachi","town":"lyari","name":"agra_taj_colony","label":{"Urdu":"آگرہ تاج کالونی","Roman Urdu":"Agra Taj Colony","English":"Agra Taj Colony"}},{"province":"sindh","city":"karachi","town":"lyari","name":"daryaabad","label":{"Urdu":"دریاآباد","Roman Urdu":"Daryaabad","English":"Daryaabad"}},{"province":"sindh","city":"karachi","town":"lyari","name":"nawabad","label":{"Urdu":"نواآباد","Roman Urdu":"Nawabad","English":"Nawabad"}},{"province":"sindh","city":"karachi","town":"lyari","name":"khada_memon_society","label":{"Urdu":"خدا- میمن- سوساَٹی","Roman Urdu":"Khada Memon Society","English":"Khada Memon Society"}},{"province":"sindh","city":"karachi","town":"lyari","name":"baghdadi","label":{"Urdu":"بغدادی","Roman Urdu":"Baghdadi","English":"Baghdadi"}},{"province":"sindh","city":"karachi","town":"lyari","name":"shah_baig_line","label":{"Urdu":"شاھ باغ لائن","Roman Urdu":"Shah Baig Line","English":"Shah Baig Line"}},{"province":"sindh","city":"karachi","town":"lyari","name":"bihar_colony","label":{"Urdu":"بہار کالونی","Roman Urdu":"Bihar Colony","English":"Bihar Colony"}},{"province":"sindh","city":"karachi","town":"lyari","name":"ragiwara","label":{"Urdu":"راگی واڑا","Roman Urdu":"Ragiwara","English":"Ragiwara"}},{"province":"sindh","city":"karachi","town":"lyari","name":"singo_line","label":{"Urdu":"سنگولائن","Roman Urdu":"Singo Line","English":"Singo Line"}},{"province":"sindh","city":"karachi","town":"lyari","name":"chakiwara","label":{"Urdu":"چاکی واڑا","Roman Urdu":"Chakiwara","English":"Chakiwara"}},{"province":"sindh","city":"karachi","town":"lyari","name":"allama_iqbal_colony","label":{"Urdu":"علامہ اقبال کالونی","Roman Urdu":"Allama Iqbal Colony","English":"Allama Iqbal Colony"}},{"province":"sindh","city":"karachi","town":"malir","name":"model_colony","label":{"Urdu":"موڈل کالونی","Roman Urdu":"Model Colony","English":"Model Colony"}},{"province":"sindh","city":"karachi","town":"malir","name":"kala_board","label":{"Urdu":"کالا بورڈ","Roman Urdu":"Kala Board","English":"Kala Board"}},{"province":"sindh","city":"karachi","town":"malir","name":"saudabad","label":{"Urdu":"سعودآباد","Roman Urdu":"Saudabad","English":"Saudabad"}},{"province":"sindh","city":"karachi","town":"malir","name":"khokhra_par","label":{"Urdu":"کھوکھرا پار","Roman Urdu":"Khokhra Par","English":"Khokhra Par"}},{"province":"sindh","city":"karachi","town":"malir","name":"jafar_e_tayyar","label":{"Urdu":"جعفر تیار","Roman Urdu":"Jafar-e-Tayyar","English":"Jafar-e-Tayyar"}},{"province":"sindh","city":"karachi","town":"malir","name":"gharibabad","label":{"Urdu":"غریب آباد","Roman Urdu":"Gharibabad","English":"Gharibabad"}},{"province":"sindh","city":"karachi","town":"malir","name":"ghazi_brohi_goth","label":{"Urdu":"غازی بروہی گوٹھ","Roman Urdu":"Ghazi Brohi Goth","English":"Ghazi Brohi Goth"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"kalyana","label":{"Urdu":"کالیانہ","Roman Urdu":"Kalyana","English":"Kalyana"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"sir_syed_colony","label":{"Urdu":"سر سید کالونی","Roman Urdu":"Sir Syed Colony","English":"Sir Syed Colony"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"fatima_jinnah_colony","label":{"Urdu":"فاطمہ جناح کالونی","Roman Urdu":"Fatima Jinnah Colony","English":"Fatima Jinnah Colony"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"godhra","label":{"Urdu":"گودھرا","Roman Urdu":"Godhra","English":"Godhra"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"abu_zar_ghaffari","label":{"Urdu":"ابو زر غفاری","Roman Urdu":"Abu Zar Ghaffari","English":"Abu Zar Ghaffari"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"hakim_ahsan","label":{"Urdu":"حاکم احسان","Roman Urdu":"Hakim Ahsan","English":"Hakim Ahsan"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"madina_colony","label":{"Urdu":"مدینہ کالونی","Roman Urdu":"Madina Colony","English":"Madina Colony"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"faisal_colony","label":{"Urdu":"فیصل کالونی","Roman Urdu":"Faisal Colony","English":"Faisal Colony"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"khamiso_goth","label":{"Urdu":"خمیسو گوٹھ","Roman Urdu":"Khamiso Goth","English":"Khamiso Goth"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"mustufa_colony","label":{"Urdu":"مصطفی کالونی","Roman Urdu":"Mustufa Colony","English":"Mustufa Colony"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"khawaja_ajmeer_nagri","label":{"Urdu":"خواجہ اجمیر نگری","Roman Urdu":"Khawaja Ajmeer Nagri","English":"Khawaja Ajmeer Nagri"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"gulshan_e_saeed","label":{"Urdu":"گلشن سعید","Roman Urdu":"Gulshan-e-Saeed","English":"Gulshan-e-Saeed"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"shah_nawaz_bhutto_colony","label":{"Urdu":"شاہ نواز بھٹو کالونی","Roman Urdu":"Shah Nawaz Bhutto Colony","English":"Shah Nawaz Bhutto Colony"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"paposh_nagar","label":{"Urdu":"پاپوش نگر","Roman Urdu":"Paposh Nagar","English":"Paposh Nagar"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"pahar_ganj","label":{"Urdu":"پہاڑ گنج","Roman Urdu":"Pahar Ganj","English":"Pahar Ganj"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"khandu_goth","label":{"Urdu":"کھنڑو گوٹھ","Roman Urdu":"Khandu Goth","English":"Khandu Goth"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"hyderi","label":{"Urdu":"حیدری","Roman Urdu":"Hyderi","English":"Hyderi"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"sakhi_hassan","label":{"Urdu":"سخی حسن","Roman Urdu":"Sakhi Hassan","English":"Sakhi Hassan"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"farooq_e_azam","label":{"Urdu":"فاروق اعظم","Roman Urdu":"Farooq-e-Azam","English":"Farooq-e-Azam"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"nusrat_bhutto_colony","label":{"Urdu":"نصرت بھٹو کالونی","Roman Urdu":"Nusrat Bhutto Colony","English":"Nusrat Bhutto Colony"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"shadman_town","label":{"Urdu":"شادمان ٹاوَن","Roman Urdu":"Shadman Town","English":"Shadman Town"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"buffer_zone","label":{"Urdu":"بفرزون","Roman Urdu":"Buffer Zone","English":"Buffer Zone"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"buffer_zone_ii","label":{"Urdu":"بفرزون 2","Roman Urdu":"Buffer Zone II","English":"Buffer Zone II"}},{"province":"sindh","city":"karachi","town":"orangi","name":"mominabad","label":{"Urdu":"مومن آباد","Roman Urdu":"Mominabad","English":"Mominabad"}},{"province":"sindh","city":"karachi","town":"orangi","name":"haryana_colony","label":{"Urdu":"حریانہ کالونی","Roman Urdu":"Haryana Colony","English":"Haryana Colony"}},{"province":"sindh","city":"karachi","town":"orangi","name":"hanifabad","label":{"Urdu":"حنیف آباد","Roman Urdu":"Hanifabad","English":"Hanifabad"}},{"province":"sindh","city":"karachi","town":"orangi","name":"mohammad_nagar","label":{"Urdu":"محمد نگر","Roman Urdu":"Mohammad Nagar","English":"Mohammad Nagar"}},{"province":"sindh","city":"karachi","town":"orangi","name":"madina_colony_orangi","label":{"Urdu":"مدینہ کالونی اورنگی","Roman Urdu":"Madina Colony Orangi","English":"Madina Colony Orangi"}},{"province":"sindh","city":"karachi","town":"orangi","name":"ghaziabad","label":{"Urdu":"غازی آباد","Roman Urdu":"Ghaziabad","English":"Ghaziabad"}},{"province":"sindh","city":"karachi","town":"orangi","name":"chisti_nagar","label":{"Urdu":"چشتی نگر","Roman Urdu":"Chisti Nagar","English":"Chisti Nagar"}},{"province":"sindh","city":"karachi","town":"orangi","name":"bilal_colony_orangi","label":{"Urdu":"بلال کالونی اورنگی","Roman Urdu":"Bilal Colony Orangi","English":"Bilal Colony Orangi"}},{"province":"sindh","city":"karachi","town":"orangi","name":"iqbal_baloch_colony","label":{"Urdu":"اقبال بلوچ کالونی","Roman Urdu":"Iqbal Baloch Colony","English":"Iqbal Baloch Colony"}},{"province":"sindh","city":"karachi","town":"orangi","name":"ghabool_town","label":{"Urdu":"گبول ٹاوَن","Roman Urdu":"Ghabool Town","English":"Ghabool Town"}},{"province":"sindh","city":"karachi","town":"orangi","name":"data_nagar","label":{"Urdu":"داتا نگر","Roman Urdu":"Data Nagar","English":"Data Nagar"}},{"province":"sindh","city":"karachi","town":"orangi","name":"mujahidabad","label":{"Urdu":"مجاہد آباد","Roman Urdu":"Mujahidabad","English":"Mujahidabad"}},{"province":"sindh","city":"karachi","town":"orangi","name":"baloch_goth","label":{"Urdu":"بلوچ گوٹھ","Roman Urdu":"Baloch Goth","English":"Baloch Goth"}},{"province":"sindh","city":"karachi","town":"saddar","name":"old_haji_camp","label":{"Urdu":"پرانہ حاجی کیمپ","Roman Urdu":"Old Haji Camp","English":"Old Haji Camp"}},{"province":"sindh","city":"karachi","town":"saddar","name":"garden","label":{"Urdu":"گارڈن","Roman Urdu":"Garden","English":"Garden"}},{"province":"sindh","city":"karachi","town":"saddar","name":"kharadar","label":{"Urdu":"کھارادر","Roman Urdu":"Kharadar","English":"Kharadar"}},{"province":"sindh","city":"karachi","town":"saddar","name":"city_railway_colony","label":{"Urdu":"سٹی ریلوے کالونی","Roman Urdu":"City Railway Colony","English":"City Railway Colony"}},{"province":"sindh","city":"karachi","town":"saddar","name":"nanak_wara","label":{"Urdu":"ناناک واڑا","Roman Urdu":"Nanak Wara","English":"Nanak Wara"}},{"province":"sindh","city":"karachi","town":"saddar","name":"gazdarabad","label":{"Urdu":"گزدرآباد","Roman Urdu":"Gazdarabad","English":"Gazdarabad"}},{"province":"sindh","city":"karachi","town":"saddar","name":"millat_nagar_islam_pura","label":{"Urdu":"ملت نگر اسلام پورا","Roman Urdu":"Millat Nagar/Islam Pura","English":"Millat Nagar/Islam Pura"}},{"province":"sindh","city":"karachi","town":"saddar","name":"saddar_uc","label":{"Urdu":"صدر یو سی","Roman Urdu":"Saddar UC","English":"Saddar UC"}},{"province":"sindh","city":"karachi","town":"saddar","name":"civil_line","label":{"Urdu":"سول لائن","Roman Urdu":"Civil Line","English":"Civil Line"}},{"province":"sindh","city":"karachi","town":"saddar","name":"clifton","label":{"Urdu":"کلفٹن","Roman Urdu":"Clifton","English":"Clifton"}},{"province":"sindh","city":"karachi","town":"saddar","name":"kehkashan","label":{"Urdu":"کہکشان","Roman Urdu":"Kehkashan","English":"Kehkashan"}},{"province":"sindh","city":"karachi","town":"shah_faisal","name":"natha_khan_goth","label":{"Urdu":"ناتھا خان گوٹھ","Roman Urdu":"Natha Khan Goth","English":"Natha Khan Goth"}},{"province":"sindh","city":"karachi","town":"shah_faisal","name":"pak_sadat_colony","label":{"Urdu":"پاک صدر کالونی","Roman Urdu":"Pak Sadat Colony","English":"Pak Sadat Colony"}},{"province":"sindh","city":"karachi","town":"shah_faisal","name":"drigh_colony","label":{"Urdu":"ڈرگ کالونی","Roman Urdu":"Drigh Colony","English":"Drigh Colony"}},{"province":"sindh","city":"karachi","town":"shah_faisal","name":"raita_plot","label":{"Urdu":"رائتا پلاٹ","Roman Urdu":"Raita Plot","English":"Raita Plot"}},{"province":"sindh","city":"karachi","town":"shah_faisal","name":"moria_khan_goth","label":{"Urdu":"موریا خان گوٹھ","Roman Urdu":"Moria Khan Goth","English":"Moria Khan Goth"}},{"province":"sindh","city":"karachi","town":"shah_faisal","name":"rafa_e_aam_society","label":{"Urdu":"رفا عام سوسا ئٹی","Roman Urdu":"Rafa-e-Aam Society","English":"Rafa-e-Aam Society"}},{"province":"sindh","city":"karachi","town":"shah_faisal","name":"al_falah_society","label":{"Urdu":"الفلاح سوسا ئٹی","Roman Urdu":"Al-Falah Society","English":"Al-Falah Society"}},{"province":"sindh","city":"karachi","town":"site","name":"pak_colony","label":{"Urdu":"پاک کالونی","Roman Urdu":"Pak Colony","English":"Pak Colony"}},{"province":"sindh","city":"karachi","town":"site","name":"old_golimar","label":{"Urdu":"پرانہ گولی مار","Roman Urdu":"Old Golimar","English":"Old Golimar"}},{"province":"sindh","city":"karachi","town":"site","name":"jahanabad","label":{"Urdu":"جہان آباد","Roman Urdu":"Jahanabad","English":"Jahanabad"}},{"province":"sindh","city":"karachi","town":"site","name":"metrovil","label":{"Urdu":"میٹروویل","Roman Urdu":"Metrovil","English":"Metrovil"}},{"province":"sindh","city":"karachi","town":"site","name":"bhawani_chali","label":{"Urdu":"بہوانی چالی","Roman Urdu":"Bhawani Chali","English":"Bhawani Chali"}},{"province":"sindh","city":"karachi","town":"site","name":"frontier_colony","label":{"Urdu":"فرونٹر کالونی","Roman Urdu":"Frontier Colony","English":"Frontier Colony"}},{"province":"sindh","city":"karachi","town":"site","name":"banaras_colony","label":{"Urdu":"بنارس کالونی","Roman Urdu":"Banaras Colony","English":"Banaras Colony"}},{"province":"sindh","city":"karachi","town":"site","name":"qasba_colony","label":{"Urdu":"قصبہ کالونی","Roman Urdu":"Qasba Colony","English":"Qasba Colony"}},{"province":"sindh","city":"karachi","town":"site","name":"islamia_colony","label":{"Urdu":"اسلامیہ کالونی","Roman Urdu":"Islamia Colony","English":"Islamia Colony"}},{"province":"na","city":"na","town":"na","name":"other","label":{"Urdu":"دیگر","Roman Urdu":"Deegar","English":"Other"}},{"province":"na","city":"na","town":"na","name":"not_applicable","label":{"Urdu":"قابل اطلاق نہیں","Roman Urdu":"Qaabil-e-atlaaq nahi","English":"Not Applicable"}}],"gender":[{"instance":{"openmrs_code":"1534AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"male","label":{"Urdu":"مرد/ لڑکا","Roman Urdu":"Mard/larka","English":"Male"}},{"instance":{"openmrs_code":"1535AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"female","label":{"Urdu":"عورت/لڑکی","Roman Urdu":"Aurat/larki","English":"Female"}},{"instance":{"openmrs_code":"163163AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"transgender","label":{"Urdu":"خواجہ سرہ","Roman Urdu":"Khwaja sira","English":"Transgender"}}],"vaccines":[{"instance":{"openmrs_code":"1570AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"bcg","label":{"Urdu":"بی سی جی","Roman Urdu":"BCG","English":"BCG"}},{"instance":{"openmrs_code":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"opv0","label":{"Urdu":"او پی وی 0","Roman Urdu":"OPV 0","English":"OPV 0"}},{"instance":{"openmrs_code":"162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"pcv1","label":{"Urdu":"پی سی وی 1","Roman Urdu":"PCV 1","English":"PCV 1"}},{"instance":{"openmrs_code":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"opv1","label":{"Urdu":"او پی وی 1","Roman Urdu":"OPV 1","English":"OPV 1"}},{"instance":{"openmrs_code":"162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"penta11","label":{"Urdu":"پینٹا ویلنٹ 1","Roman Urdu":"Pentavalent 1","English":"Pentavalent 1"}},{"instance":{"openmrs_code":"162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"pcv2","label":{"Urdu":"پی سی وی 2","Roman Urdu":"PCV 2","English":"PCV 2"}},{"instance":{"openmrs_code":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"opv2","label":{"Urdu":"او پی وی 2","Roman Urdu":"OPV 2","English":"OPV 2"}},{"instance":{"openmrs_code":"162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"penta12","label":{"Urdu":"پینٹا ویلنٹ 2","Roman Urdu":"Pentavalent 2","English":"Pentavalent 2"}},{"instance":{"openmrs_code":"162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"pcv3","label":{"Urdu":"پی سی وی 3","Roman Urdu":"PCV 3","English":"PCV 3"}},{"instance":{"openmrs_code":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"opv3","label":{"Urdu":"او پی وی 3","Roman Urdu":"OPV 3","English":"OPV 3"}},{"instance":{"openmrs_code":"162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"penta13","label":{"Urdu":"پینٹا ویلنٹ 3","Roman Urdu":"Pentavalent 3","English":"Pentavalent 3"}},{"instance":{"openmrs_code":"82242AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"ipv","label":{"Urdu":"آئی پی وی","Roman Urdu":"IPV","English":"IPV"}},{"instance":{"openmrs_code":"79409AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"measles1","label":{"Urdu":"خسرہ 1","Roman Urdu":"Khasra 1","English":"Measles 1"}},{"instance":{"openmrs_code":"79409AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"measles2","label":{"Urdu":"خسرہ 2","Roman Urdu":"Khasra 2","English":"Measles 2"}}],"towns":[{"province":"sindh","city":"karachi","name":"korangi","label":{"Urdu":"کورنگی","Roman Urdu":"Korangi","English":"Korangi"}},{"province":"sindh","city":"karachi","name":"landhi","label":{"Urdu":"لانڈھی","Roman Urdu":"Landhi","English":"Landhi"}},{"province":"sindh","city":"karachi","name":"baldia","label":{"Urdu":"بلدیہ","Roman Urdu":"Baldia","English":"Baldia"}},{"province":"sindh","city":"karachi","name":"bin_qasim","label":{"Urdu":"بن قاسم","Roman Urdu":"Bin Qasim","English":"Bin Qasim"}},{"province":"sindh","city":"karachi","name":"gadap","label":{"Urdu":"گڈاپ","Roman Urdu":"Gadap","English":"Gadap"}},{"province":"sindh","city":"karachi","name":"gulberg","label":{"Urdu":"گلبرگ","Roman Urdu":"Gulberg","English":"Gulberg"}},{"province":"sindh","city":"karachi","name":"gulshan","label":{"Urdu":"گلشن","Roman Urdu":"Gulshan","English":"Gulshan"}},{"province":"sindh","city":"karachi","name":"jamshed","label":{"Urdu":"جمشید","Roman Urdu":"Jamshed","English":"Jamshed"}},{"province":"sindh","city":"karachi","name":"kiamari","label":{"Urdu":"کیماری","Roman Urdu":"Kiamari","English":"Kiamari"}},{"province":"sindh","city":"karachi","name":"liaquatabad","label":{"Urdu":"لیاقت آباد","Roman Urdu":"Liaquatabad","English":"Liaquatabad"}},{"province":"sindh","city":"karachi","name":"lyari","label":{"Urdu":"لیاری","Roman Urdu":"Lyari","English":"Lyari"}},{"province":"sindh","city":"karachi","name":"malir","label":{"Urdu":"ملیر","Roman Urdu":"Malir","English":"Malir"}},{"province":"sindh","city":"karachi","name":"new_karachi","label":{"Urdu":"نیو کراچی","Roman Urdu":"New Karachi","English":"New Karachi"}},{"province":"sindh","city":"karachi","name":"north_nazimabad","label":{"Urdu":"نارتھ ناظم آباد","Roman Urdu":"North Nazimabad","English":"North Nazimabad"}},{"province":"sindh","city":"karachi","name":"orangi","label":{"Urdu":"اورنگی","Roman Urdu":"Orangi","English":"Orangi"}},{"province":"sindh","city":"karachi","name":"saddar","label":{"Urdu":"صدر","Roman Urdu":"Saddar","English":"Saddar"}},{"province":"sindh","city":"karachi","name":"shah_faisal","label":{"Urdu":"شاہ فیصل","Roman Urdu":"Shah Faisal","English":"Shah Faisal"}},{"province":"sindh","city":"karachi","name":"site","label":{"Urdu":"سائٹ","Roman Urdu":"S.I.T.E.","English":"S.I.T.E."}},{"province":"na","city":"na","name":"other","label":{"Urdu":"دیگر","Roman Urdu":"Deegar","English":"Other"}},{"province":"na","city":"na","name":"not_applicable","label":{"Urdu":"قابل اطلاق نہیں","Roman Urdu":"Qaabil-e-atlaaq nahi","English":"Not Applicable"}}],"cities":[{"province":"sindh","name":"karachi","label":{"Urdu":"کراچی","Roman Urdu":"Karachi","English":"Karachi"}},{"province":"punjab","name":"hafizabad","label":{"Urdu":"حافظ آباد","Roman Urdu":"Hafizabad","English":"Hafizabad"}},{"province":"punjab","name":"muzaffargarh","label":{"Urdu":"مظفر گڑھ","Roman Urdu":"Muzaffargarh","English":"Muzaffargarh"}},{"province":"na","name":"other","label":{"Urdu":"دیگر","Roman Urdu":"Deegar","English":"Other"}},{"province":"na","name":"not_applicable","label":{"Urdu":"قابل اطلاق نہیں","Roman Urdu":"Qaabil-e-atlaaq nahi","English":"Not Applicable"}}],"yes_no":[{"instance":{"openmrs_code":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"yes","label":{"Urdu":"ہاں","Roman Urdu":"Yes","English":"Yes"}},{"instance":{"openmrs_code":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"no","label":{"Urdu":"نہیں","Roman Urdu":"No","English":"No"}}]},"instance":{"encounter_type":"Off Site Child Vaccination Follow Up"},"version":"201604080501","id_string":"offsite_child_vaccination_followup","type":"survey","children":[{"type":"hidden","name":"provider_uc"},{"type":"hidden","name":"provider_town"},{"type":"hidden","name":"provider_city"},{"type":"hidden","name":"provider_province"},{"type":"hidden","name":"existing_first_name"},{"type":"hidden","name":"existing_last_name"},{"type":"hidden","name":"existing_mother_name"},{"type":"hidden","name":"existing_gender"},{"type":"hidden","name":"existing_client_birth_date"},{"type":"hidden","name":"existing_client_reg_date"},{"type":"hidden","name":"existing_landmark"},{"type":"hidden","name":"existing_house_number"},{"type":"hidden","name":"existing_street"},{"type":"hidden","name":"existing_union_council"},{"type":"hidden","name":"existing_town"},{"type":"hidden","name":"existing_city_village"},{"type":"hidden","name":"existing_province"},{"type":"hidden","name":"existing_union_councilname"},{"type":"hidden","name":"existing_townname"},{"type":"hidden","name":"existing_city_villagename"},{"type":"hidden","name":"existing_provincename"},{"type":"hidden","name":"existing_ethnicity"},{"type":"hidden","name":"existing_program_client_id"},{"type":"hidden","name":"existing_epi_card_number"},{"type":"hidden","name":"existing_child_was_suffering_from_a_disease_at_birth"},{"type":"hidden","name":"existing_reminders_approval"},{"type":"hidden","name":"existing_contact_phone_number"},{"type":"hidden","name":"e_bcg"},{"type":"hidden","name":"e_opv0"},{"type":"hidden","name":"e_penta2"},{"type":"hidden","name":"e_penta1"},{"type":"hidden","name":"e_penta3"},{"type":"hidden","name":"e_opv1"},{"type":"hidden","name":"e_opv2"},{"type":"hidden","name":"e_opv3"},{"type":"hidden","name":"e_pcv1"},{"type":"hidden","name":"e_pcv2"},{"type":"hidden","name":"e_pcv3"},{"type":"hidden","name":"e_measles1"},{"type":"hidden","name":"e_measles2"},{"type":"hidden","name":"e_ipv"},{"type":"hidden","name":"provider_id"},{"instance":{"openmrs_entity_id":"location_id","openmrs_entity":"encounter"},"type":"hidden","name":"provider_location_id"},{"type":"hidden","name":"provider_location_name"},{"type":"note","name":"provider_location_note","label":{"Urdu":"شہر: ${provider_city} ; ٹائون: ${provider_town} ; یوسی: ${provider_uc} ; سینٹرکا نام: ${provider_location_name}","English":"City: ${provider_city} ; Town: ${provider_town} ; UC: ${provider_uc} ; Center Name: ${provider_location_name}","Roman Urdu":"Shehr: ${provider_city} ; Town: ${provider_town} ; UC: ${provider_uc} ; Center ka Naam: ${provider_location_name}"}},{"instance":{"openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"start","name":"start"},{"instance":{"openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"end","name":"end"},{"instance":{"openmrs_entity_id":"163286AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"today","name":"today"},{"instance":{"openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"deviceid","name":"deviceid"},{"instance":{"openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"subscriberid","name":"subscriberid"},{"instance":{"openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"simserial","name":"simserial"},{"instance":{"openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"phonenumber","name":"phonenumber"},{"bind":{"required":"yes"},"label":{"Urdu":"بچے کی پروگرام میں اندراج کی تاریخ: {existing_client_reg_date}$","Roman Urdu":"Bachay ki Program mai andraj ki tareekh: ${existing_client_reg_date}","English":"Child Registration date: ${existing_client_reg_date}"},"type":"note","name":"existing_client_reg_date_note","hint":{"Urdu":"بچے کو ویکسین لگنے کی تاریخ","Roman Urdu":"Bachay ko vaccine lagnay ki tareekh","English":"Date on which child was vaccinated"}},{"bind":{"required":"yes"},"type":"note","name":"program_client_id_note","label":{"Urdu":"کلائنٹ کی پروگرام ائی ڈی: {existing_program_client_id}$","Roman Urdu":"Client ki program ID: ${existing_program_client_id}","English":"Program Client ID: ${existing_program_client_id}"}},{"bind":{"jr:constraintMsg":{"Urdu":"نمبر آٹھ ہندسوں پر مشتمل ہونا چاہئے","English":"Number should be 8 digits","Roman Urdu":"Number 8 hindason par mushtamil hona chahiye"},"required":"yes","constraint":"string-length(.) = 8"},"type":"integer","instance":{"openmrs_entity_id":"EPI Card Number","openmrs_entity":"person_attribute"},"name":"epi_card_number","label":{"Urdu":"ای پی آئی کارڈ نمبر: {existing_epi_card_number}$","English":"EPI Card Number: ${existing_epi_card_number}","Roman Urdu":"EPI Card Number: ${existing_epi_card_number}"}},{"bind":{"required":"yes"},"type":"note","name":"first_name_note","label":{"Urdu":"نام: {existing_first_name}$","Roman Urdu":"Naam: ${existing_first_name}","English":"First Name: ${existing_first_name}"}},{"bind":{"required":"yes"},"type":"note","name":"last_name_note","label":{"Urdu":"والد کا نام: {existing_last_name}$","Roman Urdu":"Waalid ka naam: ${existing_last_name}","English":"Last name: ${existing_last_name}"}},{"bind":{"calculate":"int((${today} - ${existing_client_birth_date}) div 30.42)"},"type":"calculate","name":"child_age","instance":{"openmrs_entity_id":"154384AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"}},{"type":"note","name":"calc_dob_note","label":{"Urdu":"بچے کی تاریخ پیدائش: {existing_client_birth_date}$ ({child_age}$) مہینے","English":"Child dob: ${existing_client_birth_date} (${child_age}) months","Roman Urdu":"Bachay ki tareekh-e-paidaish: ${existing_client_birth_date} (${child_age}) mahinay"}},{"bind":{"required":"yes"},"type":"note","name":"gender_note","label":{"Urdu":"جنس: {existing_gender}$","Roman Urdu":"Jins:${existing_gender}","English":"Gender: ${existing_gender}"}},{"type":"note","name":"mother_name_note","label":{"Urdu":"ماں کا نام: {existing_mother_name}$","English":"Mother's Name: ${existing_mother_name}","Roman Urdu":"Maa ka naam: ${existing_mother_name}"}},{"bind":{"required":"yes"},"type":"note","name":"exisiting_ethnicity_note","label":{"Urdu":"قومیت: {existing_ethnicity}$","Roman Urdu":"Qomiat: ${existing_ethnicity}","English":"Ethnicity: ${existing_ethnicity}"}},{"type":"note","name":"address","label":{"Urdu":"موجودہ پتہ: ${existing_house_number}, ${existing_street}, ${existing_landmark}, ${existing_union_councilname}, ${existing_townname}, ${existing_city_villagename}, ${existing_provincename}","English":"Current Address: ${existing_house_number}, ${existing_street}, ${existing_landmark}, ${existing_union_councilname}, ${existing_townname}, ${existing_city_villagename}, ${existing_provincename}","Roman Urdu":"Mojooda Address: ${existing_house_number}, ${existing_street}, ${existing_landmark}, ${existing_union_councilname}, ${existing_townname}, ${existing_city_villagename}, ${existing_provincename}"}},{"label":{"Urdu":"کیا آپ کا گھر کا پتہ بدلا ہے؟","English":"Has your home address changed?","Roman Urdu":"Kya aap ka ghar ka pata badla hai?"},"type":"select one","children":[{"instance":{"openmrs_code":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"yes","label":{"Urdu":"ہاں","Roman Urdu":"Yes","English":"Yes"}},{"instance":{"openmrs_code":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"no","label":{"Urdu":"نہیں","Roman Urdu":"No","English":"No"}}],"name":"address_change"},{"control":{"appearance":"minimal"},"name":"province","default":"${provider_province}","bind":{"relevant":"selected(${address_change}, 'yes')","required":"yes"},"label":{"Urdu":"صوبہ","Roman Urdu":"Suba","English":"Province"},"instance":{"openmrs_entity":"person_address","openmrs_entity_id":"stateProvince","openmrs_entity_parent":"usual_residence"},"type":"select one","children":[{"name":"kpk","label":{"Urdu":"خیبر پختون خواہ","English":"Khyber Pakhtunkhwa","Roman Urdu":"Khyber Pakhtunkhwa"}},{"name":"sindh","label":{"Urdu":"سندھ","English":"Sindh","Roman Urdu":"Sindh"}},{"name":"balochistan","label":{"Urdu":"بلوچستان","English":"Balochistan","Roman Urdu":"Balochistan"}},{"name":"punjab","label":{"Urdu":"پنجاب","English":"Punjab","Roman Urdu":"Punjab"}},{"name":"gilgit_baltistan","label":{"Urdu":"گلگت بلتستان","English":"Gilgit Baltistan","Roman Urdu":"Gilgit Baltistan"}},{"name":"kashmir","label":{"Urdu":"کشمیر","English":"Kashmir","Roman Urdu":"Kashmir"}},{"name":"fata","label":{"Urdu":"فاٹا","English":"FATA","Roman Urdu":"FATA"}},{"name":"out_of_country","label":{"Urdu":"ملک سے باہر","English":"Out of Country","Roman Urdu":"Out of Country"}}]},{"control":{"appearance":"minimal"},"name":"city_village","choice_filter":"province=${province} or province='na'","default":"${provider_city}","bind":{"relevant":"selected(${address_change}, 'yes')","required":"yes"},"label":{"Urdu":"شہر","Roman Urdu":"Shehr","English":"City"},"itemset":"cities","instance":{"openmrs_entity":"person_address","openmrs_entity_id":"cityVillage","openmrs_entity_parent":"usual_residence"},"type":"select one"},{"control":{"appearance":"minimal"},"name":"town","choice_filter":"(province=${province} and city=${city_village} ) or city='na'","bind":{"relevant":"selected(${address_change}, 'yes')","required":"yes"},"label":{"Urdu":"ٹاٰئون/ قصبہ/ بستی","Roman Urdu":"Town / Qasbah / Basti","English":"Town"},"itemset":"towns","instance":{"openmrs_entity":"person_address","openmrs_entity_id":"town","openmrs_entity_parent":"usual_residence"},"type":"select one"},{"control":{"appearance":"minimal"},"name":"union_council","choice_filter":"(province=${province} and city=${city_village} and town=${town}) or town='na'","bind":{"relevant":"selected(${address_change}, 'yes')","required":"yes"},"label":{"Urdu":"یونین کونسل","Roman Urdu":"Union Council","English":"Union Council"},"itemset":"ucs","instance":{"openmrs_entity":"person_address","openmrs_entity_id":"subTown","openmrs_entity_parent":"usual_residence"},"type":"select one"},{"bind":{"relevant":"selected(${address_change}, 'yes')","required":"yes"},"type":"text","instance":{"openmrs_entity":"person_address","openmrs_entity_id":"house","openmrs_entity_parent":"usual_residence"},"name":"house_number","label":{"Urdu":"گھر کا نمبر","Roman Urdu":"Ghar ka number","English":"House Number"}},{"bind":{"relevant":"selected(${address_change}, 'yes')","required":"yes"},"type":"text","instance":{"openmrs_entity":"person_address","openmrs_entity_id":"street","openmrs_entity_parent":"usual_residence"},"name":"street","label":{"Urdu":"گلی/کالونی/محلہ","Roman Urdu":"Gali/Colony/Mohalla","English":"Street"}},{"bind":{"relevant":"selected(${address_change}, 'yes')","required":"yes"},"type":"text","instance":{"openmrs_entity":"person_address","openmrs_entity_id":"landmark","openmrs_entity_parent":"usual_residence"},"name":"landmark","label":{"Urdu":"گھر کے قریب کوئی مشہور جگہ","Roman Urdu":"Ghar ke qareeb koi mashoor jagah","English":"Land Mark"}},{"instance":{"openmrs_entity_id":"163277AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"geopoint","name":"center_gps","label":{"Urdu":"حاصل کردہ معلومات کی جگہ کے GPS کارڈینیٹس درج کریں","English":"Collect GPS coordinates of data entry location:","Roman Urdu":"Hasil karda malomaat ki jaga ke GPS coordinates darj karain"}},{"control":{"appearance":"minimal"},"bind":{"required":"yes"},"type":"note","name":"child_was_suffering_from_a_disease_at_birth_note","label":{"Urdu":"کیا بچہ پیدائش کے وقت کسی مرض میں مبتلا تھا؟ {existing_child_was_suffering_from_a_disease_at_birth}$","Roman Urdu":"Kya bacha pedaaish k waqt kissi marz mai mubtila tha? ${existing_child_was_suffering_from_a_disease_at_birth}","English":"Child was suffering from a disease at birth: ${existing_child_was_suffering_from_a_disease_at_birth}"}},{"instance":{"openmrs_entity_id":"163162AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"text","name":"aefi","label":{"Urdu":"حفاظتی ٹیکوں کے مضر اثرات","English":"The temporary side-effects of immunization shots","Roman Urdu":"Hifazati teekon ke muzr asraat"}},{"control":{"appearance":"minimal"},"name":"reminders_approval","bind":{"required":"yes"},"label":{"Urdu":"کیا آپ اپنے بچے کی اگلی ویکسین کی تاریخ کے لیے SMS موصول کرنا چاہتے ہیں؟ {existing_reminders_approval}$","English":"Are you willing to receive SMS reminders for your next visit? ${existing_reminders_approval}","Roman Urdu":"Kya aap apnay bachay ki agli vaccine ki tareekh ke liye SMS mausool karna chahtay hain? ${existing_reminders_approval}"},"instance":{"openmrs_entity_id":"163089AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"select one","children":[{"instance":{"openmrs_code":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"yes","label":{"Urdu":"ہاں","Roman Urdu":"Yes","English":"Yes"}},{"instance":{"openmrs_code":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"no","label":{"Urdu":"نہیں","Roman Urdu":"No","English":"No"}}]},{"bind":{"jr:constraintMsg":{"Urdu":"فون نمبر گیارہ ہندسوں پر مشتمل اور مندرجہ ذیل شکل میں ہونا چاہئے: *********03","English":"Phone number should be 11 digits in the following format: 03*********","Roman Urdu":"Phone number 11 hindason par mushtamil aur mundarja zail shakal main hona chahiey: 03*********"},"relevant":"${existing_reminders_approval}='yes'","constraint":"regex(., '^03[0-9]{9}$')"},"type":"text","instance":{"openmrs_entity_id":"159635AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"name":"contact_phone_number","label":{"Urdu":"موبائل نمبر:{existing_contact_phone_number}$","English":"Mobile Number: ${existing_contact_phone_number}","Roman Urdu":"Mobile Number: ${existing_contact_phone_number}"}},{"bind":{"calculate":"${existing_client_birth_date} + 42"},"type":"calculate","name":"six_weeks"},{"bind":{"calculate":"${existing_client_birth_date} + 70"},"type":"calculate","name":"ten_weeks"},{"bind":{"calculate":"${existing_client_birth_date} + 98"},"type":"calculate","name":"forteen_weeks"},{"bind":{"calculate":"${existing_client_birth_date} + 245"},"type":"calculate","name":"nine_months"},{"bind":{"calculate":"${existing_client_birth_date} + 458"},"type":"calculate","name":"fifteen_months"},{"control":{"appearance":"minimal"},"name":"vaccines","choice_filter":"name != if( ${e_bcg} != '', 'bcg' , '') and \nname != if( ${e_opv0} != '', 'opv0' , '') and \nname != if( ${e_penta1} != '', 'penta1' , '') and \nname != if( ${e_penta2} != '', 'penta2' , '') and \nname != if( ${e_penta3} != '', 'penta3' , '') and \nname != if( ${e_opv1} != '', 'opv1' , '') and \nname != if( ${e_opv2} != '', 'opv2' , '') and \nname != if( ${e_opv3} != '', 'opv3' , '') and \nname != if( ${e_pcv1} != '', 'pcv1' , '') and \nname != if( ${e_pcv2} != '', 'pcv2' , '') and \nname != if( ${e_pcv3} != '', 'pcv3' , '') and \nname != if( ${e_ipv} != '', 'ipv' , '') and \nname != if( ${e_measles1} != '', 'measles1' , '') and \nname != if( ${e_measles2} != '', 'measles2' , '')","label":{"Urdu":"پچھلی تاریخ جب کسی اور سینٹر پر ٹیکے لگواِے گیے یا قطرے پلائے گئے","Roman Urdu":"Pichli tareekh jab kissi aur center par teekay lagwaye gaye ya katray pilaey gaye","English":"Retro vaccines"},"itemset":"vaccines","instance":{"openmrs_entity":"concept","openmrs_entity_id":"984AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"1421AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"type":"select all that apply"},{"type":"group","children":[{"bind":{"jr:constraintMsg":{"Urdu":"حفاظتی ٹیکا ملنے کی تاریخ، بچے کی تاریخ پیدائش کے بعد اور آج کی تاریخ سے پہلے کی ہونی چاہیے","English":"The date of vaccination must be greater than the child's birthdate and less than today.","Roman Urdu":"Hifaazati teeka milnay ki tareekh, bachay ki tareekh-e-pedaaish ke baad aur aaj ki tareekh se phlay ki honi chahiye."},"relevant":"selected(${vaccines}, 'bcg')","constraint":".>= ${existing_client_birth_date} and .<=${today}"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"886AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"bcg_retro","label":{"Urdu":"بی سی جی","Roman Urdu":"BCG","English":"BCG"}},{"bind":{"jr:constraintMsg":{"Urdu":"حفاظتی ٹیکا ملنے کی تاریخ، بچے کی تاریخ پیدائش کے بعد اور آج کی تاریخ سے پہلے کی ہونی چاہیے","English":"The date of vaccination must be greater than the child's birthdate and less than today.","Roman Urdu":"Hifaazati teeka milnay ki tareekh, bachay ki tareekh-e-pedaaish ke baad aur aaj ki tareekh se phlay ki honi chahiye."},"relevant":"selected(${vaccines}, 'opv0')","constraint":".>= ${existing_client_birth_date} and .<=${today}"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"opv0_retro","label":{"Urdu":"او پی وی 0","Roman Urdu":"OPV 0","English":"OPV 0"}},{"bind":{"relevant":"selected(${vaccines}, 'opv0')","calculate":"0"},"type":"calculate","name":"opv0_dose","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"jr:constraintMsg":{"Urdu":"حفاظتی ٹیکا ملنے کی تاریخ، بچے کی تاریخ پیدائش کے بعد اور آج کی تاریخ سے پہلے کی ہونی چاہیے","English":"The date of vaccination must be greater than the child's birthdate and less than today.","Roman Urdu":"Hifaazati teeka milnay ki tareekh, bachay ki tareekh-e-pedaaish ke baad aur aaj ki tareekh se phlay ki honi chahiye."},"relevant":"selected(${vaccines}, 'pcv1')","constraint":".>= ${existing_client_birth_date} and .<=${today}"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"pcv1_retro","label":{"Urdu":"پی سی وی 1","Roman Urdu":"PCV1","English":"PCV1"}},{"bind":{"relevant":"selected(${vaccines}, 'pcv1')","calculate":"1"},"type":"calculate","name":"pcv1_dose","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"jr:constraintMsg":{"Urdu":"حفاظتی ٹیکا ملنے کی تاریخ، بچے کی تاریخ پیدائش کے بعد اور آج کی تاریخ سے پہلے کی ہونی چاہیے","English":"The date of vaccination must be greater than the child's birthdate and less than today.","Roman Urdu":"Hifaazati teeka milnay ki tareekh, bachay ki tareekh-e-pedaaish ke baad aur aaj ki tareekh se phlay ki honi chahiye."},"relevant":"selected(${vaccines}, 'opv1')","constraint":".>= ${existing_client_birth_date} and .<=${today}"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"opv1_retro","label":{"Urdu":"او پی وی1","Roman Urdu":"OPV 1","English":"OPV 1"}},{"bind":{"relevant":"selected(${vaccines}, 'opv1')","calculate":"1"},"type":"calculate","name":"opv1_dose","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"jr:constraintMsg":{"Urdu":"حفاظتی ٹیکا ملنے کی تاریخ، بچے کی تاریخ پیدائش کے بعد اور آج کی تاریخ سے پہلے کی ہونی چاہیے","English":"The date of vaccination must be greater than the child's birthdate and less than today.","Roman Urdu":"Hifaazati teeka milnay ki tareekh, bachay ki tareekh-e-pedaaish ke baad aur aaj ki tareekh se phlay ki honi chahiye."},"relevant":"selected(${vaccines}, 'penta11')","constraint":".>= ${existing_client_birth_date} and .<=${today}"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"penta11_retro","label":{"Urdu":"پینٹا ویلنٹ 1","Roman Urdu":"Pentavalent 1","English":"Pentavalent 1"}},{"bind":{"relevant":"selected(${vaccines}, 'penta11')","calculate":"1"},"type":"calculate","name":"penta11_dose","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"jr:constraintMsg":{"Urdu":"حفاظتی ٹیکا ملنے کی تاریخ، بچے کی تاریخ پیدائش کے بعد اور آج کی تاریخ سے پہلے کی ہونی چاہیے","English":"The date of vaccination must be greater than the child's birthdate and less than today.","Roman Urdu":"Hifaazati teeka milnay ki tareekh, bachay ki tareekh-e-pedaaish ke baad aur aaj ki tareekh se phlay ki honi chahiye."},"relevant":"selected(${vaccines}, 'pcv2')","constraint":".>= ${existing_client_birth_date} and .<=${today}"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"pcv2_retro","label":{"Urdu":"پی سی وی 2","Roman Urdu":"PCV2","English":"PCV2"}},{"bind":{"relevant":"selected(${vaccines}, 'pcv2')","calculate":"2"},"type":"calculate","name":"pcv2_dose","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"jr:constraintMsg":{"Urdu":"حفاظتی ٹیکا ملنے کی تاریخ، بچے کی تاریخ پیدائش کے بعد اور آج کی تاریخ سے پہلے کی ہونی چاہیے","English":"The date of vaccination must be greater than the child's birthdate and less than today.","Roman Urdu":"Hifaazati teeka milnay ki tareekh, bachay ki tareekh-e-pedaaish ke baad aur aaj ki tareekh se phlay ki honi chahiye."},"relevant":"selected(${vaccines}, 'opv2')","constraint":".>= ${existing_client_birth_date} and .<=${today}"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"opv2_retro","label":{"Urdu":"او پی وی 2","Roman Urdu":"OPV 2","English":"OPV 2"}},{"bind":{"relevant":"selected(${vaccines}, 'opv2')","calculate":"2"},"type":"calculate","name":"opv2_dose","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"jr:constraintMsg":{"Urdu":"حفاظتی ٹیکا ملنے کی تاریخ، بچے کی تاریخ پیدائش کے بعد اور آج کی تاریخ سے پہلے کی ہونی چاہیے","English":"The date of vaccination must be greater than the child's birthdate and less than today.","Roman Urdu":"Hifaazati teeka milnay ki tareekh, bachay ki tareekh-e-pedaaish ke baad aur aaj ki tareekh se phlay ki honi chahiye."},"relevant":"selected(${vaccines}, 'penta12')","constraint":".>= ${existing_client_birth_date} and .<=${today}"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"penta12_retro","label":{"Urdu":"پینٹا ویلنٹ 2","Roman Urdu":"Pentavalent 2","English":"Pentavalent 2"}},{"bind":{"relevant":"selected(${vaccines}, 'penta12')","calculate":"2"},"type":"calculate","name":"penta12_dose","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"jr:constraintMsg":{"Urdu":"حفاظتی ٹیکا ملنے کی تاریخ، بچے کی تاریخ پیدائش کے بعد اور آج کی تاریخ سے پہلے کی ہونی چاہیے","English":"The date of vaccination must be greater than the child's birthdate and less than today.","Roman Urdu":"Hifaazati teeka milnay ki tareekh, bachay ki tareekh-e-pedaaish ke baad aur aaj ki tareekh se phlay ki honi chahiye."},"relevant":"selected(${vaccines}, 'pcv3')","constraint":".>= ${existing_client_birth_date} and .<=${today}"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"pcv3_retro","label":{"Urdu":"پی سی وی 3","Roman Urdu":"PCV3","English":"PCV3"}},{"bind":{"relevant":"selected(${vaccines}, 'penta12')","calculate":"3"},"type":"calculate","name":"pcv3_dose","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"jr:constraintMsg":{"Urdu":"حفاظتی ٹیکا ملنے کی تاریخ، بچے کی تاریخ پیدائش کے بعد اور آج کی تاریخ سے پہلے کی ہونی چاہیے","English":"The date of vaccination must be greater than the child's birthdate and less than today.","Roman Urdu":"Hifaazati teeka milnay ki tareekh, bachay ki tareekh-e-pedaaish ke baad aur aaj ki tareekh se phlay ki honi chahiye."},"relevant":"selected(${vaccines}, 'opv3')","constraint":".>= ${existing_client_birth_date} and .<=${today}"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"opv3_retro","label":{"Urdu":"او پی وی3","Roman Urdu":"OPV 3","English":"OPV 3"}},{"bind":{"relevant":"selected(${vaccines}, 'opv3')","calculate":"3"},"type":"calculate","name":"opv3_dose","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"jr:constraintMsg":{"Urdu":"حفاظتی ٹیکا ملنے کی تاریخ، بچے کی تاریخ پیدائش کے بعد اور آج کی تاریخ سے پہلے کی ہونی چاہیے","English":"The date of vaccination must be greater than the child's birthdate and less than today.","Roman Urdu":"Hifaazati teeka milnay ki tareekh, bachay ki tareekh-e-pedaaish ke baad aur aaj ki tareekh se phlay ki honi chahiye."},"relevant":"selected(${vaccines}, 'penta13')","constraint":".>= ${existing_client_birth_date} and .<=${today}"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"penta13_retro","label":{"Urdu":"پینٹا ویلنٹ 3","Roman Urdu":"Pentavalent 3","English":"Pentavalent 3"}},{"bind":{"relevant":"selected(${vaccines}, 'penta13')","calculate":"3"},"type":"calculate","name":"penta13_dose","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"jr:constraintMsg":{"Urdu":"حفاظتی ٹیکا ملنے کی تاریخ، بچے کی تاریخ پیدائش کے بعد اور آج کی تاریخ سے پہلے کی ہونی چاہیے","English":"The date of vaccination must be greater than the child's birthdate and less than today.","Roman Urdu":"Hifaazati teeka milnay ki tareekh, bachay ki tareekh-e-pedaaish ke baad aur aaj ki tareekh se phlay ki honi chahiye."},"relevant":"selected(${vaccines}, 'ipv')","constraint":".>= ${existing_client_birth_date} and .<=${today}"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"1422AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"ipv_retro","label":{"Urdu":"آئی پی وی","Roman Urdu":"IPV","English":"IPV"}},{"bind":{"jr:constraintMsg":{"Urdu":"حفاظتی ٹیکا ملنے کی تاریخ، بچے کی تاریخ پیدائش کے بعد اور آج کی تاریخ سے پہلے کی ہونی چاہیے","English":"The date of vaccination must be greater than the child's birthdate and less than today.","Roman Urdu":"Hifaazati teeka milnay ki tareekh, bachay ki tareekh-e-pedaaish ke baad aur aaj ki tareekh se phlay ki honi chahiye."},"relevant":"selected(${vaccines}, 'measles1')","constraint":".>= ${existing_client_birth_date} and .<=${today}"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"36AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"measles1_retro","label":{"Urdu":"خسرہ 1","Roman Urdu":"Measles 1","English":"Measles 1"}},{"bind":{"relevant":"selected(${vaccines}, 'measles1')","calculate":"1"},"type":"calculate","name":"measles1_dose","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"36AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"jr:constraintMsg":{"Urdu":"حفاظتی ٹیکا ملنے کی تاریخ، بچے کی تاریخ پیدائش کے بعد اور آج کی تاریخ سے پہلے کی ہونی چاہیے","English":"The date of vaccination must be greater than the child's birthdate and less than today.","Roman Urdu":"Hifaazati teeka milnay ki tareekh, bachay ki tareekh-e-pedaaish ke baad aur aaj ki tareekh se phlay ki honi chahiye."},"relevant":"selected(${vaccines}, 'measles2')","constraint":".>= ${existing_client_birth_date} and .<=${today}"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"36AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"measles2_retro","label":{"Urdu":"خسرہ 2","Roman Urdu":"Measles2","English":"Measles2"}},{"bind":{"relevant":"selected(${vaccines}, 'measles2')","calculate":"2"},"type":"calculate","name":"measles2_dose","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"36AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}}],"name":"vaccines_group"},{"control":{"appearance":"minimal"},"name":"vaccines_2","choice_filter":"name != if( ${e_bcg} != '', 'bcg' , '') and \nname != if( ${e_opv0} != '', 'opv0' , '') and \nname != if( ${e_penta2} != '', 'penta2' , '') and \nname != if( ${e_penta1} != '', 'penta1' , '') and \nname != if( ${e_penta3} != '', 'penta3' , '') and \nname != if( ${e_opv1} != '', 'opv1' , '') and \nname != if( ${e_opv2} != '', 'opv2' , '') and \nname != if( ${e_opv3} != '', 'opv3' , '') and \nname != if( ${e_pcv1} != '', 'pcv1' , '') and \nname != if( ${e_pcv2} != '', 'pcv2' , '') and \nname != if( ${e_pcv3} != '', 'pcv3' , '') and \nname != if( ${e_measles1} != '', 'measles1' , '') and \nname != if( ${e_measles2} != '', 'measles2' , '') and \nname != if(selected(${vaccines}, 'bcg'), 'bcg', '') and \nname != if(selected(${vaccines}, 'opv0'), 'opv0', '') and \nname != if(selected(${vaccines}, 'penta1'), 'penta1', '') and \nname != if(selected(${vaccines}, 'opv1'), 'opv1', '') and \nname != if(selected(${vaccines}, 'pcv1'), 'pcv1', '') and \nname != if(selected(${vaccines}, 'penta2'), 'penta2', '') and \nname != if(selected(${vaccines}, 'opv2'), 'opv2', '') and \nname != if(selected(${vaccines}, 'pcv2'), 'pcv2', '') and \nname != if(selected(${vaccines}, 'penta3'), 'penta3', '') and \nname != if(selected(${vaccines}, 'opv3'), 'opv3', '') and \nname != if(selected(${vaccines}, 'ipv'), 'ipv', '') and \nname != if(selected(${vaccines}, 'measles1'), 'measles1', '') and \nname != if(selected(${vaccines}, 'measles2'), 'measles2', '')","bind":{"required":"yes","constraint":"if(selected(${vaccines_2}, 'bcg') or selected(${vaccines_2}, 'opv0') , .>= ${existing_client_birth_date} and .<=${today}, if(selected(${vaccines_2}, 'opv1') or selected(${vaccines_2}, 'penta11'), .>= ${six_weeks} and .<=${today}, if(selected(${vaccines_2}, 'opv2') or selected(${vaccines_2}, 'penta12'), .>=${ten_weeks} and .<=${today}, if(selected(${vaccines_2}, 'opv3') or selected(${vaccines_2}, 'penta13'), .>=${forteen_weeks} and .<=${today}, if(selected(${vaccines_2}, 'measles1'), .>=${nine_months} and .<=${today}, if(selected(${vaccines_2}, 'measles2'), .>= ${fifteen_months} and .<=${today}))))))"},"label":{"Urdu":"آج کون کون سی ویکسین دی گئی ہیں؟","Roman Urdu":"Aaj kon kon si vaccine di gai hain?","English":"Vaccines administered"},"itemset":"vaccines","instance":{"openmrs_entity":"concept","openmrs_entity_id":"984AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"1441AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"type":"select all that apply"},{"name":"vaccination_date","default":"${today}","bind":{"required":"yes","constraint":"if(selected(${vaccines_2}, 'bcg') or selected(${vaccines_2}, 'opv0') , .>= ${existing_client_birth_date} and .<=${today}, if(selected(${vaccines_2}, 'opv1') or selected(${vaccines_2}, 'penta11'), .>= ${six_weeks} and .<=${today}, if(selected(${vaccines_2}, 'opv2') or selected(${vaccines_2}, 'penta12'), .>=${ten_weeks} and .<=${today}, if(selected(${vaccines_2}, 'opv3') or selected(${vaccines_2}, 'penta13'), .>=${forteen_weeks} and .<=${today}, if(selected(${vaccines_2}, 'measles1'), .>=${nine_months} and .<=${today}, if(selected(${vaccines_2}, 'measles2'), .>= ${fifteen_months} and .<=${today}))))))"},"label":{"Urdu":"تاریخ","English":"Vaccination date","Roman Urdu":"Tareekh"},"instance":{"openmrs_entity_id":"encounter_date","openmrs_entity":"encounter"},"type":"date"},{"bind":{"calculate":"if(selected(${vaccines_2}, 'bcg'),${vaccination_date},'')"},"type":"calculate","name":"bcg","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"886AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"calculate":"if(selected(${vaccines_2}, 'opv0'),${vaccination_date},'')"},"type":"calculate","name":"opv0","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines_2}, 'opv0')","calculate":"0"},"type":"calculate","name":"opv0_dose_today","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"calculate":"if(selected(${vaccines_2}, 'pcv1'),${vaccination_date},'')"},"type":"calculate","name":"pcv1","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines_2}, 'pcv1')","calculate":"1"},"type":"calculate","name":"pcv1_dose_today","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"calculate":"if(selected(${vaccines_2}, 'opv1'),${vaccination_date},'')"},"type":"calculate","name":"opv1","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines_2}, 'opv1')","calculate":"1"},"type":"calculate","name":"opv1_dose_today","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"calculate":"if(selected(${vaccines_2}, 'penta11'),${vaccination_date},'')"},"type":"calculate","name":"penta11","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines_2}, 'penta11')","calculate":"1"},"type":"calculate","name":"penta11_dose_today","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"calculate":"if(selected(${vaccines_2}, 'pcv2'),${vaccination_date},'')"},"type":"calculate","name":"pcv2","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines_2}, 'pcv2')","calculate":"2"},"type":"calculate","name":"pcv2_dose_today","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"calculate":"if(selected(${vaccines_2}, 'opv2'),${vaccination_date},'')"},"type":"calculate","name":"opv2","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines_2}, 'opv2')","calculate":"2"},"type":"calculate","name":"opv2_dose_today","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"calculate":"if(selected(${vaccines_2}, 'penta12'),${vaccination_date},'')"},"type":"calculate","name":"penta12","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines_2}, 'penta12')","calculate":"2"},"type":"calculate","name":"penta12_dose_today","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"calculate":"if(selected(${vaccines_2}, 'pcv3'),${vaccination_date},'')"},"type":"calculate","name":"pcv3","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines_2}, 'pcv3')","calculate":"3"},"type":"calculate","name":"pcv3_dose_today","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"calculate":"if(selected(${vaccines_2}, 'opv3'),${vaccination_date},'')"},"type":"calculate","name":"opv3","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines_2}, 'opv3')","calculate":"3"},"type":"calculate","name":"opv3_dose_today","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"calculate":"if(selected(${vaccines_2}, 'penta13'),${vaccination_date},'')"},"type":"calculate","name":"penta13","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines_2}, 'penta13')","calculate":"3"},"type":"calculate","name":"penta13_dose_today","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines}, 'ipv')","calculate":"if(selected(${vaccines_2}, 'ipv'),${vaccination_date},'')"},"type":"calculate","name":"ipv","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"1422AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"calculate":"if(selected(${vaccines_2}, 'measles1'),${vaccination_date},'')"},"type":"calculate","name":"measles1","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"36AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines_2}, 'measles1')","calculate":"1"},"type":"calculate","name":"measles1_dose_today","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"36AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"calculate":"if(selected(${vaccines_2}, 'measles2'),${vaccination_date},'')"},"type":"calculate","name":"measles2","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"36AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines_2}, 'measles2')","calculate":"2"},"type":"calculate","name":"measles2_dose_today","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"36AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"control":{"bodyless":true},"type":"group","children":[{"bind":{"readonly":"true()","calculate":"concat('uuid:', uuid())"},"type":"calculate","name":"instanceID"}],"name":"meta"}]} \ No newline at end of file diff --git a/opensrp-core/bin/src/test/resources/form/offsite_child_followup/form.xml b/opensrp-core/bin/src/test/resources/form/offsite_child_followup/form.xml new file mode 100644 index 0000000000..2042695a14 --- /dev/null +++ b/opensrp-core/bin/src/test/resources/form/offsite_child_followup/form.xml @@ -0,0 +1,1560 @@ +
+ + +

دوسرے سینٹر میں رجسٹرڈ بچّوں کا فالو اپ رجسٹر برائے ٹیکاجات - Off Site Child Follow Up Vaccination Register

+
+
+ + کیا آپ کا گھر کا پتہ بدلا ہے؟ + Has your home address changed? + + Kya aap ka ghar ka pata badla hai? +
+ + +
+
+
+ + + + + + + + + + + + + +
+ + + diff --git a/opensrp-core/bin/src/test/resources/form/offsite_child_followup/form_definition.json b/opensrp-core/bin/src/test/resources/form/offsite_child_followup/form_definition.json new file mode 100644 index 0000000000..04a8d9a538 --- /dev/null +++ b/opensrp-core/bin/src/test/resources/form/offsite_child_followup/form_definition.json @@ -0,0 +1,466 @@ +{ + "form_data_definition_version" : "1", + "form" : { + "bind_type" : "pkchild", + "default_bind_path" : "/model/instance/Offsite_Child_Vaccination_Followup/", + "fields" : [ { + "name" : "id", + "shouldLoadValue" : true + }, { + "name" : "provider_uc", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/provider_uc", + "shouldLoadValue" : true + }, { + "name" : "provider_town", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/provider_town", + "shouldLoadValue" : true + }, { + "name" : "provider_city", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/provider_city", + "shouldLoadValue" : true + }, { + "name" : "provider_province", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/provider_province", + "shouldLoadValue" : true + }, { + "name" : "existing_first_name", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/existing_first_name", + "shouldLoadValue" : true + }, { + "name" : "existing_last_name", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/existing_last_name", + "shouldLoadValue" : true + }, { + "name" : "existing_mother_name", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/existing_mother_name", + "shouldLoadValue" : true + }, { + "name" : "existing_gender", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/existing_gender", + "shouldLoadValue" : true + }, { + "name" : "existing_birth_date", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/existing_client_birth_date", + "shouldLoadValue" : true + }, { + "name" : "existing_client_reg_date", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/existing_client_reg_date", + "shouldLoadValue" : true + }, { + "name" : "existing_landmark", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/existing_landmark", + "shouldLoadValue" : true + }, { + "name" : "existing_house_number", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/existing_house_number", + "shouldLoadValue" : true + }, { + "name" : "existing_street", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/existing_street", + "shouldLoadValue" : true + }, { + "name" : "existing_union_council", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/existing_union_council", + "shouldLoadValue" : true + }, { + "name" : "existing_town", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/existing_town", + "shouldLoadValue" : true + }, { + "name" : "existing_city_village", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/existing_city_village", + "shouldLoadValue" : true + }, { + "name" : "existing_province", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/existing_province", + "shouldLoadValue" : true + }, { + "name" : "existing_union_councilname", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/existing_union_councilname", + "shouldLoadValue" : true + }, { + "name" : "existing_townname", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/existing_townname", + "shouldLoadValue" : true + }, { + "name" : "existing_city_villagename", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/existing_city_villagename", + "shouldLoadValue" : true + }, { + "name" : "existing_provincename", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/existing_provincename", + "shouldLoadValue" : true + }, { + "name" : "existing_ethnicity", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/existing_ethnicity", + "shouldLoadValue" : true + }, { + "name" : "existing_program_client_id", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/existing_program_client_id", + "shouldLoadValue" : true + }, { + "name" : "existing_epi_card_number", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/existing_epi_card_number", + "shouldLoadValue" : true + }, { + "name" : "existing_child_was_suffering_from_a_disease_at_birth", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/existing_child_was_suffering_from_a_disease_at_birth", + "shouldLoadValue" : true + }, { + "name" : "existing_reminders_approval", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/existing_reminders_approval", + "shouldLoadValue" : true + }, { + "name" : "existing_contact_phone_number", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/existing_contact_phone_number", + "shouldLoadValue" : true + }, { + "name" : "e_bcg", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/e_bcg", + "shouldLoadValue" : true + }, { + "name" : "e_opv0", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/e_opv0", + "shouldLoadValue" : true + }, { + "name" : "e_penta2", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/e_penta2", + "shouldLoadValue" : true + }, { + "name" : "e_penta1", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/e_penta1", + "shouldLoadValue" : true + }, { + "name" : "e_penta3", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/e_penta3", + "shouldLoadValue" : true + }, { + "name" : "e_opv1", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/e_opv1", + "shouldLoadValue" : true + }, { + "name" : "e_opv2", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/e_opv2", + "shouldLoadValue" : true + }, { + "name" : "e_opv3", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/e_opv3", + "shouldLoadValue" : true + }, { + "name" : "e_pcv1", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/e_pcv1", + "shouldLoadValue" : true + }, { + "name" : "e_pcv2", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/e_pcv2", + "shouldLoadValue" : true + }, { + "name" : "e_pcv3", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/e_pcv3", + "shouldLoadValue" : true + }, { + "name" : "e_measles1", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/e_measles1", + "shouldLoadValue" : true + }, { + "name" : "e_measles2", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/e_measles2", + "shouldLoadValue" : true + }, { + "name" : "e_ipv", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/e_ipv", + "shouldLoadValue" : true + }, { + "name" : "provider_id", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/provider_id", + "shouldLoadValue" : true + }, { + "name" : "provider_location_id", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/provider_location_id", + "shouldLoadValue" : true + }, { + "name" : "provider_location_name", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/provider_location_name", + "shouldLoadValue" : true + }, { + "name" : "provider_location_note", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/provider_location_note" + }, { + "name" : "start", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/start" + }, { + "name" : "end", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/end" + }, { + "name" : "today", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/today" + }, { + "name" : "deviceid", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/deviceid" + }, { + "name" : "subscriberid", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/subscriberid" + }, { + "name" : "simserial", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/simserial" + }, { + "name" : "phonenumber", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/phonenumber" + }, { + "name" : "existing_client_reg_date_note", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/existing_client_reg_date_note" + }, { + "name" : "program_client_id_note", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/program_client_id_note" + }, { + "name" : "epi_card_number", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/epi_card_number" + }, { + "name" : "first_name_note", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/first_name_note" + }, { + "name" : "last_name_note", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/last_name_note" + }, { + "name" : "child_age", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/child_age" + }, { + "name" : "calc_dob_note", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/calc_dob_note" + }, { + "name" : "gender_note", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/gender_note" + }, { + "name" : "mother_name_note", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/mother_name_note" + }, { + "name" : "exisiting_ethnicity_note", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/exisiting_ethnicity_note" + }, { + "name" : "address", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/address" + }, { + "name" : "address_change", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/address_change" + }, { + "name" : "province", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/province" + }, { + "name" : "city_village", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/city_village" + }, { + "name" : "town", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/town" + }, { + "name" : "union_council", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/union_council" + }, { + "name" : "house_number", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/house_number" + }, { + "name" : "street", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/street" + }, { + "name" : "landmark", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/landmark" + }, { + "name" : "center_gps", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/center_gps" + }, { + "name" : "child_was_suffering_from_a_disease_at_birth_note", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/child_was_suffering_from_a_disease_at_birth_note" + }, { + "name" : "aefi", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/aefi" + }, { + "name" : "reminders_approval", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/reminders_approval" + }, { + "name" : "contact_phone_number", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/contact_phone_number" + }, { + "name" : "six_weeks", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/six_weeks" + }, { + "name" : "ten_weeks", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/ten_weeks" + }, { + "name" : "forteen_weeks", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/forteen_weeks" + }, { + "name" : "nine_months", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/nine_months" + }, { + "name" : "fifteen_months", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/fifteen_months" + }, { + "name" : "vaccines", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/vaccines" + }, { + "name" : "bcg_retro", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/vaccines_group/bcg_retro" + }, { + "name" : "opv0_retro", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/vaccines_group/opv0_retro" + }, { + "name" : "opv0_dose", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/vaccines_group/opv0_dose" + }, { + "name" : "pcv1_retro", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/vaccines_group/pcv1_retro" + }, { + "name" : "pcv1_dose", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/vaccines_group/pcv1_dose" + }, { + "name" : "opv1_retro", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/vaccines_group/opv1_retro" + }, { + "name" : "opv1_dose", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/vaccines_group/opv1_dose" + }, { + "name" : "penta11_retro", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/vaccines_group/penta11_retro" + }, { + "name" : "penta11_dose", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/vaccines_group/penta11_dose" + }, { + "name" : "pcv2_retro", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/vaccines_group/pcv2_retro" + }, { + "name" : "pcv2_dose", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/vaccines_group/pcv2_dose" + }, { + "name" : "opv2_retro", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/vaccines_group/opv2_retro" + }, { + "name" : "opv2_dose", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/vaccines_group/opv2_dose" + }, { + "name" : "penta12_retro", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/vaccines_group/penta12_retro" + }, { + "name" : "penta12_dose", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/vaccines_group/penta12_dose" + }, { + "name" : "pcv3_retro", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/vaccines_group/pcv3_retro" + }, { + "name" : "pcv3_dose", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/vaccines_group/pcv3_dose" + }, { + "name" : "opv3_retro", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/vaccines_group/opv3_retro" + }, { + "name" : "opv3_dose", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/vaccines_group/opv3_dose" + }, { + "name" : "penta13_retro", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/vaccines_group/penta13_retro" + }, { + "name" : "penta13_dose", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/vaccines_group/penta13_dose" + }, { + "name" : "ipv_retro", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/vaccines_group/ipv_retro" + }, { + "name" : "measles1_retro", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/vaccines_group/measles1_retro" + }, { + "name" : "measles1_dose", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/vaccines_group/measles1_dose" + }, { + "name" : "measles2_retro", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/vaccines_group/measles2_retro" + }, { + "name" : "measles2_dose", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/vaccines_group/measles2_dose" + }, { + "name" : "vaccines_2", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/vaccines_2" + }, { + "name" : "vaccination_date", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/vaccination_date" + }, { + "name" : "bcg", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/bcg" + }, { + "name" : "opv0", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/opv0" + }, { + "name" : "opv0_dose_today", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/opv0_dose_today" + }, { + "name" : "pcv1", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/pcv1" + }, { + "name" : "pcv1_dose_today", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/pcv1_dose_today" + }, { + "name" : "opv1", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/opv1" + }, { + "name" : "opv1_dose_today", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/opv1_dose_today" + }, { + "name" : "penta11", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/penta11" + }, { + "name" : "penta11_dose_today", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/penta11_dose_today" + }, { + "name" : "pcv2", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/pcv2" + }, { + "name" : "pcv2_dose_today", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/pcv2_dose_today" + }, { + "name" : "opv2", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/opv2" + }, { + "name" : "opv2_dose_today", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/opv2_dose_today" + }, { + "name" : "penta12", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/penta12" + }, { + "name" : "penta12_dose_today", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/penta12_dose_today" + }, { + "name" : "pcv3", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/pcv3" + }, { + "name" : "pcv3_dose_today", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/pcv3_dose_today" + }, { + "name" : "opv3", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/opv3" + }, { + "name" : "opv3_dose_today", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/opv3_dose_today" + }, { + "name" : "penta13", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/penta13" + }, { + "name" : "penta13_dose_today", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/penta13_dose_today" + }, { + "name" : "ipv", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/ipv" + }, { + "name" : "measles1", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/measles1" + }, { + "name" : "measles1_dose_today", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/measles1_dose_today" + }, { + "name" : "measles2", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/measles2" + }, { + "name" : "measles2_dose_today", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/measles2_dose_today" + }, { + "name" : "instanceID", + "bind" : "/model/instance/Offsite_Child_Vaccination_Followup/meta/instanceID" + } ] + } +} \ No newline at end of file diff --git a/opensrp-core/bin/src/test/resources/form/offsite_child_followup/model.xml b/opensrp-core/bin/src/test/resources/form/offsite_child_followup/model.xml new file mode 100644 index 0000000000..93436952d8 --- /dev/null +++ b/opensrp-core/bin/src/test/resources/form/offsite_child_followup/model.xml @@ -0,0 +1,1685 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + ${provider_province} + ${provider_city} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${today} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + static_instance-provinces-0 + kpk + + + static_instance-provinces-1 + sindh + + + static_instance-provinces-2 + balochistan + + + static_instance-provinces-3 + punjab + + + static_instance-provinces-4 + gilgit_baltistan + + + static_instance-provinces-5 + kashmir + + + static_instance-provinces-6 + fata + + + static_instance-provinces-7 + out_of_country + + + + + + + static_instance-ucs-0 + sindh + karachi + korangi + bilal_colony + + + static_instance-ucs-1 + sindh + karachi + korangi + nasir_colony + + + static_instance-ucs-2 + sindh + karachi + korangi + chakra_goth + + + static_instance-ucs-3 + sindh + karachi + korangi + mustafa_taj_colony + + + static_instance-ucs-4 + sindh + karachi + korangi + hundred_quarters + + + static_instance-ucs-5 + sindh + karachi + korangi + gulzar_colony + + + static_instance-ucs-6 + sindh + karachi + korangi + korangi_sector_33 + + + static_instance-ucs-7 + sindh + karachi + korangi + zaman_town + + + static_instance-ucs-8 + sindh + karachi + korangi + hasrat_mohani_colony + + + static_instance-ucs-9 + sindh + karachi + baldia + gulshan_e_ghazi + + + static_instance-ucs-10 + sindh + karachi + baldia + ittehad_town + + + static_instance-ucs-11 + sindh + karachi + baldia + islam_nagar + + + static_instance-ucs-12 + sindh + karachi + baldia + nai_abadi + + + static_instance-ucs-13 + sindh + karachi + baldia + saeedabad + + + static_instance-ucs-14 + sindh + karachi + baldia + muslim_mujahid_colony + + + static_instance-ucs-15 + sindh + karachi + baldia + muhajir_camp + + + static_instance-ucs-16 + sindh + karachi + baldia + rasheedabad + + + static_instance-ucs-17 + sindh + karachi + bin_qasim + ibrahim_hyderi + + + static_instance-ucs-18 + sindh + karachi + bin_qasim + rehri + + + static_instance-ucs-19 + sindh + karachi + bin_qasim + cattle_colony + + + static_instance-ucs-20 + sindh + karachi + bin_qasim + qaidabad + + + static_instance-ucs-21 + sindh + karachi + bin_qasim + landhi_colony + + + static_instance-ucs-22 + sindh + karachi + bin_qasim + gulshan_e_hadeed + + + static_instance-ucs-23 + sindh + karachi + bin_qasim + gaghar + + + static_instance-ucs-24 + sindh + karachi + gadap + murad_memon_goth + + + static_instance-ucs-25 + sindh + karachi + gadap + darsano_chana + + + static_instance-ucs-26 + sindh + karachi + gadap + gujro + + + static_instance-ucs-27 + sindh + karachi + gadap + songal + + + static_instance-ucs-28 + sindh + karachi + gadap + maymarabad + + + static_instance-ucs-29 + sindh + karachi + gadap + yousuf_goth + + + static_instance-ucs-30 + sindh + karachi + gadap + manghopir + + + static_instance-ucs-31 + sindh + karachi + gulberg + azizabad + + + static_instance-ucs-32 + sindh + karachi + gulberg + karimabad + + + static_instance-ucs-33 + sindh + karachi + gulberg + aisha_manzil + + + static_instance-ucs-34 + sindh + karachi + gulberg + ancholi + + + static_instance-ucs-35 + sindh + karachi + gulberg + naseerabad + + + static_instance-ucs-36 + sindh + karachi + gulberg + yaseenabad + + + static_instance-ucs-37 + sindh + karachi + gulberg + water_pump + + + static_instance-ucs-38 + sindh + karachi + gulberg + shafiq_mill_colony + + + static_instance-ucs-39 + sindh + karachi + gulshan + delhi_mercantile_society + + + static_instance-ucs-40 + sindh + karachi + gulshan + civic_centre + + + static_instance-ucs-41 + sindh + karachi + gulshan + pir_ilahi_buksh_colony + + + static_instance-ucs-42 + sindh + karachi + gulshan + essa_nagri + + + static_instance-ucs-43 + sindh + karachi + gulshan + gulshan_e_iqbal + + + static_instance-ucs-44 + sindh + karachi + gulshan + gillani_railway_station + + + static_instance-ucs-45 + sindh + karachi + gulshan + shanti_nagar + + + static_instance-ucs-46 + sindh + karachi + gulshan + jamali_colony + + + static_instance-ucs-47 + sindh + karachi + gulshan + gulshan_e_iqbal_ii + + + static_instance-ucs-48 + sindh + karachi + gulshan + pehlwan_goth + + + static_instance-ucs-49 + sindh + karachi + gulshan + matrovil_colony + + + static_instance-ucs-50 + sindh + karachi + gulshan + gulzar_e_hijri + + + static_instance-ucs-51 + sindh + karachi + gulshan + safooran_goth + + + static_instance-ucs-52 + sindh + karachi + jamshed + akhtar_colony + + + static_instance-ucs-53 + sindh + karachi + jamshed + manzoor_colony + + + static_instance-ucs-54 + sindh + karachi + jamshed + azam_basti + + + static_instance-ucs-55 + sindh + karachi + jamshed + chanesar_goth + + + static_instance-ucs-56 + sindh + karachi + jamshed + mahmudabad + + + static_instance-ucs-57 + sindh + karachi + jamshed + pechs + + + static_instance-ucs-58 + sindh + karachi + jamshed + pechs_ii + + + static_instance-ucs-59 + sindh + karachi + jamshed + jut_line + + + static_instance-ucs-60 + sindh + karachi + jamshed + central_jacob_lines + + + static_instance-ucs-61 + sindh + karachi + jamshed + jamshed_quarters + + + static_instance-ucs-62 + sindh + karachi + jamshed + garden_east + + + static_instance-ucs-63 + sindh + karachi + jamshed + soldier_bazar + + + static_instance-ucs-64 + sindh + karachi + jamshed + pakistan_quarters + + + static_instance-ucs-65 + sindh + karachi + kiamari + bhutta_village + + + static_instance-ucs-66 + sindh + karachi + kiamari + sultanabad + + + static_instance-ucs-67 + sindh + karachi + kiamari + kiamari_uc + + + static_instance-ucs-68 + sindh + karachi + kiamari + baba_bhit + + + static_instance-ucs-69 + sindh + karachi + kiamari + machar_colony + + + static_instance-ucs-70 + sindh + karachi + kiamari + maripur + + + static_instance-ucs-71 + sindh + karachi + kiamari + shershah + + + static_instance-ucs-72 + sindh + karachi + kiamari + gabo_pat + + + static_instance-ucs-73 + sindh + karachi + landhi + muzafarabad + + + static_instance-ucs-74 + sindh + karachi + landhi + muslimabad + + + static_instance-ucs-75 + sindh + karachi + landhi + dawood_chowrangi + + + static_instance-ucs-76 + sindh + karachi + landhi + moinabad + + + static_instance-ucs-77 + sindh + karachi + landhi + sharafi_goth + + + static_instance-ucs-78 + sindh + karachi + landhi + bhutto_nagar + + + static_instance-ucs-79 + sindh + karachi + landhi + khawaja_ajmeer_colony + + + static_instance-ucs-80 + sindh + karachi + landhi + landhi_uc + + + static_instance-ucs-81 + sindh + karachi + landhi + awami_colony + + + static_instance-ucs-82 + sindh + karachi + landhi + burmee_colony + + + static_instance-ucs-83 + sindh + karachi + landhi + korangi_uc + + + static_instance-ucs-84 + sindh + karachi + landhi + sherabad + + + static_instance-ucs-85 + sindh + karachi + liaquatabad + rizvia_society + + + static_instance-ucs-86 + sindh + karachi + liaquatabad + firdous_colony + + + static_instance-ucs-87 + sindh + karachi + liaquatabad + super_market + + + static_instance-ucs-88 + sindh + karachi + liaquatabad + dak_khana + + + static_instance-ucs-89 + sindh + karachi + liaquatabad + qasimabad + + + static_instance-ucs-90 + sindh + karachi + liaquatabad + bandhani_colony + + + static_instance-ucs-91 + sindh + karachi + liaquatabad + sharifabad + + + static_instance-ucs-92 + sindh + karachi + liaquatabad + commercial_area + + + static_instance-ucs-93 + sindh + karachi + liaquatabad + mujahid_colony + + + static_instance-ucs-94 + sindh + karachi + liaquatabad + nazimabad + + + static_instance-ucs-95 + sindh + karachi + liaquatabad + abbasi_shaheed + + + static_instance-ucs-96 + sindh + karachi + lyari + agra_taj_colony + + + static_instance-ucs-97 + sindh + karachi + lyari + daryaabad + + + static_instance-ucs-98 + sindh + karachi + lyari + nawabad + + + static_instance-ucs-99 + sindh + karachi + lyari + khada_memon_society + + + static_instance-ucs-100 + sindh + karachi + lyari + baghdadi + + + static_instance-ucs-101 + sindh + karachi + lyari + shah_baig_line + + + static_instance-ucs-102 + sindh + karachi + lyari + bihar_colony + + + static_instance-ucs-103 + sindh + karachi + lyari + ragiwara + + + static_instance-ucs-104 + sindh + karachi + lyari + singo_line + + + static_instance-ucs-105 + sindh + karachi + lyari + chakiwara + + + static_instance-ucs-106 + sindh + karachi + lyari + allama_iqbal_colony + + + static_instance-ucs-107 + sindh + karachi + malir + model_colony + + + static_instance-ucs-108 + sindh + karachi + malir + kala_board + + + static_instance-ucs-109 + sindh + karachi + malir + saudabad + + + static_instance-ucs-110 + sindh + karachi + malir + khokhra_par + + + static_instance-ucs-111 + sindh + karachi + malir + jafar_e_tayyar + + + static_instance-ucs-112 + sindh + karachi + malir + gharibabad + + + static_instance-ucs-113 + sindh + karachi + malir + ghazi_brohi_goth + + + static_instance-ucs-114 + sindh + karachi + new_karachi + kalyana + + + static_instance-ucs-115 + sindh + karachi + new_karachi + sir_syed_colony + + + static_instance-ucs-116 + sindh + karachi + new_karachi + fatima_jinnah_colony + + + static_instance-ucs-117 + sindh + karachi + new_karachi + godhra + + + static_instance-ucs-118 + sindh + karachi + new_karachi + abu_zar_ghaffari + + + static_instance-ucs-119 + sindh + karachi + new_karachi + hakim_ahsan + + + static_instance-ucs-120 + sindh + karachi + new_karachi + madina_colony + + + static_instance-ucs-121 + sindh + karachi + new_karachi + faisal_colony + + + static_instance-ucs-122 + sindh + karachi + new_karachi + khamiso_goth + + + static_instance-ucs-123 + sindh + karachi + new_karachi + mustufa_colony + + + static_instance-ucs-124 + sindh + karachi + new_karachi + khawaja_ajmeer_nagri + + + static_instance-ucs-125 + sindh + karachi + new_karachi + gulshan_e_saeed + + + static_instance-ucs-126 + sindh + karachi + new_karachi + shah_nawaz_bhutto_colony + + + static_instance-ucs-127 + sindh + karachi + north_nazimabad + paposh_nagar + + + static_instance-ucs-128 + sindh + karachi + north_nazimabad + pahar_ganj + + + static_instance-ucs-129 + sindh + karachi + north_nazimabad + khandu_goth + + + static_instance-ucs-130 + sindh + karachi + north_nazimabad + hyderi + + + static_instance-ucs-131 + sindh + karachi + north_nazimabad + sakhi_hassan + + + static_instance-ucs-132 + sindh + karachi + north_nazimabad + farooq_e_azam + + + static_instance-ucs-133 + sindh + karachi + north_nazimabad + nusrat_bhutto_colony + + + static_instance-ucs-134 + sindh + karachi + north_nazimabad + shadman_town + + + static_instance-ucs-135 + sindh + karachi + north_nazimabad + buffer_zone + + + static_instance-ucs-136 + sindh + karachi + north_nazimabad + buffer_zone_ii + + + static_instance-ucs-137 + sindh + karachi + orangi + mominabad + + + static_instance-ucs-138 + sindh + karachi + orangi + haryana_colony + + + static_instance-ucs-139 + sindh + karachi + orangi + hanifabad + + + static_instance-ucs-140 + sindh + karachi + orangi + mohammad_nagar + + + static_instance-ucs-141 + sindh + karachi + orangi + madina_colony_orangi + + + static_instance-ucs-142 + sindh + karachi + orangi + ghaziabad + + + static_instance-ucs-143 + sindh + karachi + orangi + chisti_nagar + + + static_instance-ucs-144 + sindh + karachi + orangi + bilal_colony_orangi + + + static_instance-ucs-145 + sindh + karachi + orangi + iqbal_baloch_colony + + + static_instance-ucs-146 + sindh + karachi + orangi + ghabool_town + + + static_instance-ucs-147 + sindh + karachi + orangi + data_nagar + + + static_instance-ucs-148 + sindh + karachi + orangi + mujahidabad + + + static_instance-ucs-149 + sindh + karachi + orangi + baloch_goth + + + static_instance-ucs-150 + sindh + karachi + saddar + old_haji_camp + + + static_instance-ucs-151 + sindh + karachi + saddar + garden + + + static_instance-ucs-152 + sindh + karachi + saddar + kharadar + + + static_instance-ucs-153 + sindh + karachi + saddar + city_railway_colony + + + static_instance-ucs-154 + sindh + karachi + saddar + nanak_wara + + + static_instance-ucs-155 + sindh + karachi + saddar + gazdarabad + + + static_instance-ucs-156 + sindh + karachi + saddar + millat_nagar_islam_pura + + + static_instance-ucs-157 + sindh + karachi + saddar + saddar_uc + + + static_instance-ucs-158 + sindh + karachi + saddar + civil_line + + + static_instance-ucs-159 + sindh + karachi + saddar + clifton + + + static_instance-ucs-160 + sindh + karachi + saddar + kehkashan + + + static_instance-ucs-161 + sindh + karachi + shah_faisal + natha_khan_goth + + + static_instance-ucs-162 + sindh + karachi + shah_faisal + pak_sadat_colony + + + static_instance-ucs-163 + sindh + karachi + shah_faisal + drigh_colony + + + static_instance-ucs-164 + sindh + karachi + shah_faisal + raita_plot + + + static_instance-ucs-165 + sindh + karachi + shah_faisal + moria_khan_goth + + + static_instance-ucs-166 + sindh + karachi + shah_faisal + rafa_e_aam_society + + + static_instance-ucs-167 + sindh + karachi + shah_faisal + al_falah_society + + + static_instance-ucs-168 + sindh + karachi + site + pak_colony + + + static_instance-ucs-169 + sindh + karachi + site + old_golimar + + + static_instance-ucs-170 + sindh + karachi + site + jahanabad + + + static_instance-ucs-171 + sindh + karachi + site + metrovil + + + static_instance-ucs-172 + sindh + karachi + site + bhawani_chali + + + static_instance-ucs-173 + sindh + karachi + site + frontier_colony + + + static_instance-ucs-174 + sindh + karachi + site + banaras_colony + + + static_instance-ucs-175 + sindh + karachi + site + qasba_colony + + + static_instance-ucs-176 + sindh + karachi + site + islamia_colony + + + static_instance-ucs-177 + na + na + na + other + + + static_instance-ucs-178 + na + na + na + not_applicable + + + + + + + static_instance-gender-0 + male + + + static_instance-gender-1 + female + + + static_instance-gender-2 + transgender + + + + + + + static_instance-vaccines-0 + bcg + + + static_instance-vaccines-1 + opv0 + + + static_instance-vaccines-2 + pcv1 + + + static_instance-vaccines-3 + opv1 + + + static_instance-vaccines-4 + penta11 + + + static_instance-vaccines-5 + pcv2 + + + static_instance-vaccines-6 + opv2 + + + static_instance-vaccines-7 + penta12 + + + static_instance-vaccines-8 + pcv3 + + + static_instance-vaccines-9 + opv3 + + + static_instance-vaccines-10 + penta13 + + + static_instance-vaccines-11 + ipv + + + static_instance-vaccines-12 + measles1 + + + static_instance-vaccines-13 + measles2 + + + + + + + static_instance-towns-0 + sindh + karachi + korangi + + + static_instance-towns-1 + sindh + karachi + landhi + + + static_instance-towns-2 + sindh + karachi + baldia + + + static_instance-towns-3 + sindh + karachi + bin_qasim + + + static_instance-towns-4 + sindh + karachi + gadap + + + static_instance-towns-5 + sindh + karachi + gulberg + + + static_instance-towns-6 + sindh + karachi + gulshan + + + static_instance-towns-7 + sindh + karachi + jamshed + + + static_instance-towns-8 + sindh + karachi + kiamari + + + static_instance-towns-9 + sindh + karachi + liaquatabad + + + static_instance-towns-10 + sindh + karachi + lyari + + + static_instance-towns-11 + sindh + karachi + malir + + + static_instance-towns-12 + sindh + karachi + new_karachi + + + static_instance-towns-13 + sindh + karachi + north_nazimabad + + + static_instance-towns-14 + sindh + karachi + orangi + + + static_instance-towns-15 + sindh + karachi + saddar + + + static_instance-towns-16 + sindh + karachi + shah_faisal + + + static_instance-towns-17 + sindh + karachi + site + + + static_instance-towns-18 + na + na + other + + + static_instance-towns-19 + na + na + not_applicable + + + + + + + static_instance-cities-0 + sindh + karachi + + + static_instance-cities-1 + punjab + hafizabad + + + static_instance-cities-2 + punjab + muzaffargarh + + + static_instance-cities-3 + na + other + + + static_instance-cities-4 + na + not_applicable + + + + + + + static_instance-yes_no-0 + yes + + + static_instance-yes_no-1 + no + + + + diff --git a/opensrp-core/bin/src/test/resources/form/offsite_woman_followup/form.json b/opensrp-core/bin/src/test/resources/form/offsite_woman_followup/form.json new file mode 100644 index 0000000000..c5c29a415b --- /dev/null +++ b/opensrp-core/bin/src/test/resources/form/offsite_woman_followup/form.json @@ -0,0 +1 @@ +{"name":"Offsite_Woman_Followup_Form","title":"دوسرے سینٹر میں رجسٹرڈ خواتین فالواپ رجسٹر - Off Site Woman Follow Up Form","sms_keyword":"offsite_woman_followup_form","default_language":"English","choices":{"provinces":[{"name":"kpk","label":{"Urdu":"خیبر پختون خواہ","English":"Khyber Pakhtunkhwa","Roman Urdu":"Khyber Pakhtunkhwa"}},{"name":"sindh","label":{"Urdu":"سندھ","English":"Sindh","Roman Urdu":"Sindh"}},{"name":"balochistan","label":{"Urdu":"بلوچستان","English":"Balochistan","Roman Urdu":"Balochistan"}},{"name":"punjab","label":{"Urdu":"پنجاب","English":"Punjab","Roman Urdu":"Punjab"}},{"name":"gilgit_baltistan","label":{"Urdu":"گلگت بلتستان","English":"Gilgit Baltistan","Roman Urdu":"Gilgit Baltistan"}},{"name":"kashmir","label":{"Urdu":"کشمیر","English":"Kashmir","Roman Urdu":"Kashmir"}},{"name":"fata","label":{"Urdu":"فاٹا","English":"FATA","Roman Urdu":"FATA"}},{"name":"out_of_country","label":{"Urdu":"ملک سے باہر","English":"Out of Country","Roman Urdu":"Mulk se baahir"}}],"ucs":[{"province":"sindh","city":"karachi","town":"korangi","name":"bilal_colony","label":{"Urdu":"بلال کالونی","Roman Urdu":"Bilal Colony","English":"Bilal Colony"}},{"province":"sindh","city":"karachi","town":"korangi","name":"nasir_colony","label":{"Urdu":"ناصر کالونی","Roman Urdu":"Nasir Colony","English":"Nasir Colony"}},{"province":"sindh","city":"karachi","town":"korangi","name":"chakra_goth","label":{"Urdu":"چکرا گوٹھ","Roman Urdu":"Chakra Goth","English":"Chakra Goth"}},{"province":"sindh","city":"karachi","town":"korangi","name":"mustafa_taj_colony","label":{"Urdu":"مصطفی تاج کالونی","Roman Urdu":"Mustafa Taj Colony","English":"Mustafa Taj Colony"}},{"province":"sindh","city":"karachi","town":"korangi","name":"hundred_quarters","label":{"Urdu":"ہنڈریڈ کوارٹر","Roman Urdu":"Hundred Quarters","English":"Hundred Quarters"}},{"province":"sindh","city":"karachi","town":"korangi","name":"gulzar_colony","label":{"Urdu":"گلزار کالونی","Roman Urdu":"Gulzar Colony","English":"Gulzar Colony"}},{"province":"sindh","city":"karachi","town":"korangi","name":"korangi_sector_33","label":{"Urdu":"کورنگی سیکٹر 33","Roman Urdu":"Korangi Sector 33","English":"Korangi Sector 33"}},{"province":"sindh","city":"karachi","town":"korangi","name":"zaman_town","label":{"Urdu":"زمان ٹاوَن","Roman Urdu":"Zaman Town","English":"Zaman Town"}},{"province":"sindh","city":"karachi","town":"korangi","name":"hasrat_mohani_colony","label":{"Urdu":"حسرت موہانی کالونی","Roman Urdu":"Hasrat Mohani Colony","English":"Hasrat Mohani Colony"}},{"province":"sindh","city":"karachi","town":"baldia","name":"gulshan_e_ghazi","label":{"Urdu":"گلشن غازی","Roman Urdu":"Gulshan-e-Ghazi","English":"Gulshan-e-Ghazi"}},{"province":"sindh","city":"karachi","town":"baldia","name":"ittehad_town","label":{"Urdu":"اتحاد ٹاوَن","Roman Urdu":"Ittehad Town","English":"Ittehad Town"}},{"province":"sindh","city":"karachi","town":"baldia","name":"islam_nagar","label":{"Urdu":"اسلام نگر","Roman Urdu":"Islam Nagar","English":"Islam Nagar"}},{"province":"sindh","city":"karachi","town":"baldia","name":"nai_abadi","label":{"Urdu":"نئی آبادی","Roman Urdu":"Nai Abadi","English":"Nai Abadi"}},{"province":"sindh","city":"karachi","town":"baldia","name":"saeedabad","label":{"Urdu":"سعید آباد","Roman Urdu":"Saeedabad","English":"Saeedabad"}},{"province":"sindh","city":"karachi","town":"baldia","name":"muslim_mujahid_colony","label":{"Urdu":"مسلم مجاہد کالونی","Roman Urdu":"Muslim Mujahid Colony","English":"Muslim Mujahid Colony"}},{"province":"sindh","city":"karachi","town":"baldia","name":"muhajir_camp","label":{"Urdu":"مہاجر کیمپ","Roman Urdu":"Muhajir Camp","English":"Muhajir Camp"}},{"province":"sindh","city":"karachi","town":"baldia","name":"rasheedabad","label":{"Urdu":"رشید آباد","Roman Urdu":"Rasheedabad","English":"Rasheedabad"}},{"province":"sindh","city":"karachi","town":"bin_qasim","name":"ibrahim_hyderi","label":{"Urdu":"ابراہیم حیدری","Roman Urdu":"Ibrahim Hyderi","English":"Ibrahim Hyderi"}},{"province":"sindh","city":"karachi","town":"bin_qasim","name":"rehri","label":{"Urdu":"رہڑی","Roman Urdu":"Rehri","English":"Rehri"}},{"province":"sindh","city":"karachi","town":"bin_qasim","name":"cattle_colony","label":{"Urdu":"کیٹل کالونی","Roman Urdu":"Cattle Colony","English":"Cattle Colony"}},{"province":"sindh","city":"karachi","town":"bin_qasim","name":"qaidabad","label":{"Urdu":"قائدآباد","Roman Urdu":"Qaidabad","English":"Qaidabad"}},{"province":"sindh","city":"karachi","town":"bin_qasim","name":"landhi_colony","label":{"Urdu":"لانڈھی کالونی","Roman Urdu":"Landhi Colony","English":"Landhi Colony"}},{"province":"sindh","city":"karachi","town":"bin_qasim","name":"gulshan_e_hadeed","label":{"Urdu":"گلشن حدید","Roman Urdu":"Gulshan-e-Hadeed","English":"Gulshan-e-Hadeed"}},{"province":"sindh","city":"karachi","town":"bin_qasim","name":"gaghar","label":{"Urdu":"گگر","Roman Urdu":"Gaghar","English":"Gaghar"}},{"province":"sindh","city":"karachi","town":"gadap","name":"murad_memon_goth","label":{"Urdu":"مراد میمن گوٹھ","Roman Urdu":"Murad Memon Goth","English":"Murad Memon Goth"}},{"province":"sindh","city":"karachi","town":"gadap","name":"darsano_chana","label":{"Urdu":"درشانو شنو","Roman Urdu":"Darsano Chana","English":"Darsano Chana"}},{"province":"sindh","city":"karachi","town":"gadap","name":"gujro","label":{"Urdu":"گجرو","Roman Urdu":"Gujro","English":"Gujro"}},{"province":"sindh","city":"karachi","town":"gadap","name":"songal","label":{"Urdu":"سنگل","Roman Urdu":"Songal","English":"Songal"}},{"province":"sindh","city":"karachi","town":"gadap","name":"maymarabad","label":{"Urdu":"معمار آباد","Roman Urdu":"Maymarabad","English":"Maymarabad"}},{"province":"sindh","city":"karachi","town":"gadap","name":"yousuf_goth","label":{"Urdu":"یوسف گوٹھ","Roman Urdu":"Yousuf Goth","English":"Yousuf Goth"}},{"province":"sindh","city":"karachi","town":"gadap","name":"manghopir","label":{"Urdu":"منگھوپیر","Roman Urdu":"Manghopir","English":"Manghopir"}},{"province":"sindh","city":"karachi","town":"gulberg","name":"azizabad","label":{"Urdu":"عزیز آباد","Roman Urdu":"Azizabad","English":"Azizabad"}},{"province":"sindh","city":"karachi","town":"gulberg","name":"karimabad","label":{"Urdu":"کریم آباد","Roman Urdu":"Karimabad","English":"Karimabad"}},{"province":"sindh","city":"karachi","town":"gulberg","name":"aisha_manzil","label":{"Urdu":"عائشہ منزل","Roman Urdu":"Aisha Manzil","English":"Aisha Manzil"}},{"province":"sindh","city":"karachi","town":"gulberg","name":"ancholi","label":{"Urdu":"انچولی","Roman Urdu":"Ancholi","English":"Ancholi"}},{"province":"sindh","city":"karachi","town":"gulberg","name":"naseerabad","label":{"Urdu":"نصیرآباد","Roman Urdu":"Naseerabad","English":"Naseerabad"}},{"province":"sindh","city":"karachi","town":"gulberg","name":"yaseenabad","label":{"Urdu":"یاسین آباد","Roman Urdu":"Yaseenabad","English":"Yaseenabad"}},{"province":"sindh","city":"karachi","town":"gulberg","name":"water_pump","label":{"Urdu":"واٹرپمپ","Roman Urdu":"Water Pump","English":"Water Pump"}},{"province":"sindh","city":"karachi","town":"gulberg","name":"shafiq_mill_colony","label":{"Urdu":"شفیق مل کالونی","Roman Urdu":"Shafiq Mill Colony","English":"Shafiq Mill Colony"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"delhi_mercantile_society","label":{"Urdu":"دہلی مرچنٹائل سوسائٹی","Roman Urdu":"Delhi Mercantile Society","English":"Delhi Mercantile Society"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"civic_centre","label":{"Urdu":"سوک سینٹر","Roman Urdu":"Civic Centre","English":"Civic Centre"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"pir_ilahi_buksh_colony","label":{"Urdu":"پیر الہی بخش کالونی","Roman Urdu":"Pir Ilahi Buksh Colony","English":"Pir Ilahi Buksh Colony"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"essa_nagri","label":{"Urdu":"عیسی نگری","Roman Urdu":"Essa Nagri","English":"Essa Nagri"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"gulshan_e_iqbal","label":{"Urdu":"گلشن اقبال","Roman Urdu":"Gulshan-e-Iqbal","English":"Gulshan-e-Iqbal"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"gillani_railway_station","label":{"Urdu":"گیلانی ریلوے اسٹیشن","Roman Urdu":"Gillani Railway Station","English":"Gillani Railway Station"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"shanti_nagar","label":{"Urdu":"شانتی نگر","Roman Urdu":"Shanti Nagar","English":"Shanti Nagar"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"jamali_colony","label":{"Urdu":"جمالی کالونی","Roman Urdu":"Jamali Colony","English":"Jamali Colony"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"gulshan_e_iqbal_ii","label":{"Urdu":"گلشن اقبال 2","Roman Urdu":"Gulshan-e-Iqbal II","English":"Gulshan-e-Iqbal II"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"pehlwan_goth","label":{"Urdu":"پہلوان گوٹھ","Roman Urdu":"Pehlwan Goth","English":"Pehlwan Goth"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"matrovil_colony","label":{"Urdu":"میٹروویل کالونی","Roman Urdu":"Matrovil Colony","English":"Matrovil Colony"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"gulzar_e_hijri","label":{"Urdu":"گلزار ہجری","Roman Urdu":"Gulzar-e-Hijri","English":"Gulzar-e-Hijri"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"safooran_goth","label":{"Urdu":"صفورا گوٹھ","Roman Urdu":"Safooran Goth","English":"Safooran Goth"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"akhtar_colony","label":{"Urdu":"اختر کالونی","Roman Urdu":"Akhtar Colony","English":"Akhtar Colony"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"manzoor_colony","label":{"Urdu":"منظور کالونی","Roman Urdu":"Manzoor Colony","English":"Manzoor Colony"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"azam_basti","label":{"Urdu":"اعظم بستی","Roman Urdu":"Azam Basti","English":"Azam Basti"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"chanesar_goth","label":{"Urdu":"چنیسر گوٹھ","Roman Urdu":"Chanesar Goth","English":"Chanesar Goth"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"mahmudabad","label":{"Urdu":"محمودآباد","Roman Urdu":"Mahmudabad","English":"Mahmudabad"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"pechs","label":{"Urdu":"پی۔ای۔سی۔ایچ۔ایس","Roman Urdu":"P.E.C.H.S.","English":"P.E.C.H.S."}},{"province":"sindh","city":"karachi","town":"jamshed","name":"pechs_ii","label":{"Urdu":"پی۔ای۔سی۔ایچ۔ایس 2","Roman Urdu":"P.E.C.H.S. II","English":"P.E.C.H.S. II"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"jut_line","label":{"Urdu":"جٹ لائن","Roman Urdu":"Jut Line","English":"Jut Line"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"central_jacob_lines","label":{"Urdu":"سینٹرل جیکب لائن","Roman Urdu":"Central Jacob Lines","English":"Central Jacob Lines"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"jamshed_quarters","label":{"Urdu":"جمشید کوارٹر","Roman Urdu":"Jamshed Quarters","English":"Jamshed Quarters"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"garden_east","label":{"Urdu":"گارڈن ایسٹ","Roman Urdu":"Garden East","English":"Garden East"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"soldier_bazar","label":{"Urdu":"سولجر بازار","Roman Urdu":"Soldier Bazar","English":"Soldier Bazar"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"pakistan_quarters","label":{"Urdu":"پاکستان کوارٹر","Roman Urdu":"Pakistan Quarters","English":"Pakistan Quarters"}},{"province":"sindh","city":"karachi","town":"kiamari","name":"bhutta_village","label":{"Urdu":"بھٹا ولیج","Roman Urdu":"Bhutta Village","English":"Bhutta Village"}},{"province":"sindh","city":"karachi","town":"kiamari","name":"sultanabad","label":{"Urdu":"سلطان آباد","Roman Urdu":"Sultanabad","English":"Sultanabad"}},{"province":"sindh","city":"karachi","town":"kiamari","name":"kiamari_uc","label":{"Urdu":"کیماری یوسی","Roman Urdu":"Kiamari UC","English":"Kiamari UC"}},{"province":"sindh","city":"karachi","town":"kiamari","name":"baba_bhit","label":{"Urdu":"بابا بھٹ","Roman Urdu":"Baba Bhit","English":"Baba Bhit"}},{"province":"sindh","city":"karachi","town":"kiamari","name":"machar_colony","label":{"Urdu":"مچھر کالونی","Roman Urdu":"Machar Colony","English":"Machar Colony"}},{"province":"sindh","city":"karachi","town":"kiamari","name":"maripur","label":{"Urdu":"ماڑی پور","Roman Urdu":"Maripur","English":"Maripur"}},{"province":"sindh","city":"karachi","town":"kiamari","name":"shershah","label":{"Urdu":"شیرشاہ","Roman Urdu":"SherShah","English":"SherShah"}},{"province":"sindh","city":"karachi","town":"kiamari","name":"gabo_pat","label":{"Urdu":"گابو پٹ","Roman Urdu":"Gabo Pat","English":"Gabo Pat"}},{"province":"sindh","city":"karachi","town":"landhi","name":"muzafarabad","label":{"Urdu":"مظفرآباد","Roman Urdu":"Muzafarabad","English":"Muzafarabad"}},{"province":"sindh","city":"karachi","town":"landhi","name":"muslimabad","label":{"Urdu":"مسلم آباد","Roman Urdu":"Muslimabad","English":"Muslimabad"}},{"province":"sindh","city":"karachi","town":"landhi","name":"dawood_chowrangi","label":{"Urdu":"داوَد چورنگی","Roman Urdu":"Dawood Chowrangi","English":"Dawood Chowrangi"}},{"province":"sindh","city":"karachi","town":"landhi","name":"moinabad","label":{"Urdu":"معین آباد","Roman Urdu":"Moinabad","English":"Moinabad"}},{"province":"sindh","city":"karachi","town":"landhi","name":"sharafi_goth","label":{"Urdu":"شرافی گوٹھ","Roman Urdu":"Sharafi Goth","English":"Sharafi Goth"}},{"province":"sindh","city":"karachi","town":"landhi","name":"bhutto_nagar","label":{"Urdu":"بھٹو نگر","Roman Urdu":"Bhutto Nagar","English":"Bhutto Nagar"}},{"province":"sindh","city":"karachi","town":"landhi","name":"khawaja_ajmeer_colony","label":{"Urdu":"خواجہ اجمیر کالونی","Roman Urdu":"Khawaja Ajmeer Colony","English":"Khawaja Ajmeer Colony"}},{"province":"sindh","city":"karachi","town":"landhi","name":"landhi_uc","label":{"Urdu":"لانڈھی یوسی","Roman Urdu":"Landhi UC","English":"Landhi UC"}},{"province":"sindh","city":"karachi","town":"landhi","name":"awami_colony","label":{"Urdu":"عوامی کالونی","Roman Urdu":"Awami Colony","English":"Awami Colony"}},{"province":"sindh","city":"karachi","town":"landhi","name":"burmee_colony","label":{"Urdu":"برمی کالونی","Roman Urdu":"Burmee Colony","English":"Burmee Colony"}},{"province":"sindh","city":"karachi","town":"landhi","name":"korangi_uc","label":{"Urdu":"کورنگی یوسی","Roman Urdu":"Korangi UC","English":"Korangi UC"}},{"province":"sindh","city":"karachi","town":"landhi","name":"sherabad","label":{"Urdu":"شیرآباد","Roman Urdu":"Sherabad","English":"Sherabad"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"rizvia_society","label":{"Urdu":"رضویہ سوسائٹی","Roman Urdu":"Rizvia Society","English":"Rizvia Society"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"firdous_colony","label":{"Urdu":"فردوس کالونی","Roman Urdu":"Firdous Colony","English":"Firdous Colony"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"super_market","label":{"Urdu":"سپر مارکیٹ","Roman Urdu":"Super Market","English":"Super Market"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"dak_khana","label":{"Urdu":"دک کھانہ","Roman Urdu":"Dak Khana","English":"Dak Khana"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"qasimabad","label":{"Urdu":"قاسم آباد","Roman Urdu":"Qasimabad","English":"Qasimabad"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"bandhani_colony","label":{"Urdu":"بندھانی کالونی","Roman Urdu":"Bandhani Colony","English":"Bandhani Colony"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"sharifabad","label":{"Urdu":"شریف آباد","Roman Urdu":"Sharifabad","English":"Sharifabad"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"commercial_area","label":{"Urdu":"کمرشل ایریا","Roman Urdu":"Commercial Area","English":"Commercial Area"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"mujahid_colony","label":{"Urdu":"مجاہد کالونی","Roman Urdu":"Mujahid Colony","English":"Mujahid Colony"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"nazimabad","label":{"Urdu":"ناظم آباد","Roman Urdu":"Nazimabad","English":"Nazimabad"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"abbasi_shaheed","label":{"Urdu":"عباسی شہید","Roman Urdu":"Abbasi Shaheed","English":"Abbasi Shaheed"}},{"province":"sindh","city":"karachi","town":"lyari","name":"agra_taj_colony","label":{"Urdu":"آگرہ تاج کالونی","Roman Urdu":"Agra Taj Colony","English":"Agra Taj Colony"}},{"province":"sindh","city":"karachi","town":"lyari","name":"daryaabad","label":{"Urdu":"دریاآباد","Roman Urdu":"Daryaabad","English":"Daryaabad"}},{"province":"sindh","city":"karachi","town":"lyari","name":"nawabad","label":{"Urdu":"نواآباد","Roman Urdu":"Nawabad","English":"Nawabad"}},{"province":"sindh","city":"karachi","town":"lyari","name":"khada_memon_society","label":{"Urdu":"خدا- میمن- سوساَٹی","Roman Urdu":"Khada Memon Society","English":"Khada Memon Society"}},{"province":"sindh","city":"karachi","town":"lyari","name":"baghdadi","label":{"Urdu":"بغدادی","Roman Urdu":"Baghdadi","English":"Baghdadi"}},{"province":"sindh","city":"karachi","town":"lyari","name":"shah_baig_line","label":{"Urdu":"شاھ باغ لائن","Roman Urdu":"Shah Baig Line","English":"Shah Baig Line"}},{"province":"sindh","city":"karachi","town":"lyari","name":"bihar_colony","label":{"Urdu":"بہار کالونی","Roman Urdu":"Bihar Colony","English":"Bihar Colony"}},{"province":"sindh","city":"karachi","town":"lyari","name":"ragiwara","label":{"Urdu":"راگی واڑا","Roman Urdu":"Ragiwara","English":"Ragiwara"}},{"province":"sindh","city":"karachi","town":"lyari","name":"singo_line","label":{"Urdu":"سنگولائن","Roman Urdu":"Singo Line","English":"Singo Line"}},{"province":"sindh","city":"karachi","town":"lyari","name":"chakiwara","label":{"Urdu":"چاکی واڑا","Roman Urdu":"Chakiwara","English":"Chakiwara"}},{"province":"sindh","city":"karachi","town":"lyari","name":"allama_iqbal_colony","label":{"Urdu":"علامہ اقبال کالونی","Roman Urdu":"Allama Iqbal Colony","English":"Allama Iqbal Colony"}},{"province":"sindh","city":"karachi","town":"malir","name":"model_colony","label":{"Urdu":"موڈل کالونی","Roman Urdu":"Model Colony","English":"Model Colony"}},{"province":"sindh","city":"karachi","town":"malir","name":"kala_board","label":{"Urdu":"کالا بورڈ","Roman Urdu":"Kala Board","English":"Kala Board"}},{"province":"sindh","city":"karachi","town":"malir","name":"saudabad","label":{"Urdu":"سعودآباد","Roman Urdu":"Saudabad","English":"Saudabad"}},{"province":"sindh","city":"karachi","town":"malir","name":"khokhra_par","label":{"Urdu":"کھوکھرا پار","Roman Urdu":"Khokhra Par","English":"Khokhra Par"}},{"province":"sindh","city":"karachi","town":"malir","name":"jafar_e_tayyar","label":{"Urdu":"جعفر تیار","Roman Urdu":"Jafar-e-Tayyar","English":"Jafar-e-Tayyar"}},{"province":"sindh","city":"karachi","town":"malir","name":"gharibabad","label":{"Urdu":"غریب آباد","Roman Urdu":"Gharibabad","English":"Gharibabad"}},{"province":"sindh","city":"karachi","town":"malir","name":"ghazi_brohi_goth","label":{"Urdu":"غازی بروہی گوٹھ","Roman Urdu":"Ghazi Brohi Goth","English":"Ghazi Brohi Goth"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"kalyana","label":{"Urdu":"کالیانہ","Roman Urdu":"Kalyana","English":"Kalyana"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"sir_syed_colony","label":{"Urdu":"سر سید کالونی","Roman Urdu":"Sir Syed Colony","English":"Sir Syed Colony"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"fatima_jinnah_colony","label":{"Urdu":"فاطمہ جناح کالونی","Roman Urdu":"Fatima Jinnah Colony","English":"Fatima Jinnah Colony"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"godhra","label":{"Urdu":"گودھرا","Roman Urdu":"Godhra","English":"Godhra"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"abu_zar_ghaffari","label":{"Urdu":"ابو زر غفاری","Roman Urdu":"Abu Zar Ghaffari","English":"Abu Zar Ghaffari"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"hakim_ahsan","label":{"Urdu":"حاکم احسان","Roman Urdu":"Hakim Ahsan","English":"Hakim Ahsan"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"madina_colony","label":{"Urdu":"مدینہ کالونی","Roman Urdu":"Madina Colony","English":"Madina Colony"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"faisal_colony","label":{"Urdu":"فیصل کالونی","Roman Urdu":"Faisal Colony","English":"Faisal Colony"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"khamiso_goth","label":{"Urdu":"خمیسو گوٹھ","Roman Urdu":"Khamiso Goth","English":"Khamiso Goth"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"mustufa_colony","label":{"Urdu":"مصطفی کالونی","Roman Urdu":"Mustufa Colony","English":"Mustufa Colony"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"khawaja_ajmeer_nagri","label":{"Urdu":"خواجہ اجمیر نگری","Roman Urdu":"Khawaja Ajmeer Nagri","English":"Khawaja Ajmeer Nagri"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"gulshan_e_saeed","label":{"Urdu":"گلشن سعید","Roman Urdu":"Gulshan-e-Saeed","English":"Gulshan-e-Saeed"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"shah_nawaz_bhutto_colony","label":{"Urdu":"شاہ نواز بھٹو کالونی","Roman Urdu":"Shah Nawaz Bhutto Colony","English":"Shah Nawaz Bhutto Colony"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"paposh_nagar","label":{"Urdu":"پاپوش نگر","Roman Urdu":"Paposh Nagar","English":"Paposh Nagar"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"pahar_ganj","label":{"Urdu":"پہاڑ گنج","Roman Urdu":"Pahar Ganj","English":"Pahar Ganj"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"khandu_goth","label":{"Urdu":"کھنڑو گوٹھ","Roman Urdu":"Khandu Goth","English":"Khandu Goth"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"hyderi","label":{"Urdu":"حیدری","Roman Urdu":"Hyderi","English":"Hyderi"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"sakhi_hassan","label":{"Urdu":"سخی حسن","Roman Urdu":"Sakhi Hassan","English":"Sakhi Hassan"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"farooq_e_azam","label":{"Urdu":"فاروق اعظم","Roman Urdu":"Farooq-e-Azam","English":"Farooq-e-Azam"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"nusrat_bhutto_colony","label":{"Urdu":"نصرت بھٹو کالونی","Roman Urdu":"Nusrat Bhutto Colony","English":"Nusrat Bhutto Colony"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"shadman_town","label":{"Urdu":"شادمان ٹاوَن","Roman Urdu":"Shadman Town","English":"Shadman Town"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"buffer_zone","label":{"Urdu":"بفرزون","Roman Urdu":"Buffer Zone","English":"Buffer Zone"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"buffer_zone_ii","label":{"Urdu":"بفرزون 2","Roman Urdu":"Buffer Zone II","English":"Buffer Zone II"}},{"province":"sindh","city":"karachi","town":"orangi","name":"mominabad","label":{"Urdu":"مومن آباد","Roman Urdu":"Mominabad","English":"Mominabad"}},{"province":"sindh","city":"karachi","town":"orangi","name":"haryana_colony","label":{"Urdu":"حریانہ کالونی","Roman Urdu":"Haryana Colony","English":"Haryana Colony"}},{"province":"sindh","city":"karachi","town":"orangi","name":"hanifabad","label":{"Urdu":"حنیف آباد","Roman Urdu":"Hanifabad","English":"Hanifabad"}},{"province":"sindh","city":"karachi","town":"orangi","name":"mohammad_nagar","label":{"Urdu":"محمد نگر","Roman Urdu":"Mohammad Nagar","English":"Mohammad Nagar"}},{"province":"sindh","city":"karachi","town":"orangi","name":"madina_colony_orangi","label":{"Urdu":"مدینہ کالونی اورنگی","Roman Urdu":"Madina Colony Orangi","English":"Madina Colony Orangi"}},{"province":"sindh","city":"karachi","town":"orangi","name":"ghaziabad","label":{"Urdu":"غازی آباد","Roman Urdu":"Ghaziabad","English":"Ghaziabad"}},{"province":"sindh","city":"karachi","town":"orangi","name":"chisti_nagar","label":{"Urdu":"چشتی نگر","Roman Urdu":"Chisti Nagar","English":"Chisti Nagar"}},{"province":"sindh","city":"karachi","town":"orangi","name":"bilal_colony_orangi","label":{"Urdu":"بلال کالونی اورنگی","Roman Urdu":"Bilal Colony Orangi","English":"Bilal Colony Orangi"}},{"province":"sindh","city":"karachi","town":"orangi","name":"iqbal_baloch_colony","label":{"Urdu":"اقبال بلوچ کالونی","Roman Urdu":"Iqbal Baloch Colony","English":"Iqbal Baloch Colony"}},{"province":"sindh","city":"karachi","town":"orangi","name":"ghabool_town","label":{"Urdu":"گبول ٹاوَن","Roman Urdu":"Ghabool Town","English":"Ghabool Town"}},{"province":"sindh","city":"karachi","town":"orangi","name":"data_nagar","label":{"Urdu":"داتا نگر","Roman Urdu":"Data Nagar","English":"Data Nagar"}},{"province":"sindh","city":"karachi","town":"orangi","name":"mujahidabad","label":{"Urdu":"مجاہد آباد","Roman Urdu":"Mujahidabad","English":"Mujahidabad"}},{"province":"sindh","city":"karachi","town":"orangi","name":"baloch_goth","label":{"Urdu":"بلوچ گوٹھ","Roman Urdu":"Baloch Goth","English":"Baloch Goth"}},{"province":"sindh","city":"karachi","town":"saddar","name":"old_haji_camp","label":{"Urdu":"پرانہ حاجی کیمپ","Roman Urdu":"Old Haji Camp","English":"Old Haji Camp"}},{"province":"sindh","city":"karachi","town":"saddar","name":"garden","label":{"Urdu":"گارڈن","Roman Urdu":"Garden","English":"Garden"}},{"province":"sindh","city":"karachi","town":"saddar","name":"kharadar","label":{"Urdu":"کھارادر","Roman Urdu":"Kharadar","English":"Kharadar"}},{"province":"sindh","city":"karachi","town":"saddar","name":"city_railway_colony","label":{"Urdu":"سٹی ریلوے کالونی","Roman Urdu":"City Railway Colony","English":"City Railway Colony"}},{"province":"sindh","city":"karachi","town":"saddar","name":"nanak_wara","label":{"Urdu":"ناناک واڑا","Roman Urdu":"Nanak Wara","English":"Nanak Wara"}},{"province":"sindh","city":"karachi","town":"saddar","name":"gazdarabad","label":{"Urdu":"گزدرآباد","Roman Urdu":"Gazdarabad","English":"Gazdarabad"}},{"province":"sindh","city":"karachi","town":"saddar","name":"millat_nagar_islam_pura","label":{"Urdu":"ملت نگر اسلام پورا","Roman Urdu":"Millat Nagar/Islam Pura","English":"Millat Nagar/Islam Pura"}},{"province":"sindh","city":"karachi","town":"saddar","name":"saddar_uc","label":{"Urdu":"صدر یو سی","Roman Urdu":"Saddar UC","English":"Saddar UC"}},{"province":"sindh","city":"karachi","town":"saddar","name":"civil_line","label":{"Urdu":"سول لائن","Roman Urdu":"Civil Line","English":"Civil Line"}},{"province":"sindh","city":"karachi","town":"saddar","name":"clifton","label":{"Urdu":"کلفٹن","Roman Urdu":"Clifton","English":"Clifton"}},{"province":"sindh","city":"karachi","town":"saddar","name":"kehkashan","label":{"Urdu":"کہکشان","Roman Urdu":"Kehkashan","English":"Kehkashan"}},{"province":"sindh","city":"karachi","town":"shah_faisal","name":"natha_khan_goth","label":{"Urdu":"ناتھا خان گوٹھ","Roman Urdu":"Natha Khan Goth","English":"Natha Khan Goth"}},{"province":"sindh","city":"karachi","town":"shah_faisal","name":"pak_sadat_colony","label":{"Urdu":"پاک صدر کالونی","Roman Urdu":"Pak Sadat Colony","English":"Pak Sadat Colony"}},{"province":"sindh","city":"karachi","town":"shah_faisal","name":"drigh_colony","label":{"Urdu":"ڈرگ کالونی","Roman Urdu":"Drigh Colony","English":"Drigh Colony"}},{"province":"sindh","city":"karachi","town":"shah_faisal","name":"raita_plot","label":{"Urdu":"رائتا پلاٹ","Roman Urdu":"Raita Plot","English":"Raita Plot"}},{"province":"sindh","city":"karachi","town":"shah_faisal","name":"moria_khan_goth","label":{"Urdu":"موریا خان گوٹھ","Roman Urdu":"Moria Khan Goth","English":"Moria Khan Goth"}},{"province":"sindh","city":"karachi","town":"shah_faisal","name":"rafa_e_aam_society","label":{"Urdu":"رفا عام سوسا ئٹی","Roman Urdu":"Rafa-e-Aam Society","English":"Rafa-e-Aam Society"}},{"province":"sindh","city":"karachi","town":"shah_faisal","name":"al_falah_society","label":{"Urdu":"الفلاح سوسا ئٹی","Roman Urdu":"Al-Falah Society","English":"Al-Falah Society"}},{"province":"sindh","city":"karachi","town":"site","name":"pak_colony","label":{"Urdu":"پاک کالونی","Roman Urdu":"Pak Colony","English":"Pak Colony"}},{"province":"sindh","city":"karachi","town":"site","name":"old_golimar","label":{"Urdu":"پرانہ گولی مار","Roman Urdu":"Old Golimar","English":"Old Golimar"}},{"province":"sindh","city":"karachi","town":"site","name":"jahanabad","label":{"Urdu":"جہان آباد","Roman Urdu":"Jahanabad","English":"Jahanabad"}},{"province":"sindh","city":"karachi","town":"site","name":"metrovil","label":{"Urdu":"میٹروویل","Roman Urdu":"Metrovil","English":"Metrovil"}},{"province":"sindh","city":"karachi","town":"site","name":"bhawani_chali","label":{"Urdu":"بہوانی چالی","Roman Urdu":"Bhawani Chali","English":"Bhawani Chali"}},{"province":"sindh","city":"karachi","town":"site","name":"frontier_colony","label":{"Urdu":"فرونٹر کالونی","Roman Urdu":"Frontier Colony","English":"Frontier Colony"}},{"province":"sindh","city":"karachi","town":"site","name":"banaras_colony","label":{"Urdu":"بنارس کالونی","Roman Urdu":"Banaras Colony","English":"Banaras Colony"}},{"province":"sindh","city":"karachi","town":"site","name":"qasba_colony","label":{"Urdu":"قصبہ کالونی","Roman Urdu":"Qasba Colony","English":"Qasba Colony"}},{"province":"sindh","city":"karachi","town":"site","name":"islamia_colony","label":{"Urdu":"اسلامیہ کالونی","Roman Urdu":"Islamia Colony","English":"Islamia Colony"}},{"province":"na","city":"na","town":"na","name":"other","label":{"Urdu":"دیگر","Roman Urdu":"Deegar","English":"Other"}},{"province":"na","city":"na","town":"na","name":"not_applicable","label":{"Urdu":"قابل اطلاق نہیں","Roman Urdu":"Qaabil-e-atlaaq nahi","English":"Not Applicable"}}],"gender":[{"instance":{"openmrs_code":"1534AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"male","label":{"Urdu":"مرد/ لڑکا","Roman Urdu":"Mard/larka","English":"Male"}},{"instance":{"openmrs_code":"1535AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"female","label":{"Urdu":"عورت/لڑکی","Roman Urdu":"Aurat/larki","English":"Female"}},{"instance":{"openmrs_code":"163163AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"transgender","label":{"Urdu":"خواجہ سرہ","Roman Urdu":"Khwaja sira","English":"Transgender"}}],"vaccines":[{"instance":{"openmrs_code":"84880AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"TT1","label":{"Urdu":"ٹی ٹی 1","Roman Urdu":"TT1","English":"TT1"}},{"instance":{"openmrs_code":"84880AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"TT2","label":{"Urdu":"ٹی ٹی 2","Roman Urdu":"TT2","English":"TT2"}},{"instance":{"openmrs_code":"84880AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"TT3","label":{"Urdu":"ٹی ٹی 3","Roman Urdu":"TT3","English":"TT3"}},{"instance":{"openmrs_code":"84880AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"TT4","label":{"Urdu":"ٹی ٹی 4","Roman Urdu":"TT4","English":"TT4"}},{"instance":{"openmrs_code":"84880AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"TT5","label":{"Urdu":"ٹی ٹی 5","Roman Urdu":"TT5","English":"TT5"}}],"towns":[{"province":"sindh","city":"karachi","name":"korangi","label":{"Urdu":"کورنگی","Roman Urdu":"Korangi","English":"Korangi"}},{"province":"sindh","city":"karachi","name":"landhi","label":{"Urdu":"لانڈھی","Roman Urdu":"Landhi","English":"Landhi"}},{"province":"sindh","city":"karachi","name":"baldia","label":{"Urdu":"بلدیہ","Roman Urdu":"Baldia","English":"Baldia"}},{"province":"sindh","city":"karachi","name":"bin_qasim","label":{"Urdu":"بن قاسم","Roman Urdu":"Bin Qasim","English":"Bin Qasim"}},{"province":"sindh","city":"karachi","name":"gadap","label":{"Urdu":"گڈاپ","Roman Urdu":"Gadap","English":"Gadap"}},{"province":"sindh","city":"karachi","name":"gulberg","label":{"Urdu":"گلبرگ","Roman Urdu":"Gulberg","English":"Gulberg"}},{"province":"sindh","city":"karachi","name":"gulshan","label":{"Urdu":"گلشن","Roman Urdu":"Gulshan","English":"Gulshan"}},{"province":"sindh","city":"karachi","name":"jamshed","label":{"Urdu":"جمشید","Roman Urdu":"Jamshed","English":"Jamshed"}},{"province":"sindh","city":"karachi","name":"kiamari","label":{"Urdu":"کیماری","Roman Urdu":"Kiamari","English":"Kiamari"}},{"province":"sindh","city":"karachi","name":"liaquatabad","label":{"Urdu":"لیاقت آباد","Roman Urdu":"Liaquatabad","English":"Liaquatabad"}},{"province":"sindh","city":"karachi","name":"lyari","label":{"Urdu":"لیاری","Roman Urdu":"Lyari","English":"Lyari"}},{"province":"sindh","city":"karachi","name":"malir","label":{"Urdu":"ملیر","Roman Urdu":"Malir","English":"Malir"}},{"province":"sindh","city":"karachi","name":"new_karachi","label":{"Urdu":"نیو کراچی","Roman Urdu":"New Karachi","English":"New Karachi"}},{"province":"sindh","city":"karachi","name":"north_nazimabad","label":{"Urdu":"نارتھ ناظم آباد","Roman Urdu":"North Nazimabad","English":"North Nazimabad"}},{"province":"sindh","city":"karachi","name":"orangi","label":{"Urdu":"اورنگی","Roman Urdu":"Orangi","English":"Orangi"}},{"province":"sindh","city":"karachi","name":"saddar","label":{"Urdu":"صدر","Roman Urdu":"Saddar","English":"Saddar"}},{"province":"sindh","city":"karachi","name":"shah_faisal","label":{"Urdu":"شاہ فیصل","Roman Urdu":"Shah Faisal","English":"Shah Faisal"}},{"province":"sindh","city":"karachi","name":"site","label":{"Urdu":"سائٹ","Roman Urdu":"S.I.T.E.","English":"S.I.T.E."}},{"province":"na","city":"na","name":"other","label":{"Urdu":"دیگر","Roman Urdu":"Deegar","English":"Other"}},{"province":"na","city":"na","name":"not_applicable","label":{"Urdu":"قابل اطلاق نہیں","Roman Urdu":"Qaabil-e-atlaaq nahi","English":"Not Applicable"}}],"cities":[{"province":"sindh","name":"karachi","label":{"Urdu":"کراچی","Roman Urdu":"Karachi","English":"Karachi"}},{"province":"punjab","name":"hafizabad","label":{"Urdu":"حافظ آباد","Roman Urdu":"Hafizabad","English":"Hafizabad"}},{"province":"punjab","name":"muzaffargarh","label":{"Urdu":"مظفر گڑھ","Roman Urdu":"Muzaffargarh","English":"Muzaffargarh"}},{"province":"na","name":"other","label":{"Urdu":"دیگر","Roman Urdu":"Deegar","English":"Other"}},{"province":"na","name":"not_applicable","label":{"Urdu":"قابل اطلاق نہیں","Roman Urdu":"Not Applicable","English":"Not Applicable"}}],"edd_lmp":[{"instance":{"openmrs_code":"5596AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"edd","label":{"Urdu":"زچگی کی متوقع تاریخ","Roman Urdu":"EDD","English":"EDD"}},{"instance":{"openmrs_code":"1427AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"lmp","label":{"Urdu":"پچھلی مہواری کی تاریخ","Roman Urdu":"LMP","English":"LMP"}},{"instance":{"openmrs_code":"159617AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"ultrasound","label":{"Urdu":"الٹرا سائونڈ","Roman Urdu":"Ultrasound","English":"Ultrasound"}},{"instance":{"openmrs_code":"1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"none","label":{"Urdu":"کوئی بھی نہیں","Roman Urdu":"Koi bhi nahi","English":"None of the above"}}],"yes_no":[{"instance":{"openmrs_code":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"yes","label":{"Urdu":"ہاں","Roman Urdu":"Yes","English":"Yes"}},{"instance":{"openmrs_code":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"no","label":{"Urdu":"نہیں","Roman Urdu":"No","English":"No"}}]},"instance":{"encounter_type":"Off Site Woman Follow Up"},"version":"201604080459","id_string":"offsite_woman_followup_form","type":"survey","children":[{"type":"hidden","name":"provider_uc"},{"type":"hidden","name":"provider_town"},{"type":"hidden","name":"provider_city"},{"type":"hidden","name":"provider_province"},{"type":"hidden","name":"existing_landmark"},{"type":"hidden","name":"existing_house_number"},{"type":"hidden","name":"existing_street"},{"type":"hidden","name":"existing_union_council"},{"type":"hidden","name":"existing_town"},{"type":"hidden","name":"existing_city_village"},{"type":"hidden","name":"existing_province"},{"type":"hidden","name":"existing_union_councilname"},{"type":"hidden","name":"existing_townname"},{"type":"hidden","name":"existing_city_villagename"},{"type":"hidden","name":"existing_provincename"},{"type":"hidden","name":"existing_first_name"},{"type":"hidden","name":"existing_last_name"},{"type":"hidden","name":"existing_father_name"},{"type":"hidden","name":"existing_husband_name"},{"type":"hidden","name":"existing_marriage"},{"type":"hidden","name":"existing_calc_dob_confirm"},{"type":"hidden","name":"existing_gender"},{"type":"hidden","name":"existing_ethnicity"},{"type":"hidden","name":"existing_client_reg_date"},{"type":"hidden","name":"existing_program_client_id"},{"type":"hidden","name":"existing_epi_card_number"},{"type":"hidden","name":"existing_reminders_approval"},{"type":"hidden","name":"existing_contact_phone_number"},{"type":"hidden","name":"e_tt1"},{"type":"hidden","name":"e_tt2"},{"type":"hidden","name":"e_tt3"},{"type":"hidden","name":"e_tt4"},{"type":"hidden","name":"e_tt5"},{"type":"hidden","name":"provider_id"},{"instance":{"openmrs_entity_id":"location_id","openmrs_entity":"encounter"},"type":"hidden","name":"provider_location_id"},{"type":"hidden","name":"provider_location_name"},{"type":"note","name":"provider_location_note","label":{"Urdu":"شہر: ${provider_city} ; ٹائون: ${provider_town} ; یوسی: ${provider_uc} ; سینٹرکا نام: ${provider_location_name}","English":"City: ${provider_city} ; Town: ${provider_town} ; UC: ${provider_uc} ; Center Name: ${provider_location_name}"}},{"instance":{"openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"start","name":"start"},{"instance":{"openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"end","name":"end"},{"instance":{"openmrs_entity_id":"163286AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"today","name":"today"},{"instance":{"openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"deviceid","name":"deviceid"},{"instance":{"openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"subscriberid","name":"subscriberid"},{"instance":{"openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"simserial","name":"simserial"},{"instance":{"openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"phonenumber","name":"phonenumber"},{"bind":{"required":"yes"},"type":"note","name":"client_reg_date_note","label":{"Urdu":"${existing_client_reg_date} :پروگرام میں اندراج کی تاریخ","Roman Urdu":"Program main andraaj ki tareekh: ${existing_client_reg_date}","English":"Client Registration date: ${existing_client_reg_date}"}},{"bind":{"required":"yes"},"type":"note","name":"program_client_id_note","label":{"Urdu":"${existing_program_client_id}:کلائنٹ کی پروگرام ائی ڈی","Roman Urdu":"Client ki program ID: ${existing_program_client_id}","English":"Program Client ID: ${existing_program_client_id}"}},{"bind":{"jr:constraintMsg":{"Urdu":"نمبر آٹھ ہندسوں پر مشتمل ہونا چاہئے","English":"Number should be 8 digits","Roman Urdu":"Number 8 hindason par mushtamil hona chahiye"},"required":"yes","constraint":"string-length(.) = 8"},"type":"integer","instance":{"openmrs_entity_id":"EPI Card Number","openmrs_entity":"person_attribute"},"name":"epi_card_number","label":{"Urdu":"ای پی آئی کارڈ نمبر: {existing_epi_card_number}$","English":"EPI Card Number: ${existing_epi_card_number}","Roman Urdu":"EPI Card Number: ${existing_epi_card_number}"}},{"bind":{"required":"yes"},"type":"note","name":"first_name_note","label":{"Urdu":"${existing_first_name}: نام","Roman Urdu":"Naam: ${existing_first_name}","English":"First Name: ${existing_first_name}"}},{"bind":{"required":"yes"},"type":"note","name":"last_name_note","label":{"Urdu":"والد کا نام: ${existing_last_name}","Roman Urdu":"Waalid ka naam: ${existing_last_name}","English":"Last name: ${existing_last_name}"}},{"bind":{"calculate":"date( today() - (${existing_calc_dob_confirm} div 365))"},"type":"calculate","name":"client_age","instance":{"openmrs_entity_id":"154384AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"}},{"type":"note","name":"birth_date_note","label":{"Urdu":"تاریخِ پیدائش: {existing_calc_dob_confirm}$ ({client_age}$) سال","English":"Birth date: ${existing_calc_dob_confirm} (${client_age}) years","Roman Urdu":"Tareekh-e-pedaaish: ${existing_calc_dob_confirm} (${client_age}) years"}},{"bind":{"required":"yes"},"type":"note","name":"gender_note","label":{"Urdu":"${existing_gender}: جنس","Roman Urdu":"Jins:${existing_gender}","English":"Gender: ${existing_gender}"}},{"type":"note","name":"father_name_note","label":{"Urdu":"والد کا نام: {existing_father_name}$","English":"Father's Name: ${existing_father_name}","Roman Urdu":"Waalid ka naam: ${existing_father_name}"}},{"type":"note","name":"marriage_note","label":{"Urdu":"شادی شدہ: {existing_marriage}$","English":"Married: ${existing_marriage}","Roman Urdu":"Shaadi shuda: ${existing_marriage}"}},{"type":"note","name":"husband_name_note","label":{"Urdu":"شوہر کا نام: {existing_husband_name}$","English":"Husband's name: ${existing_husband_name}","Roman Urdu":"Shohar ka naam: ${existing_husband_name}"}},{"bind":{"required":"yes"},"type":"note","name":"ethnicity_note","label":{"Urdu":"قومیت: {existing_ethnicity}$","Roman Urdu":"Qomiat: ${existing_ethnicity}","English":"Ethnicity: ${existing_ethnicity}"}},{"type":"note","name":"address","label":{"Urdu":"موجودہ پتہ: ${existing_house_number}, ${existing_street}, ${existing_landmark}, ${existing_union_councilname}, ${existing_townname}, ${existing_city_villagename}, ${existing_provincename}","English":"Current Address: ${existing_house_number}, ${existing_street}, ${existing_landmark}, ${existing_union_councilname}, ${existing_townname}, ${existing_city_villagename}, ${existing_provincename}","Roman Urdu":"Mojooda Address: ${existing_house_number}, ${existing_street}, ${existing_landmark}, ${existing_union_councilname}, ${existing_townname}, ${existing_city_villagename}, ${existing_provincename}"}},{"label":{"Urdu":"کیا آپ کا گھر کا پتہ بدلا ہے؟","English":"Has your home address changed?","Roman Urdu":"Kya aap ka ghar ka pata badla hai?"},"type":"select one","children":[{"instance":{"openmrs_code":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"yes","label":{"Urdu":"ہاں","Roman Urdu":"Yes","English":"Yes"}},{"instance":{"openmrs_code":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"no","label":{"Urdu":"نہیں","Roman Urdu":"No","English":"No"}}],"name":"address_change"},{"control":{"appearance":"minimal"},"name":"province","default":"${provider_province}","bind":{"relevant":"selected(${address_change}, 'yes')","required":"yes"},"label":{"Urdu":"صوبہ","Roman Urdu":"Suba","English":"Province"},"instance":{"openmrs_entity":"person_address","openmrs_entity_id":"stateProvince","openmrs_entity_parent":"usual_residence"},"type":"select one","children":[{"name":"kpk","label":{"Urdu":"خیبر پختون خواہ","English":"Khyber Pakhtunkhwa","Roman Urdu":"Khyber Pakhtunkhwa"}},{"name":"sindh","label":{"Urdu":"سندھ","English":"Sindh","Roman Urdu":"Sindh"}},{"name":"balochistan","label":{"Urdu":"بلوچستان","English":"Balochistan","Roman Urdu":"Balochistan"}},{"name":"punjab","label":{"Urdu":"پنجاب","English":"Punjab","Roman Urdu":"Punjab"}},{"name":"gilgit_baltistan","label":{"Urdu":"گلگت بلتستان","English":"Gilgit Baltistan","Roman Urdu":"Gilgit Baltistan"}},{"name":"kashmir","label":{"Urdu":"کشمیر","English":"Kashmir","Roman Urdu":"Kashmir"}},{"name":"fata","label":{"Urdu":"فاٹا","English":"FATA","Roman Urdu":"FATA"}},{"name":"out_of_country","label":{"Urdu":"ملک سے باہر","English":"Out of Country","Roman Urdu":"Mulk se baahir"}}]},{"control":{"appearance":"minimal"},"name":"city_village","choice_filter":"province=${province} or province='na'","default":"${provider_city}","bind":{"relevant":"selected(${address_change}, 'yes')","required":"yes"},"label":{"Urdu":"شہر","Roman Urdu":"Shehr","English":"City"},"itemset":"cities","instance":{"openmrs_entity":"person_address","openmrs_entity_id":"cityVillage","openmrs_entity_parent":"usual_residence"},"type":"select one"},{"control":{"appearance":"minimal"},"name":"town","choice_filter":"(province=${province} and city=${city_village} ) or city='na'","bind":{"relevant":"selected(${address_change}, 'yes')","required":"yes"},"label":{"Urdu":"ٹاٰئون/ قصبہ/ بستی","Roman Urdu":"Town / Qasbah / Basti","English":"Town"},"itemset":"towns","instance":{"openmrs_entity":"person_address","openmrs_entity_id":"town","openmrs_entity_parent":"usual_residence"},"type":"select one"},{"control":{"appearance":"minimal"},"name":"union_council","choice_filter":"(province=${province} and city=${city_village} and town=${town}) or town='na'","bind":{"relevant":"selected(${address_change}, 'yes')","required":"yes"},"label":{"Urdu":"یونین کونسل","Roman Urdu":"Union Council","English":"Union Council"},"itemset":"ucs","instance":{"openmrs_entity":"person_address","openmrs_entity_id":"subTown","openmrs_entity_parent":"usual_residence"},"type":"select one"},{"bind":{"relevant":"selected(${address_change}, 'yes')","required":"yes"},"type":"text","instance":{"openmrs_entity":"person_address","openmrs_entity_id":"house","openmrs_entity_parent":"usual_residence"},"name":"house_number","label":{"Urdu":"گھر کا نمبر","Roman Urdu":"Ghar ka number","English":"House Number"}},{"bind":{"relevant":"selected(${address_change}, 'yes')","required":"yes"},"type":"text","instance":{"openmrs_entity":"person_address","openmrs_entity_id":"street","openmrs_entity_parent":"usual_residence"},"name":"street","label":{"Urdu":"گلی/کالونی/محلہ","Roman Urdu":"Gali/Colony/Mohalla","English":"Street"}},{"bind":{"relevant":"selected(${address_change}, 'yes')","required":"yes"},"type":"text","instance":{"openmrs_entity":"person_address","openmrs_entity_id":"landmark","openmrs_entity_parent":"usual_residence"},"name":"landmark","label":{"Urdu":"گھر کے قریب کوئی مشہور جگہ","Roman Urdu":"Ghar ke qareeb koi mashoor jagah","English":"Land Mark"}},{"instance":{"openmrs_entity_id":"163277AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"geopoint","name":"center_gps","label":{"Urdu":"حاصل کردہ معلومات کی جگہ کے GPS کارڈینیٹس درج کریں","English":"Collect GPS coordinates of data entry location:","Roman Urdu":"Hasil karda malomaat ki jaga ke GPS coordinates darj karain"}},{"control":{"appearance":"minimal"},"name":"reminders_approval","bind":{"required":"yes"},"label":{"Urdu":"کیا آپ اپنے بچے کی اگلی ویکسین کی تاریخ کے لیے SMS موصول کرنا چاہتے ہیں؟ {existing_reminders_approval}$","English":"Are you willing to receive SMS reminders for your next visit? ${existing_reminders_approval}","Roman Urdu":"Kya aap apnay bachay ki agli vaccine ki tareekh ke liye SMS mausool karna chahtay hain? ${existing_reminders_approval}"},"instance":{"openmrs_entity_id":"163089AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"select one","children":[{"instance":{"openmrs_code":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"yes","label":{"Urdu":"ہاں","Roman Urdu":"Yes","English":"Yes"}},{"instance":{"openmrs_code":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"no","label":{"Urdu":"نہیں","Roman Urdu":"No","English":"No"}}]},{"bind":{"jr:constraintMsg":{"Urdu":"فون نمبر گیارہ ہندسوں پر مشتمل اور مندرجہ ذیل شکل میں ہونا چاہئے: *********03","English":"Phone number should be 11 digits in the following format: 03*********","Roman Urdu":"Phone number 11 hindason par mushtamil aur mundarja zail shakal main hona chahiey: 03*********"},"relevant":"${existing_reminders_approval}='yes'","constraint":"regex(., '^03[0-9]{9}$')"},"type":"text","instance":{"openmrs_entity_id":"159635AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"name":"contact_phone_number","label":{"Urdu":"موبائل نمبر:{existing_contact_phone_number}$","English":"Mobile Number: ${existing_contact_phone_number}","Roman Urdu":"Mobile Number: ${existing_contact_phone_number}"}},{"instance":{"openmrs_entity_id":"5272AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"label":{"Urdu":"کیا خا تون حاملہ ہیں؟","English":"Is female pregnant?","Roman Urdu":"Kia khatoon haamla hain?"},"type":"select one","children":[{"instance":{"openmrs_code":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"yes","label":{"Urdu":"ہاں","Roman Urdu":"Yes","English":"Yes"}},{"instance":{"openmrs_code":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"no","label":{"Urdu":"نہیں","Roman Urdu":"No","English":"No"}}],"name":"pregnant"},{"name":"edd_lmp","bind":{"relevant":"selected (${pregnant}, 'yes')"},"label":{"Urdu":"کیا آپ کو اپنی پچھلی ماہواری کی تاریخ، زچگی کی متوقع تاریخ، یا الٹرا سائونڈ کا علم ہے؟","English":"Do you know your LMP, EDD or last Ultrasound information?","Roman Urdu":"Kya aap ko apni pichli mahwaari ki tareekh, zachgi ki mutawaqqa tareekh ya ultrasound ka ilm hai?"},"instance":{"openmrs_entity_id":"160697AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"select one","children":[{"instance":{"openmrs_code":"5596AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"edd","label":{"Urdu":"زچگی کی متوقع تاریخ","Roman Urdu":"EDD","English":"EDD"}},{"instance":{"openmrs_code":"1427AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"lmp","label":{"Urdu":"پچھلی مہواری کی تاریخ","Roman Urdu":"LMP","English":"LMP"}},{"instance":{"openmrs_code":"159617AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"ultrasound","label":{"Urdu":"الٹرا سائونڈ","Roman Urdu":"Ultrasound","English":"Ultrasound"}},{"instance":{"openmrs_code":"1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"none","label":{"Urdu":"کوئی بھی نہیں","Roman Urdu":"Koi bhi nahi","English":"None of the above"}}]},{"bind":{"jr:constraintMsg":{"Urdu":"زچگی کی متوقع تاریخ ماضی کی نہیں ہو سکتی","Roman Urdu":"Zachgi ki mutawaqqa tareekh maazi ki nahi hosakti","English":"EDD cannot be in the past"},"relevant":"selected (${edd_lmp}, 'edd')","constraint":".>=${today}"},"type":"date","name":"edd","label":{"Urdu":"زچگی کی متوقع تاریخ","Roman Urdu":"Zachgi ki mutawaqqa tareekh","English":"EDD"}},{"bind":{"jr:constraintMsg":{"Urdu":"پچھلی ماہواری کی تاریخ مستقبل کی نہیں ہوسکتی","Roman Urdu":"Pichli mahwaari ki tareekh mustaqbil ki nahi hosakti","English":"LMP cannot be in the future"},"relevant":"selected (${edd_lmp}, 'lmp')","constraint":".<=${today}"},"type":"date","name":"lmp","label":{"Urdu":"پچھلی ماہواری کی تاریخ","Roman Urdu":"Pichli mahwaari ki tareekh","English":"LMP"}},{"bind":{"relevant":"selected (${edd_lmp}, 'ultrasound')"},"type":"date","instance":{"openmrs_entity_id":"163165AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"name":"ultrasound_date","label":{"Urdu":"الٹرا سائونڈ کی تاریخ","English":"Ultrasound Date","Roman Urdu":"Ultrasound ki tareekh"}},{"bind":{"relevant":"selected (${edd_lmp}, 'ultrasound')"},"type":"integer","name":"ultrasound_weeks","label":{"Urdu":"الٹرا سائونڈ کی مدد سے حمل کی مدت [ہفتوں میں]","Roman Urdu":"Ultrasound ki madad se hamal ki muddat (hafton me)","English":"Gestational age determined by ultrasound"}},{"bind":{"calculate":"date(${lmp}+280)"},"type":"calculate","name":"edd_calc_lmp"},{"bind":{"calculate":"date((280-(${ultrasound_weeks}*7)+${ultrasound_date} ))"},"type":"calculate","name":"edd_calc_ultrasound"},{"bind":{"calculate":"format-date(${edd_calc_lmp}, '%Y-%n-%e')"},"type":"calculate","name":"edd_calc_lmp_formatted"},{"bind":{"calculate":"format-date(${edd_calc_ultrasound}, '%Y-%n-%e')"},"type":"calculate","name":"edd_calc_ultrasound_formatted"},{"bind":{"calculate":"date(${edd}-280)"},"type":"calculate","name":"lmp_calc_edd"},{"bind":{"calculate":"date(${ultrasound_date}-(${ultrasound_weeks}*7))"},"type":"calculate","name":"lmp_calc_ultrasound"},{"bind":{"calculate":"format-date(${lmp_calc_edd}, '%Y-%n-%e')"},"type":"calculate","name":"lmp_calc_edd_formatted"},{"bind":{"calculate":"format-date(${lmp_calc_ultrasound}, '%Y-%n-%e')"},"type":"calculate","name":"lmp_calc_ultrasound_formatted"},{"bind":{"calculate":"if(${edd_lmp}='lmp',${edd_calc_lmp_formatted},if(${edd_lmp}='edd',${edd} ,if(${edd_lmp}='ultrasound',${edd_calc_ultrasound_formatted},'')))"},"type":"calculate","name":"final_edd","instance":{"openmrs_entity_id":"5596AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"}},{"bind":{"calculate":"if(${edd_lmp}='lmp',${lmp},if(${edd_lmp}='edd',${lmp_calc_edd_formatted} ,if(${edd_lmp}='ultrasound',${lmp_calc_ultrasound_formatted},'')))"},"type":"calculate","name":"final_lmp","instance":{"openmrs_entity_id":"1427AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"}},{"bind":{"calculate":"int((${vaccination_date} - (${edd}-280))div7)"},"type":"calculate","name":"ga_edd"},{"bind":{"calculate":"int((${vaccination_date} - ${lmp})div7)"},"type":"calculate","name":"ga_lmp"},{"bind":{"calculate":"int((${vaccination_date} -(${ultrasound_date}-(${ultrasound_weeks}*7)))div7)"},"type":"calculate","name":"ga_ult"},{"bind":{"relevant":"selected (${pregnant}, 'yes')"},"type":"note","name":"final_edd_note","label":{"Urdu":"${final_edd}: زچگی کی متوقع تاریخ","Roman Urdu":"Zachgi ki mutawaqqa tareekh: ${final_edd}","English":"EDD: ${final_edd}"}},{"bind":{"relevant":"selected (${pregnant}, 'yes')"},"type":"note","name":"final_lmp_note","label":{"Urdu":"پچھلی ماہواری کی تاریخ :{final_lmp}$","Roman Urdu":"Pichli mahwaari ki tareekh: ${final_lmp}","English":"LMP: ${final_lmp}"}},{"bind":{"calculate":"if(${edd_lmp}='lmp',${ga_lmp},if(${edd_lmp}='edd',${ga_edd} ,if(${edd_lmp}='ultrasound',${ga_ult},'')))"},"type":"calculate","name":"final_ga","instance":{"openmrs_entity_id":"163166AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"}},{"bind":{"relevant":"selected (${pregnant}, 'yes')"},"type":"note","name":"final_ga_note","label":{"Urdu":"حمل کی مُدّت: {final_ga}$ ہفتے","Roman Urdu":"Hamal ki muddat: ${final_ga} weeks","English":"GA: ${final_ga} weeks"}},{"name":"vaccines","choice_filter":"name != if( ${e_tt1} != '', 'TT1' , '') and \nname != if( ${e_tt2} != '', 'TT2' , '') and \nname != if( ${e_tt3} != '', 'TT3' , '') and \nname != if( ${e_tt4} != '', 'TT4' , '') and \nname != if( ${e_tt5} != '', 'TT5' , '')","default":"minimal","label":{"Urdu":"پچھلی تاریخ جب کسی اور سینٹر پر ٹیکہ لگوایا گیا یا قطرے پلائے گئے","Roman Urdu":"Pichli tareekh jab kissi aur center par teeka lagwaya gaya ya katray pilaey gaye","English":"Retro vaccines"},"itemset":"vaccines","instance":{"openmrs_entity":"concept","openmrs_entity_id":"984AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"1421AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"type":"select all that apply"},{"bind":{"relevant":"selected(${vaccines},'TT1')","constraint":"(.<=${today} and .<=${existing_client_reg_date})"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"tt1_retro","label":{"Urdu":"ٹی ٹی 1","Roman Urdu":"TT1","English":"TT1"}},{"bind":{"relevant":"selected(${vaccines},'TT1')","calculate":"1"},"type":"calculate","name":"tt_1_dose","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines},'TT2')","constraint":"(.<=${today} and .>=${tt1_retro} and ((selected(${vaccines}, 'TT1'))))"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"tt2_retro","label":{"Urdu":"ٹی ٹی 2","Roman Urdu":"TT2","English":"TT2"}},{"bind":{"relevant":"selected(${vaccines},'TT2')","calculate":"2"},"type":"calculate","name":"tt_2_dose","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines},'TT3')","constraint":"(.<=${today} and .>=${tt2_retro} and ((selected(${vaccines}, 'TT2'))))"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"tt3_retro","label":{"Urdu":"ٹی ٹی 3","Roman Urdu":"TT3","English":"TT3"}},{"bind":{"relevant":"selected(${vaccines},'TT3')","calculate":"3"},"type":"calculate","name":"tt_3_dose","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines},'TT4')","constraint":"(.<=${today} and .>=${tt3_retro} and ((selected(${vaccines}, 'TT3'))))"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"tt4_retro","label":{"Urdu":"ٹی ٹی 4","Roman Urdu":"TT4","English":"TT4"}},{"bind":{"relevant":"selected(${vaccines},'TT4')","calculate":"4"},"type":"calculate","name":"tt_4_dose","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"name":"vaccines_2","choice_filter":"name != if( ${e_tt1} != '', 'TT1' , '') and \nname != if( ${e_tt2} != '', 'TT2' , '') and \nname != if( ${e_tt3} != '', 'TT3' , '') and \nname != if( ${e_tt4} != '', 'TT4' , '') and \nname != if( ${e_tt5} != '', 'TT5' , '') and \nname != if( selected(${vaccines}, 'TT1') , 'TT1', '') and \nname != if( selected(${vaccines}, 'TT2') , 'TT2', '') and \nname != if( selected(${vaccines}, 'TT3') , 'TT3', '') and \nname != if( selected(${vaccines}, 'TT4') , 'TT4', '') and \nname != if( selected(${vaccines}, 'TT5') , 'TT5', '')","bind":{"required":"yes"},"label":{"Urdu":"آج کون کون سی ویکسین دی گئی ہیں؟","Roman Urdu":"Aaj kon kon si vaccine di gai hain?","English":"Vaccine administered today"},"itemset":"vaccines","instance":{"openmrs_entity":"concept","openmrs_entity_id":"984AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"1441AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"type":"select all that apply"},{"bind":{"required":"yes"},"type":"date","instance":{"openmrs_entity_id":"encounter_date","openmrs_entity":"encounter"},"name":"vaccination_date","label":{"Urdu":"تاریخ","English":"Vaccination date","Roman Urdu":"Tareekh"}},{"bind":{"calculate":"if(selected(${vaccines_2}, 'TT1'),${vaccination_date},'')"},"type":"calculate","name":"tt1","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines_2},'TT1')","calculate":"1"},"type":"calculate","name":"tt_1_dose_today","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"calculate":"if(selected(${vaccines_2}, 'TT2'),${vaccination_date},'')"},"type":"calculate","name":"tt2","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines_2},'TT2')","calculate":"2"},"type":"calculate","name":"tt_2_dose_today","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"calculate":"if(selected(${vaccines_2}, 'TT3'),${vaccination_date},'')"},"type":"calculate","name":"tt3","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines_2},'TT3')","calculate":"3"},"type":"calculate","name":"tt_3_dose_today","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"calculate":"if(selected(${vaccines_2}, 'TT4'),${vaccination_date},'')"},"type":"calculate","name":"tt4","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines_2},'TT4')","calculate":"4"},"type":"calculate","name":"tt_4_dose_today","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"calculate":"if(selected(${vaccines_2}, 'TT5'),${vaccination_date},'')"},"type":"calculate","name":"tt5","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines_2},'TT5')","calculate":"5"},"type":"calculate","name":"tt_5_dose_today","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"control":{"bodyless":true},"type":"group","children":[{"bind":{"readonly":"true()","calculate":"concat('uuid:', uuid())"},"type":"calculate","name":"instanceID"}],"name":"meta"}]} \ No newline at end of file diff --git a/opensrp-core/bin/src/test/resources/form/offsite_woman_followup/form.xml b/opensrp-core/bin/src/test/resources/form/offsite_woman_followup/form.xml new file mode 100644 index 0000000000..a2f6cb48d4 --- /dev/null +++ b/opensrp-core/bin/src/test/resources/form/offsite_woman_followup/form.xml @@ -0,0 +1,1439 @@ +
+ + +

دوسرے سینٹر میں رجسٹرڈ خواتین فالواپ رجسٹر - Off Site Woman Follow Up Form

+
+
+ + کیا آپ کا گھر کا پتہ بدلا ہے؟ + Kya aap ka ghar ka pata badla hai? + + Has your home address changed? +
+ + +
+
+
+
+ + کیا خا تون حاملہ ہیں؟ + Kia khatoon haamla hain? + + Is female pregnant? +
+ + +
+
+
+
+ + کیا آپ کو اپنی پچھلی ماہواری کی تاریخ، زچگی کی متوقع تاریخ، یا الٹرا سائونڈ کا علم ہے؟ + Kya aap ko apni pichli mahwaari ki tareekh, zachgi ki mutawaqqa tareekh ya ultrasound ka ilm hai? + + Do you know your LMP, EDD or last Ultrasound information? +
+ + + + +
+
+
+
+ + پچھلی تاریخ جب کسی اور سینٹر پر ٹیکہ لگوایا گیا یا قطرے پلائے گئے + Pichli tareekh jab kissi aur center par teeka lagwaya gaya ya katray pilaey gaye + + Retro vaccines +
+ + + ٹی ٹی 1 + TT1 + + TT1 + ٹی ٹی 2 + TT2 + + TT2 + ٹی ٹی 3 + TT3 + + TT3 + ٹی ٹی 4 + TT4 + + TT4 + ٹی ٹی 5 + TT5 + + TT5 +
+
+
+
+ + آج کون کون سی ویکسین دی گئی ہیں؟ + Aaj kon kon si vaccine di gai hain? + + Vaccine administered today + * +
+ + + ٹی ٹی 1 + TT1 + + TT1 + ٹی ٹی 2 + TT2 + + TT2 + ٹی ٹی 3 + TT3 + + TT3 + ٹی ٹی 4 + TT4 + + TT4 + ٹی ٹی 5 + TT5 + + TT5 +
+
+
+ + diff --git a/opensrp-core/bin/src/test/resources/form/offsite_woman_followup/form_definition.json b/opensrp-core/bin/src/test/resources/form/offsite_woman_followup/form_definition.json new file mode 100644 index 0000000000..4353ee25d1 --- /dev/null +++ b/opensrp-core/bin/src/test/resources/form/offsite_woman_followup/form_definition.json @@ -0,0 +1,372 @@ +{ + "form_data_definition_version" : "1", + "form" : { + "bind_type" : "pkwoman", + "default_bind_path" : "/model/instance/Offsite_Woman_Followup_Form/", + "fields" : [ { + "name" : "id", + "shouldLoadValue" : true + }, { + "name" : "provider_uc", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/provider_uc", + "shouldLoadValue" : true + }, { + "name" : "provider_town", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/provider_town", + "shouldLoadValue" : true + }, { + "name" : "provider_city", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/provider_city", + "shouldLoadValue" : true + }, { + "name" : "provider_province", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/provider_province", + "shouldLoadValue" : true + }, { + "name" : "existing_landmark", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/existing_landmark", + "shouldLoadValue" : true + }, { + "name" : "existing_house_number", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/existing_house_number", + "shouldLoadValue" : true + }, { + "name" : "existing_street", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/existing_street", + "shouldLoadValue" : true + }, { + "name" : "existing_union_council", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/existing_union_council", + "shouldLoadValue" : true + }, { + "name" : "existing_town", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/existing_town", + "shouldLoadValue" : true + }, { + "name" : "existing_city_village", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/existing_city_village", + "shouldLoadValue" : true + }, { + "name" : "existing_province", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/existing_province", + "shouldLoadValue" : true + }, { + "name" : "existing_union_councilname", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/existing_union_councilname", + "shouldLoadValue" : true + }, { + "name" : "existing_townname", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/existing_townname", + "shouldLoadValue" : true + }, { + "name" : "existing_city_villagename", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/existing_city_villagename", + "shouldLoadValue" : true + }, { + "name" : "existing_provincename", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/existing_provincename", + "shouldLoadValue" : true + }, { + "name" : "existing_first_name", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/existing_first_name", + "shouldLoadValue" : true + }, { + "name" : "existing_last_name", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/existing_last_name", + "shouldLoadValue" : true + }, { + "name" : "existing_father_name", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/existing_father_name", + "shouldLoadValue" : true + }, { + "name" : "existing_husband_name", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/existing_husband_name", + "shouldLoadValue" : true + }, { + "name" : "existing_marriage", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/existing_marriage", + "shouldLoadValue" : true + }, { + "name" : "existing_birthdate", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/existing_calc_dob_confirm", + "shouldLoadValue" : true + }, { + "name" : "existing_gender", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/existing_gender", + "shouldLoadValue" : true + }, { + "name" : "existing_ethnicity", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/existing_ethnicity", + "shouldLoadValue" : true + }, { + "name" : "existing_client_reg_date", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/existing_client_reg_date", + "shouldLoadValue" : true + }, { + "name" : "existing_program_client_id", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/existing_program_client_id", + "shouldLoadValue" : true + }, { + "name" : "existing_epi_card_number", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/existing_epi_card_number", + "shouldLoadValue" : true + }, { + "name" : "e_tt1", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/e_tt1", + "shouldLoadValue" : true + }, { + "name" : "e_tt2", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/e_tt2", + "shouldLoadValue" : true + }, { + "name" : "e_tt3", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/e_tt3", + "shouldLoadValue" : true + }, { + "name" : "e_tt4", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/e_tt4", + "shouldLoadValue" : true + }, { + "name" : "e_tt5", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/e_tt5", + "shouldLoadValue" : true + }, { + "name" : "provider_id", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/provider_id", + "shouldLoadValue" : true + }, { + "name" : "provider_location_id", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/provider_location_id", + "shouldLoadValue" : true + }, { + "name" : "provider_location_name", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/provider_location_name", + "shouldLoadValue" : true + }, { + "name" : "provider_location_note", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/provider_location_note" + }, { + "name" : "start", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/start" + }, { + "name" : "end", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/end" + }, { + "name" : "today", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/today" + }, { + "name" : "deviceid", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/deviceid" + }, { + "name" : "subscriberid", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/subscriberid" + }, { + "name" : "simserial", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/simserial" + }, { + "name" : "phonenumber", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/phonenumber" + }, { + "name" : "client_reg_date_note", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/client_reg_date_note" + }, { + "name" : "program_client_id_note", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/program_client_id_note" + }, { + "name" : "epi_card_number", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/epi_card_number" + }, { + "name" : "first_name_note", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/first_name_note" + }, { + "name" : "last_name_note", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/last_name_note" + }, { + "name" : "client_age", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/client_age" + }, { + "name" : "birth_date_note", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/birth_date_note" + }, { + "name" : "gender_note", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/gender_note" + }, { + "name" : "father_name_note", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/father_name_note" + }, { + "name" : "marriage_note", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/marriage_note" + }, { + "name" : "husband_name_note", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/husband_name_note" + }, { + "name" : "ethnicity_note", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/ethnicity_note" + }, { + "name" : "address", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/address" + }, { + "name" : "address_change", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/address_change" + }, { + "name" : "province", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/province" + }, { + "name" : "city_village", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/city_village" + }, { + "name" : "town", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/town" + }, { + "name" : "union_council", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/union_council" + }, { + "name" : "house_number", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/house_number" + }, { + "name" : "street", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/street" + }, { + "name" : "landmark", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/landmark" + }, { + "name" : "center_gps", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/center_gps" + }, { + "name" : "pregnant", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/pregnant" + }, { + "name" : "edd_lmp", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/edd_lmp" + }, { + "name" : "edd", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/edd" + }, { + "name" : "lmp", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/lmp" + }, { + "name" : "ultrasound_date", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/ultrasound_date" + }, { + "name" : "ultrasound_weeks", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/ultrasound_weeks" + }, { + "name" : "edd_calc_lmp", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/edd_calc_lmp" + }, { + "name" : "edd_calc_ultrasound", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/edd_calc_ultrasound" + }, { + "name" : "edd_calc_lmp_formatted", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/edd_calc_lmp_formatted" + }, { + "name" : "edd_calc_ultrasound_formatted", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/edd_calc_ultrasound_formatted" + }, { + "name" : "lmp_calc_edd", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/lmp_calc_edd" + }, { + "name" : "lmp_calc_ultrasound", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/lmp_calc_ultrasound" + }, { + "name" : "lmp_calc_edd_formatted", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/lmp_calc_edd_formatted" + }, { + "name" : "lmp_calc_ultrasound_formatted", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/lmp_calc_ultrasound_formatted" + }, { + "name" : "final_edd", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/final_edd" + }, { + "name" : "final_lmp", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/final_lmp" + }, { + "name" : "ga_edd", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/ga_edd" + }, { + "name" : "ga_lmp", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/ga_lmp" + }, { + "name" : "ga_ult", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/ga_ult" + }, { + "name" : "final_edd_note", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/final_edd_note" + }, { + "name" : "final_lmp_note", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/final_lmp_note" + }, { + "name" : "final_ga", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/final_ga" + }, { + "name" : "final_ga_note", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/final_ga_note" + }, { + "name" : "vaccines", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/vaccines" + }, { + "name" : "tt1_retro", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/tt1_retro" + }, { + "name" : "tt_1_dose", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/tt_1_dose" + }, { + "name" : "tt2_retro", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/tt2_retro" + }, { + "name" : "tt_2_dose", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/tt_2_dose" + }, { + "name" : "tt3_retro", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/tt3_retro" + }, { + "name" : "tt_3_dose", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/tt_3_dose" + }, { + "name" : "tt4_retro", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/tt4_retro" + }, { + "name" : "tt_4_dose", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/tt_4_dose" + }, { + "name" : "vaccines_2", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/vaccines_2" + }, { + "name" : "vaccination_date", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/vaccination_date" + }, { + "name" : "tt1", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/tt1" + }, { + "name" : "tt_1_dose_today", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/tt_1_dose_today" + }, { + "name" : "tt2", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/tt2" + }, { + "name" : "tt_2_dose_today", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/tt_2_dose_today" + }, { + "name" : "tt3", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/tt3" + }, { + "name" : "tt_3_dose_today", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/tt_3_dose_today" + }, { + "name" : "tt4", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/tt4" + }, { + "name" : "tt_4_dose_today", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/tt_4_dose_today" + }, { + "name" : "tt5", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/tt5" + }, { + "name" : "tt_5_dose_today", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/tt_5_dose_today" + }, { + "name" : "instanceID", + "bind" : "/model/instance/Offsite_Woman_Followup_Form/meta/instanceID" + } ] + } +} \ No newline at end of file diff --git a/opensrp-core/bin/src/test/resources/form/offsite_woman_followup/model.xml b/opensrp-core/bin/src/test/resources/form/offsite_woman_followup/model.xml new file mode 100644 index 0000000000..2b5e6a2d81 --- /dev/null +++ b/opensrp-core/bin/src/test/resources/form/offsite_woman_followup/model.xml @@ -0,0 +1,1643 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + ${provider_province} + ${provider_city} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + minimal + + + + + + + + + + + + + + + + + + + + + + + + + + + + + static_instance-provinces-0 + kpk + + + static_instance-provinces-1 + sindh + + + static_instance-provinces-2 + balochistan + + + static_instance-provinces-3 + punjab + + + static_instance-provinces-4 + gilgit_baltistan + + + static_instance-provinces-5 + kashmir + + + static_instance-provinces-6 + fata + + + static_instance-provinces-7 + out_of_country + + + + + + + static_instance-ucs-0 + sindh + karachi + korangi + bilal_colony + + + static_instance-ucs-1 + sindh + karachi + korangi + nasir_colony + + + static_instance-ucs-2 + sindh + karachi + korangi + chakra_goth + + + static_instance-ucs-3 + sindh + karachi + korangi + mustafa_taj_colony + + + static_instance-ucs-4 + sindh + karachi + korangi + hundred_quarters + + + static_instance-ucs-5 + sindh + karachi + korangi + gulzar_colony + + + static_instance-ucs-6 + sindh + karachi + korangi + korangi_sector_33 + + + static_instance-ucs-7 + sindh + karachi + korangi + zaman_town + + + static_instance-ucs-8 + sindh + karachi + korangi + hasrat_mohani_colony + + + static_instance-ucs-9 + sindh + karachi + baldia + gulshan_e_ghazi + + + static_instance-ucs-10 + sindh + karachi + baldia + ittehad_town + + + static_instance-ucs-11 + sindh + karachi + baldia + islam_nagar + + + static_instance-ucs-12 + sindh + karachi + baldia + nai_abadi + + + static_instance-ucs-13 + sindh + karachi + baldia + saeedabad + + + static_instance-ucs-14 + sindh + karachi + baldia + muslim_mujahid_colony + + + static_instance-ucs-15 + sindh + karachi + baldia + muhajir_camp + + + static_instance-ucs-16 + sindh + karachi + baldia + rasheedabad + + + static_instance-ucs-17 + sindh + karachi + bin_qasim + ibrahim_hyderi + + + static_instance-ucs-18 + sindh + karachi + bin_qasim + rehri + + + static_instance-ucs-19 + sindh + karachi + bin_qasim + cattle_colony + + + static_instance-ucs-20 + sindh + karachi + bin_qasim + qaidabad + + + static_instance-ucs-21 + sindh + karachi + bin_qasim + landhi_colony + + + static_instance-ucs-22 + sindh + karachi + bin_qasim + gulshan_e_hadeed + + + static_instance-ucs-23 + sindh + karachi + bin_qasim + gaghar + + + static_instance-ucs-24 + sindh + karachi + gadap + murad_memon_goth + + + static_instance-ucs-25 + sindh + karachi + gadap + darsano_chana + + + static_instance-ucs-26 + sindh + karachi + gadap + gujro + + + static_instance-ucs-27 + sindh + karachi + gadap + songal + + + static_instance-ucs-28 + sindh + karachi + gadap + maymarabad + + + static_instance-ucs-29 + sindh + karachi + gadap + yousuf_goth + + + static_instance-ucs-30 + sindh + karachi + gadap + manghopir + + + static_instance-ucs-31 + sindh + karachi + gulberg + azizabad + + + static_instance-ucs-32 + sindh + karachi + gulberg + karimabad + + + static_instance-ucs-33 + sindh + karachi + gulberg + aisha_manzil + + + static_instance-ucs-34 + sindh + karachi + gulberg + ancholi + + + static_instance-ucs-35 + sindh + karachi + gulberg + naseerabad + + + static_instance-ucs-36 + sindh + karachi + gulberg + yaseenabad + + + static_instance-ucs-37 + sindh + karachi + gulberg + water_pump + + + static_instance-ucs-38 + sindh + karachi + gulberg + shafiq_mill_colony + + + static_instance-ucs-39 + sindh + karachi + gulshan + delhi_mercantile_society + + + static_instance-ucs-40 + sindh + karachi + gulshan + civic_centre + + + static_instance-ucs-41 + sindh + karachi + gulshan + pir_ilahi_buksh_colony + + + static_instance-ucs-42 + sindh + karachi + gulshan + essa_nagri + + + static_instance-ucs-43 + sindh + karachi + gulshan + gulshan_e_iqbal + + + static_instance-ucs-44 + sindh + karachi + gulshan + gillani_railway_station + + + static_instance-ucs-45 + sindh + karachi + gulshan + shanti_nagar + + + static_instance-ucs-46 + sindh + karachi + gulshan + jamali_colony + + + static_instance-ucs-47 + sindh + karachi + gulshan + gulshan_e_iqbal_ii + + + static_instance-ucs-48 + sindh + karachi + gulshan + pehlwan_goth + + + static_instance-ucs-49 + sindh + karachi + gulshan + matrovil_colony + + + static_instance-ucs-50 + sindh + karachi + gulshan + gulzar_e_hijri + + + static_instance-ucs-51 + sindh + karachi + gulshan + safooran_goth + + + static_instance-ucs-52 + sindh + karachi + jamshed + akhtar_colony + + + static_instance-ucs-53 + sindh + karachi + jamshed + manzoor_colony + + + static_instance-ucs-54 + sindh + karachi + jamshed + azam_basti + + + static_instance-ucs-55 + sindh + karachi + jamshed + chanesar_goth + + + static_instance-ucs-56 + sindh + karachi + jamshed + mahmudabad + + + static_instance-ucs-57 + sindh + karachi + jamshed + pechs + + + static_instance-ucs-58 + sindh + karachi + jamshed + pechs_ii + + + static_instance-ucs-59 + sindh + karachi + jamshed + jut_line + + + static_instance-ucs-60 + sindh + karachi + jamshed + central_jacob_lines + + + static_instance-ucs-61 + sindh + karachi + jamshed + jamshed_quarters + + + static_instance-ucs-62 + sindh + karachi + jamshed + garden_east + + + static_instance-ucs-63 + sindh + karachi + jamshed + soldier_bazar + + + static_instance-ucs-64 + sindh + karachi + jamshed + pakistan_quarters + + + static_instance-ucs-65 + sindh + karachi + kiamari + bhutta_village + + + static_instance-ucs-66 + sindh + karachi + kiamari + sultanabad + + + static_instance-ucs-67 + sindh + karachi + kiamari + kiamari_uc + + + static_instance-ucs-68 + sindh + karachi + kiamari + baba_bhit + + + static_instance-ucs-69 + sindh + karachi + kiamari + machar_colony + + + static_instance-ucs-70 + sindh + karachi + kiamari + maripur + + + static_instance-ucs-71 + sindh + karachi + kiamari + shershah + + + static_instance-ucs-72 + sindh + karachi + kiamari + gabo_pat + + + static_instance-ucs-73 + sindh + karachi + landhi + muzafarabad + + + static_instance-ucs-74 + sindh + karachi + landhi + muslimabad + + + static_instance-ucs-75 + sindh + karachi + landhi + dawood_chowrangi + + + static_instance-ucs-76 + sindh + karachi + landhi + moinabad + + + static_instance-ucs-77 + sindh + karachi + landhi + sharafi_goth + + + static_instance-ucs-78 + sindh + karachi + landhi + bhutto_nagar + + + static_instance-ucs-79 + sindh + karachi + landhi + khawaja_ajmeer_colony + + + static_instance-ucs-80 + sindh + karachi + landhi + landhi_uc + + + static_instance-ucs-81 + sindh + karachi + landhi + awami_colony + + + static_instance-ucs-82 + sindh + karachi + landhi + burmee_colony + + + static_instance-ucs-83 + sindh + karachi + landhi + korangi_uc + + + static_instance-ucs-84 + sindh + karachi + landhi + sherabad + + + static_instance-ucs-85 + sindh + karachi + liaquatabad + rizvia_society + + + static_instance-ucs-86 + sindh + karachi + liaquatabad + firdous_colony + + + static_instance-ucs-87 + sindh + karachi + liaquatabad + super_market + + + static_instance-ucs-88 + sindh + karachi + liaquatabad + dak_khana + + + static_instance-ucs-89 + sindh + karachi + liaquatabad + qasimabad + + + static_instance-ucs-90 + sindh + karachi + liaquatabad + bandhani_colony + + + static_instance-ucs-91 + sindh + karachi + liaquatabad + sharifabad + + + static_instance-ucs-92 + sindh + karachi + liaquatabad + commercial_area + + + static_instance-ucs-93 + sindh + karachi + liaquatabad + mujahid_colony + + + static_instance-ucs-94 + sindh + karachi + liaquatabad + nazimabad + + + static_instance-ucs-95 + sindh + karachi + liaquatabad + abbasi_shaheed + + + static_instance-ucs-96 + sindh + karachi + lyari + agra_taj_colony + + + static_instance-ucs-97 + sindh + karachi + lyari + daryaabad + + + static_instance-ucs-98 + sindh + karachi + lyari + nawabad + + + static_instance-ucs-99 + sindh + karachi + lyari + khada_memon_society + + + static_instance-ucs-100 + sindh + karachi + lyari + baghdadi + + + static_instance-ucs-101 + sindh + karachi + lyari + shah_baig_line + + + static_instance-ucs-102 + sindh + karachi + lyari + bihar_colony + + + static_instance-ucs-103 + sindh + karachi + lyari + ragiwara + + + static_instance-ucs-104 + sindh + karachi + lyari + singo_line + + + static_instance-ucs-105 + sindh + karachi + lyari + chakiwara + + + static_instance-ucs-106 + sindh + karachi + lyari + allama_iqbal_colony + + + static_instance-ucs-107 + sindh + karachi + malir + model_colony + + + static_instance-ucs-108 + sindh + karachi + malir + kala_board + + + static_instance-ucs-109 + sindh + karachi + malir + saudabad + + + static_instance-ucs-110 + sindh + karachi + malir + khokhra_par + + + static_instance-ucs-111 + sindh + karachi + malir + jafar_e_tayyar + + + static_instance-ucs-112 + sindh + karachi + malir + gharibabad + + + static_instance-ucs-113 + sindh + karachi + malir + ghazi_brohi_goth + + + static_instance-ucs-114 + sindh + karachi + new_karachi + kalyana + + + static_instance-ucs-115 + sindh + karachi + new_karachi + sir_syed_colony + + + static_instance-ucs-116 + sindh + karachi + new_karachi + fatima_jinnah_colony + + + static_instance-ucs-117 + sindh + karachi + new_karachi + godhra + + + static_instance-ucs-118 + sindh + karachi + new_karachi + abu_zar_ghaffari + + + static_instance-ucs-119 + sindh + karachi + new_karachi + hakim_ahsan + + + static_instance-ucs-120 + sindh + karachi + new_karachi + madina_colony + + + static_instance-ucs-121 + sindh + karachi + new_karachi + faisal_colony + + + static_instance-ucs-122 + sindh + karachi + new_karachi + khamiso_goth + + + static_instance-ucs-123 + sindh + karachi + new_karachi + mustufa_colony + + + static_instance-ucs-124 + sindh + karachi + new_karachi + khawaja_ajmeer_nagri + + + static_instance-ucs-125 + sindh + karachi + new_karachi + gulshan_e_saeed + + + static_instance-ucs-126 + sindh + karachi + new_karachi + shah_nawaz_bhutto_colony + + + static_instance-ucs-127 + sindh + karachi + north_nazimabad + paposh_nagar + + + static_instance-ucs-128 + sindh + karachi + north_nazimabad + pahar_ganj + + + static_instance-ucs-129 + sindh + karachi + north_nazimabad + khandu_goth + + + static_instance-ucs-130 + sindh + karachi + north_nazimabad + hyderi + + + static_instance-ucs-131 + sindh + karachi + north_nazimabad + sakhi_hassan + + + static_instance-ucs-132 + sindh + karachi + north_nazimabad + farooq_e_azam + + + static_instance-ucs-133 + sindh + karachi + north_nazimabad + nusrat_bhutto_colony + + + static_instance-ucs-134 + sindh + karachi + north_nazimabad + shadman_town + + + static_instance-ucs-135 + sindh + karachi + north_nazimabad + buffer_zone + + + static_instance-ucs-136 + sindh + karachi + north_nazimabad + buffer_zone_ii + + + static_instance-ucs-137 + sindh + karachi + orangi + mominabad + + + static_instance-ucs-138 + sindh + karachi + orangi + haryana_colony + + + static_instance-ucs-139 + sindh + karachi + orangi + hanifabad + + + static_instance-ucs-140 + sindh + karachi + orangi + mohammad_nagar + + + static_instance-ucs-141 + sindh + karachi + orangi + madina_colony_orangi + + + static_instance-ucs-142 + sindh + karachi + orangi + ghaziabad + + + static_instance-ucs-143 + sindh + karachi + orangi + chisti_nagar + + + static_instance-ucs-144 + sindh + karachi + orangi + bilal_colony_orangi + + + static_instance-ucs-145 + sindh + karachi + orangi + iqbal_baloch_colony + + + static_instance-ucs-146 + sindh + karachi + orangi + ghabool_town + + + static_instance-ucs-147 + sindh + karachi + orangi + data_nagar + + + static_instance-ucs-148 + sindh + karachi + orangi + mujahidabad + + + static_instance-ucs-149 + sindh + karachi + orangi + baloch_goth + + + static_instance-ucs-150 + sindh + karachi + saddar + old_haji_camp + + + static_instance-ucs-151 + sindh + karachi + saddar + garden + + + static_instance-ucs-152 + sindh + karachi + saddar + kharadar + + + static_instance-ucs-153 + sindh + karachi + saddar + city_railway_colony + + + static_instance-ucs-154 + sindh + karachi + saddar + nanak_wara + + + static_instance-ucs-155 + sindh + karachi + saddar + gazdarabad + + + static_instance-ucs-156 + sindh + karachi + saddar + millat_nagar_islam_pura + + + static_instance-ucs-157 + sindh + karachi + saddar + saddar_uc + + + static_instance-ucs-158 + sindh + karachi + saddar + civil_line + + + static_instance-ucs-159 + sindh + karachi + saddar + clifton + + + static_instance-ucs-160 + sindh + karachi + saddar + kehkashan + + + static_instance-ucs-161 + sindh + karachi + shah_faisal + natha_khan_goth + + + static_instance-ucs-162 + sindh + karachi + shah_faisal + pak_sadat_colony + + + static_instance-ucs-163 + sindh + karachi + shah_faisal + drigh_colony + + + static_instance-ucs-164 + sindh + karachi + shah_faisal + raita_plot + + + static_instance-ucs-165 + sindh + karachi + shah_faisal + moria_khan_goth + + + static_instance-ucs-166 + sindh + karachi + shah_faisal + rafa_e_aam_society + + + static_instance-ucs-167 + sindh + karachi + shah_faisal + al_falah_society + + + static_instance-ucs-168 + sindh + karachi + site + pak_colony + + + static_instance-ucs-169 + sindh + karachi + site + old_golimar + + + static_instance-ucs-170 + sindh + karachi + site + jahanabad + + + static_instance-ucs-171 + sindh + karachi + site + metrovil + + + static_instance-ucs-172 + sindh + karachi + site + bhawani_chali + + + static_instance-ucs-173 + sindh + karachi + site + frontier_colony + + + static_instance-ucs-174 + sindh + karachi + site + banaras_colony + + + static_instance-ucs-175 + sindh + karachi + site + qasba_colony + + + static_instance-ucs-176 + sindh + karachi + site + islamia_colony + + + static_instance-ucs-177 + na + na + na + other + + + static_instance-ucs-178 + na + na + na + not_applicable + + + + + + + static_instance-gender-0 + male + + + static_instance-gender-1 + female + + + static_instance-gender-2 + transgender + + + + + + + static_instance-vaccines-0 + TT1 + + + static_instance-vaccines-1 + TT2 + + + static_instance-vaccines-2 + TT3 + + + static_instance-vaccines-3 + TT4 + + + static_instance-vaccines-4 + TT5 + + + + + + + static_instance-towns-0 + sindh + karachi + korangi + + + static_instance-towns-1 + sindh + karachi + landhi + + + static_instance-towns-2 + sindh + karachi + baldia + + + static_instance-towns-3 + sindh + karachi + bin_qasim + + + static_instance-towns-4 + sindh + karachi + gadap + + + static_instance-towns-5 + sindh + karachi + gulberg + + + static_instance-towns-6 + sindh + karachi + gulshan + + + static_instance-towns-7 + sindh + karachi + jamshed + + + static_instance-towns-8 + sindh + karachi + kiamari + + + static_instance-towns-9 + sindh + karachi + liaquatabad + + + static_instance-towns-10 + sindh + karachi + lyari + + + static_instance-towns-11 + sindh + karachi + malir + + + static_instance-towns-12 + sindh + karachi + new_karachi + + + static_instance-towns-13 + sindh + karachi + north_nazimabad + + + static_instance-towns-14 + sindh + karachi + orangi + + + static_instance-towns-15 + sindh + karachi + saddar + + + static_instance-towns-16 + sindh + karachi + shah_faisal + + + static_instance-towns-17 + sindh + karachi + site + + + static_instance-towns-18 + na + na + other + + + static_instance-towns-19 + na + na + not_applicable + + + + + + + static_instance-cities-0 + sindh + karachi + + + static_instance-cities-1 + punjab + hafizabad + + + static_instance-cities-2 + punjab + muzaffargarh + + + static_instance-cities-3 + na + other + + + static_instance-cities-4 + na + not_applicable + + + + + + + static_instance-edd_lmp-0 + edd + + + static_instance-edd_lmp-1 + lmp + + + static_instance-edd_lmp-2 + ultrasound + + + static_instance-edd_lmp-3 + none + + + + + + + static_instance-yes_no-0 + yes + + + static_instance-yes_no-1 + no + + + + diff --git a/opensrp-core/bin/src/test/resources/form/pnc_1st_registration/form.json b/opensrp-core/bin/src/test/resources/form/pnc_1st_registration/form.json new file mode 100644 index 0000000000..ac61605e10 --- /dev/null +++ b/opensrp-core/bin/src/test/resources/form/pnc_1st_registration/form.json @@ -0,0 +1,373 @@ +{ + "name": "pnc_first_registration_motherdetails", + "title": "PNC Registration", + "sms_keyword": "pnc_1st_registration", + "default_language": "default", + "instance": { + "encounter_type": "PNC Registration" + }, + "version": "201504011203", + "id_string": "pnc_1st_registration", + "type": "survey", + "children": [ + { + "instance": { + "openmrs_entity_id": "location_id", + "openmrs_entity": "encounter" + }, + "type": "text", + "name": "location", + "label": "Location" + }, + { + "instance": { + "openmrs_entity_id": "encounter_date", + "openmrs_entity": "encounter" + }, + "type": "today", + "name": "today" + }, + { + "instance": { + "openmrs_entity_id": "encounter_start", + "openmrs_entity": "encounter" + }, + "type": "start", + "name": "start" + }, + { + "instance": { + "openmrs_entity_id": "encounter_end", + "openmrs_entity": "encounter" + }, + "type": "end", + "name": "end" + }, + { + "instance": { + "openmrs_entity_id": "OpenSRPID", + "openmrs_entity": "person_identifier" + }, + "type": "integer", + "name": "mother_id", + "label": "Mother ID number:" + }, + { + "name": "gender", + "bind": { + "required": "yes" + }, + "label": "Gender? ಮಗುವಿನ ಲಿಂಗ?", + "instance": { + "openmrs_entity_id": "gender", + "openmrs_entity": "person" + }, + "type": "select one", + "children": [ + { + "instance": { + "openmrs_code": "1534AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "male", + "label": "Male ಗಂಡು" + }, + { + "instance": { + "openmrs_code": "1535AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "female", + "label": "Female ಹೆಣ್ಣು" + } + ] + }, + { + "instance": { + "openmrs_entity_id": "birthdate", + "openmrs_entity": "person" + }, + "type": "date", + "name": "mother_birthdate", + "label": "Mother's DOB?" + }, + { + "instance": { + "openmrs_entity_id": "first_name", + "openmrs_entity": "person" + }, + "type": "text", + "name": "mother_first_name", + "label": "Mother's first name?" + }, + { + "instance": { + "openmrs_entity_id": "last_name", + "openmrs_entity": "person" + }, + "type": "text", + "name": "mother_last_name", + "label": "Mother's last name?" + }, + { + "bind": { + "required": "yes", + "constraint": ".<=${today}" + }, + "type": "date", + "instance": { + "openmrs_entity_id": "5599AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept" + }, + "name": "delivery_date", + "label": "Delivery date? ಹೆರಿಗೆ ದಿನಾಂಕ?" + }, + { + "instance": { + "openmrs_entity_id": "162724AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept" + }, + "type": "text", + "name": "delivery_facility_name", + "label": "Name of delivery facility? ಹೆರಿಗೆಯಾದ ಸ್ಥಳದ ಹೆಸರು?" + }, + { + "name": "delivery_skilled", + "bind": { + "required": "yes" + }, + "label": "Delivery attended by SBA? ತರಬೇತಿ ಹೊಂದಿದ ಹೆರಿಗೆ ಸಹಾಯಕರು ಹೆರಿಗೆಯಲ್ಲಿ ಹಾಜರಿದ್ದರೆ?", + "instance": { + "openmrs_entity_id": "160083AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept" + }, + "type": "select one", + "children": [ + { + "instance": { + "openmrs_code": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "yes", + "label": "Yes ಹೌದು" + }, + { + "instance": { + "openmrs_code": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "no", + "label": "No ಇಲ್ಲ" + } + ] + }, + { + "instance": { + "openmrs_entity_id": "5630AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept" + }, + "label": "Type of delivery? ಯಾವ ವಿಧದ ಹೆರಿಗೆ?", + "type": "select one", + "children": [ + { + "instance": { + "openmrs_code": "1170AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "normal", + "label": "Normal ಸಾಮಾನ್ಯ" + }, + { + "instance": { + "openmrs_code": "1171AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "cesarean", + "label": "Cesarean ಸಿಸೇರಿಯನ್" + }, + { + "instance": { + "openmrs_code": "118159AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "instrumental_forcep", + "label": "Instrumental / Forcep ಉಪಕರಣಗಳಿಂದ ಮಾಡುವ ಹೆರಿಗೆ" + } + ], + "name": "delivery_type" + }, + { + "name": "delivery_outcome", + "bind": { + "required": "yes" + }, + "label": "Delivery outcome? ಹೆರಿಗೆ ಫಲಿತಾಂಶವೇನು?", + "instance": { + "openmrs_entity_id": "159917AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept" + }, + "type": "select one", + "children": [ + { + "instance": { + "openmrs_code": "151849AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "live_birth", + "label": "Live Birth ಜೀವಂತ ಜನನ" + }, + { + "instance": { + "openmrs_code": "125872AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "still_birth", + "label": "Still Birth ನಿರ್ಜೀವ ಜನನ" + } + ] + }, + { + "instance": { + "openmrs_entity_id": "1053AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept" + }, + "type": "int", + "name": "parity", + "label": "Parity" + }, + { + "bind": { + "relevant": "${delivery_outcome} = 'live_birth'" + }, + "type": "int", + "instance": { + "openmrs_entity_id": "160601AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept" + }, + "name": "num_livebirths", + "label": "Live births" + }, + { + "bind": { + "relevant": "${delivery_outcome} = 'still_birth'" + }, + "type": "int", + "instance": { + "openmrs_entity_id": "160077AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept" + }, + "name": "num_stillbirths", + "label": "Still births" + }, + { + "instance": { + "openmrs_entity_id": "1576AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept" + }, + "label": "What delivery complications were there? ಯಾವ ಹೆರಿಗೆ ತೊಂದರೆಗಳು ಉಂಟಾದವು?", + "type": "select all that apply", + "children": [ + { + "instance": { + "openmrs_code": "230AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "hemorrhage", + "label": "Hemorrhage ರಕ್ತಸ್ರಾವ" + }, + { + "instance": { + "openmrs_code": "114127AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "placenta_previa", + "label": "Placenta previa ಹಿಂದಿನ ಗರ್ಭದಲ್ಲಿ ಮಾಸು ಮುಂದಿರುವುದು" + }, + { + "instance": { + "openmrs_code": "128420AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "cord_prolapse", + "label": "Cord prolapse ಬಳ್ಳಿಯ ಸರಿತ" + }, + { + "instance": { + "openmrs_code": "115036AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "prolonged_labor", + "label": "Prolonged / obstructed labor ದೀರ್ಘಕಾಲೀನ / ಅಡಚಣೆಯನ್ನು ತಂದೊಡ್ಡುವ ಹೆರಿಗೆ ನೋವು" + }, + { + "instance": { + "openmrs_code": "1172AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "abnormal_presentation", + "label": "Abnormal presentation ಅಪಸಾಮಾನ್ಯ ಪ್ರಸ್ತುತಿ" + }, + { + "instance": { + "openmrs_code": "126886AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "perineal_tear_2nd_degree", + "label": "Perineal tear (2 degree)" + }, + { + "instance": { + "openmrs_code": "124857AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "perineal_tear_3rd_degree", + "label": "Perineal tear (3 degree)" + }, + { + "instance": { + "openmrs_code": "39911AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "perineal_tear_4th_degree", + "label": "Perineal tear (4 degree)" + }, + { + "instance": { + "openmrs_code": "120222AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "others", + "label": "Others ಇತರೆ" + } + ], + "name": "complications" + }, + { + "name": "woman_survived", + "bind": { + "required": "yes" + }, + "label": "Woman survived childbirth? ಮಗುವಿನ ಜನನದ ನಂತರ ಮಹಿಳೆ ಬದುಕುಳಿದರೆ?", + "instance": { + "openmrs_entity_id": "134612AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "openmrs_entity": "concept" + }, + "type": "select one", + "children": [ + { + "instance": { + "openmrs_code": "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "yes", + "label": "Yes ಹೌದು" + }, + { + "instance": { + "openmrs_code": "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + }, + "name": "no", + "label": "No ಇಲ್ಲ" + } + ] + }, + { + "control": { + "bodyless": true + }, + "type": "group", + "children": [ + { + "bind": { + "readonly": "true()", + "calculate": "concat('uuid:', uuid())" + }, + "type": "calculate", + "name": "instanceID" + } + ], + "name": "meta" + } + ] +} \ No newline at end of file diff --git a/opensrp-core/bin/src/test/resources/form/pnc_1st_registration/form.xml b/opensrp-core/bin/src/test/resources/form/pnc_1st_registration/form.xml new file mode 100644 index 0000000000..d9501c2e3c --- /dev/null +++ b/opensrp-core/bin/src/test/resources/form/pnc_1st_registration/form.xml @@ -0,0 +1,29 @@ + +
+

PNC Registration

+ + + + +
Gender? ಮಗುವಿನ ಲಿಂಗ?* +
+ + + + + +
Delivery attended by SBA? ತರಬೇತಿ ಹೊಂದಿದ ಹೆರಿಗೆ ಸಹಾಯಕರು ಹೆರಿಗೆಯಲ್ಲಿ ಹಾಜರಿದ್ದರೆ?* +
+
Type of delivery? ಯಾವ ವಿಧದ ಹೆರಿಗೆ? +
+
Delivery outcome? ಹೆರಿಗೆ ಫಲಿತಾಂಶವೇನು?* +
+ + + +
What delivery complications were there? ಯಾವ ಹೆರಿಗೆ ತೊಂದರೆಗಳು ಉಂಟಾದವು? +
+
Woman survived childbirth? ಮಗುವಿನ ಜನನದ ನಂತರ ಮಹಿಳೆ ಬದುಕುಳಿದರೆ?* +
+ +XML to HTML transformation for form took 0.03 secondsThis validation is yet not functional.
diff --git a/opensrp-core/bin/src/test/resources/form/pnc_1st_registration/form_definition.json b/opensrp-core/bin/src/test/resources/form/pnc_1st_registration/form_definition.json new file mode 100644 index 0000000000..f715275a86 --- /dev/null +++ b/opensrp-core/bin/src/test/resources/form/pnc_1st_registration/form_definition.json @@ -0,0 +1,89 @@ +{ + "form_data_definition_version": "1", + "form": { + "default_bind_path": "/model/instance/pnc_first_registration_motherdetails", + "bind_type": "demo_mother", + "fields": [ + { + "name":"id", + "shouldLoadValue": true + }, + { + "name": "location", + "bind": "/model/instance/pnc_first_registration_motherdetails/location" + }, + { + "name": "today", + "bind": "/model/instance/pnc_first_registration_motherdetails/today" + }, + { + "name": "start", + "bind": "/model/instance/pnc_first_registration_motherdetails/start" + }, + { + "name": "end", + "bind": "/model/instance/pnc_first_registration_motherdetails/end" + }, + { + "name": "mother_id", + "bind": "/model/instance/pnc_first_registration_motherdetails/mother_id" + }, + { + "name": "gender", + "bind": "/model/instance/pnc_first_registration_motherdetails/gender" + }, + { + "name": "mother_birthdate", + "bind": "/model/instance/pnc_first_registration_motherdetails/mother_birthdate" + }, + { + "name": "mother_first_name", + "bind": "/model/instance/pnc_first_registration_motherdetails/mother_first_name" + }, + { + "name": "mother_last_name", + "bind": "/model/instance/pnc_first_registration_motherdetails/mother_last_name" + }, + { + "name": "delivery_date", + "bind": "/model/instance/pnc_first_registration_motherdetails/delivery_date" + }, + { + "name": "delivery_facility_name", + "bind": "/model/instance/pnc_first_registration_motherdetails/delivery_facility_name" + }, + { + "name": "delivery_skilled", + "bind": "/model/instance/pnc_first_registration_motherdetails/delivery_skilled" + }, + { + "name": "delivery_type", + "bind": "/model/instance/pnc_first_registration_motherdetails/delivery_type" + }, + { + "name": "delivery_outcome", + "bind": "/model/instance/pnc_first_registration_motherdetails/delivery_outcome" + }, + { + "name": "parity", + "bind": "/model/instance/pnc_first_registration_motherdetails/parity" + }, + { + "name": "num_livebirths", + "bind": "/model/instance/pnc_first_registration_motherdetails/num_livebirths" + }, + { + "name": "num_stillbirths", + "bind": "/model/instance/pnc_first_registration_motherdetails/num_stillbirths" + }, + { + "name": "complications", + "bind": "/model/instance/pnc_first_registration_motherdetails/complications" + }, + { + "name": "woman_survived", + "bind": "/model/instance/pnc_first_registration_motherdetails/woman_survived" + } + ] + } +} \ No newline at end of file diff --git a/opensrp-core/bin/src/test/resources/form/pnc_1st_registration/form_submission.json b/opensrp-core/bin/src/test/resources/form/pnc_1st_registration/form_submission.json new file mode 100644 index 0000000000..7cdcb1c63b --- /dev/null +++ b/opensrp-core/bin/src/test/resources/form/pnc_1st_registration/form_submission.json @@ -0,0 +1,135 @@ +{ + "anmId": "admin", + "clientVersion": "1426830449320", + "entityId": "b716d938-1aea-40ae-a081-9ddddddcccc9", + "formDataDefinitionVersion": "5", + "formName": "pnc_1st_registration", + "formInstance": { + "form_data_definition_version": "1", + "form": { + "default_bind_path": "/model/instance/pnc_first_registration_motherdetails", + "bind_type": "demo_mother", + "fields": [ + { + "name": "id", + "shouldLoadValue": true, + "source": "demo_mother.id", + "value": "aec8e1a5-ab11-47ac-8bc0-ff1e7146e342" + }, + { + "name": "location", + "bind": "/model/instance/pnc_first_registration_motherdetails/location", + "source": "demo_mother.location", + "value": "testloc" + }, + { + "name": "today", + "bind": "/model/instance/pnc_first_registration_motherdetails/today", + "source": "demo_mother.today", + "value": "2015-04-02" + }, + { + "name": "start", + "bind": "/model/instance/pnc_first_registration_motherdetails/start", + "source": "demo_mother.start", + "value": "2015-04-02T04:49:16.000-00:00" + }, + { + "name": "end", + "bind": "/model/instance/pnc_first_registration_motherdetails/end", + "source": "demo_mother.end", + "value": "2015-04-02T04:49:16.000-00:00" + }, + { + "name": "mother_id", + "bind": "/model/instance/pnc_first_registration_motherdetails/mother_id", + "source": "demo_mother.mother_id", + "value": "234" + }, + { + "name": "gender", + "bind": "/model/instance/pnc_first_registration_motherdetails/gender", + "source": "demo_mother.gender", + "value": "male" + }, + { + "name": "mother_birthdate", + "bind": "/model/instance/pnc_first_registration_motherdetails/mother_birthdate", + "source": "demo_mother.mother_birthdate", + "value": "1989-01-31" + }, + { + "name": "mother_first_name", + "bind": "/model/instance/pnc_first_registration_motherdetails/mother_first_name", + "source": "demo_mother.mother_first_name", + "value": "jamila" + }, + { + "name": "mother_last_name", + "bind": "/model/instance/pnc_first_registration_motherdetails/mother_last_name", + "source": "demo_mother.mother_last_name", + "value": "rashid" + }, + { + "name": "delivery_date", + "bind": "/model/instance/pnc_first_registration_motherdetails/delivery_date", + "source": "demo_mother.delivery_date", + "value": "2015-04-01" + }, + { + "name": "delivery_facility_name", + "bind": "/model/instance/pnc_first_registration_motherdetails/delivery_facility_name", + "source": "demo_mother.delivery_facility_name", + "value": "moghbazar health center" + }, + { + "name": "delivery_skilled", + "bind": "/model/instance/pnc_first_registration_motherdetails/delivery_skilled", + "source": "demo_mother.delivery_skilled", + "value": "yes" + }, + { + "name": "delivery_type", + "bind": "/model/instance/pnc_first_registration_motherdetails/delivery_type", + "source": "demo_mother.delivery_type", + "value": "normal" + }, + { + "name": "delivery_outcome", + "bind": "/model/instance/pnc_first_registration_motherdetails/delivery_outcome", + "source": "demo_mother.delivery_outcome", + "value": "live_birth" + }, + { + "name": "parity", + "bind": "/model/instance/pnc_first_registration_motherdetails/parity", + "source": "demo_mother.parity", + "value": "1" + }, + { + "name": "num_livebirths", + "bind": "/model/instance/pnc_first_registration_motherdetails/num_livebirths", + "source": "demo_mother.num_livebirths", + "value": "1" + }, + { + "name": "num_stillbirths", + "bind": "/model/instance/pnc_first_registration_motherdetails/num_stillbirths", + "source": "demo_mother.num_stillbirths" + }, + { + "name": "complications", + "bind": "/model/instance/pnc_first_registration_motherdetails/complications", + "source": "demo_mother.complications", + "value": "hemorrhage" + }, + { + "name": "woman_survived", + "bind": "/model/instance/pnc_first_registration_motherdetails/woman_survived", + "source": "demo_mother.woman_survived", + "value": "yes" + } + ] + } + } +} \ No newline at end of file diff --git a/opensrp-core/bin/src/test/resources/form/pnc_1st_registration/model.xml b/opensrp-core/bin/src/test/resources/form/pnc_1st_registration/model.xml new file mode 100644 index 0000000000..02529770ad --- /dev/null +++ b/opensrp-core/bin/src/test/resources/form/pnc_1st_registration/model.xml @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/opensrp-core/bin/src/test/resources/form/pnc_reg_form/form.json b/opensrp-core/bin/src/test/resources/form/pnc_reg_form/form.json new file mode 100644 index 0000000000..5fd76f37d0 --- /dev/null +++ b/opensrp-core/bin/src/test/resources/form/pnc_reg_form/form.json @@ -0,0 +1,1381 @@ +{ + "default_language": "default", + "id_string": "Delivery_Outcome_EngKan", + "children": [ + { + "name": "today", + "type": "today" + }, + { + "name": "case_lmp", + "instance": { + "openmrs_entity_id": "1100282", + "openmrs_entity": "concept" + }, + "type": "hidden" + }, + { + "name": "delivery_date", + "bind": { + "required": "yes", + "constraint": ".<=${today}" + }, + "label": "Delivery date? ಹೆರಿಗೆ ದಿನಾಂಕ?", + "instance": { + "openmrs_entity_id": "2129182", + "openmrs_entity": "concept" + }, + "type": "date" + }, + { + "name": "delivery_reg_date", + "bind": { + "required": "yes", + "constraint": ".<=${today} and .>= ${delivery_date}" + }, + "label": "PNC registration date? ಬಾಣಂತಿ ದಾಖಲಾತಿ ದಿನಾಂಕ?", + "instance": { + "openmrs_entity_id": "encounter_date", + "openmrs_entity": "encounter" + }, + "type": "date" + }, + { + "children": [ + { + "name": "home", + "label": "Home ಮನೆ", + "instance": { + "openmrs_code": "32323213" + } + }, + { + "name": "subcenter", + "label": "Sub Center ಉಪ ಕೇಂದ್ರ", + "instance": { + "openmrs_code": "2321321" + } + }, + { + "name": "phc", + "label": "PHC ಪ್ರಾಥಮಿಕ ಆರೋಗ್ಯ ಕೇಂದ್ರ", + "instance": { + "openmrs_code": "323213" + } + }, + { + "name": "chc", + "label": "CHC ಸಮುದಾಯ ಆರೋಗ್ಯ ಕೇಂದ್ರ", + "instance": { + "openmrs_code": "1213213" + } + }, + { + "name": "sdh", + "label": "SDH ಉಪ ಜಿಲ್ಲಾ ಆಸ್ಪತ್ರೆ", + "instance": { + "openmrs_code": "23123" + } + }, + { + "name": "dh", + "label": "DH ಜಿಲ್ಲಾ ಆಸ್ಪತ್ರೆ", + "instance": { + "openmrs_code": "232113" + } + }, + { + "name": "private_facility", + "label": "Private ಖಾಸಗಿ", + "instance": { + "openmrs_code": "123123" + } + } + ], + "name": "place_delivery", + "bind": { + "required": "yes" + }, + "label": "Place of delivery? ಹೆರಿಗೆಯಾದ ಸ್ಥಳ?", + "instance": { + "openmrs_entity_id": "location_id", + "openmrs_entity": "encounter" + }, + "type": "select one" + }, + { + "name": "name_delivery_facility", + "bind": { + "relevant": "${place_delivery} != 'home'" + }, + "label": "Name of delivery place? ಹೆರಿಗೆಯಾದ ಸ್ಥಳದ ಹೆಸರು?", + "instance": { + "openmrs_entity_id": "4787232", + "openmrs_entity": "concept" + }, + "type": "text" + }, + { + "children": [ + { + "name": "yes", + "label": "Yes ಹೌದು", + "instance": { + "openmrs_code": "1065" + } + }, + { + "name": "no", + "label": "No ಇಲ್ಲ", + "instance": { + "openmrs_code": "1066" + } + } + ], + "name": "only_delivery_facility", + "label": "Is this the only place woman went for delivery? ಹೆರಿಗೆಗೆ ಇದೊಂದೆ ಸ್ಥಳಕ್ಕೆ ಹೋಗಿದ್ದರೆ?", + "instance": { + "openmrs_entity_id": "120009", + "openmrs_entity": "concept" + }, + "type": "select one" + }, + { + "children": [ + { + "name": "home", + "label": "Home ಮನೆ", + "instance": { + "openmrs_code": "32323213" + } + }, + { + "name": "subcenter", + "label": "Sub Center ಉಪ ಕೇಂದ್ರ", + "instance": { + "openmrs_code": "2321321" + } + }, + { + "name": "phc", + "label": "PHC ಪ್ರಾಥಮಿಕ ಆರೋಗ್ಯ ಕೇಂದ್ರ", + "instance": { + "openmrs_code": "323213" + } + }, + { + "name": "chc", + "label": "CHC ಸಮುದಾಯ ಆರೋಗ್ಯ ಕೇಂದ್ರ", + "instance": { + "openmrs_code": "1213213" + } + }, + { + "name": "sdh", + "label": "SDH ಉಪ ಜಿಲ್ಲಾ ಆಸ್ಪತ್ರೆ", + "instance": { + "openmrs_code": "23123" + } + }, + { + "name": "dh", + "label": "DH ಜಿಲ್ಲಾ ಆಸ್ಪತ್ರೆ", + "instance": { + "openmrs_code": "232113" + } + }, + { + "name": "private_facility", + "label": "Private ಖಾಸಗಿ", + "instance": { + "openmrs_code": "123123" + } + } + ], + "name": "addl_delivery_facility", + "bind": { + "relevant": "${only_delivery_facility} = 'no'" + }, + "label": "Where else did she go for delivery? ಹೆರಿಗೆಗೆ ಇನ್ಯಾವ ಸ್ಥಳಕ್ಕೆ ಹೋಗಿದ್ದರೆ?", + "instance": { + "openmrs_entity_id": "124433", + "openmrs_entity": "concept" + }, + "type": "select all that apply" + }, + { + "children": [ + { + "name": "no_staff", + "label": "No staff available for delivery ಹೆರಿಗೆಗೆ ಸಿಬ್ಬಂಧಿಯು ಲಭ್ಯವಿಲ್ಲ", + "instance": { + "openmrs_code": "4123" + } + }, + { + "name": "referred_higher_facility", + "label": "Referred to higher facility ಹೆಚ್ಚಿನ ಸೌಲಭ್ಯಕ್ಕೆ ರೆಫರ್ ಮಾಡಲಾಗಿದೆ", + "instance": { + "openmrs_code": "21312312" + } + }, + { + "name": "lack_of_supplies", + "label": "Lack of supplies ಸರಬರಾಜು ಕೊರತೆ", + "instance": { + "openmrs_code": "134134" + } + }, + { + "name": "no_electricity", + "label": "No electricity ವಿದ್ಯುತ್ ಇಲ್ಲ", + "instance": { + "openmrs_code": "34134134" + } + }, + { + "name": "family_insisted_elsewhere", + "label": "Family insisted on going elsewhere ಕುಟುಂಬಕ್ಕೆ ಬೇರೇಡೆಗೆ ಹೋಗಲು ಒತ್ತಾಯಿಸಿದರು", + "instance": { + "openmrs_code": "341341" + } + }, + { + "name": "no_money", + "label": "Not enough money ಸಾಕಷ್ಟು ಹಣವಿಲ್ಲ", + "instance": { + "openmrs_code": "43434432" + } + }, + { + "name": "others", + "label": "Others ಇತರೆ", + "instance": { + "openmrs_code": "323243224" + } + } + ], + "name": "reasons_addl_delivery_facility", + "bind": { + "relevant": "${only_delivery_facility} = 'no'" + }, + "label": "Select the reasons why more than one place. ಬೇರೆ ಸ್ಥಳಕ್ಕೆ ಹೋಗಿದ್ದಕ್ಕೆ ಕಾರಣವನ್ನು ಆಯ್ಕೆ ಮಾಡಿ.", + "instance": { + "openmrs_entity_id": "100933", + "openmrs_entity": "concept" + }, + "type": "select all that apply" + }, + { + "name": "other_reasons_addl_delivery_facility", + "bind": { + "relevant": "selected(${reasons_addl_delivery_facility}, 'others')" + }, + "label": "Others ಇತರೆ:", + "instance": { + "openmrs_entity_id": "2323233", + "openmrs_entity": "concept" + }, + "type": "text" + }, + { + "children": [ + { + "name": "yes", + "label": "Yes ಹೌದು", + "instance": { + "openmrs_code": "1065" + } + }, + { + "name": "no", + "label": "No ಇಲ್ಲ", + "instance": { + "openmrs_code": "1066" + } + } + ], + "name": "skilled_delivery", + "bind": { + "relevant": "${place_delivery} = 'home'", + "required": "yes" + }, + "label": "Delivery attended by SBA? ತರಬೇತಿ ಹೊಂದಿದ ಹೆರಿಗೆ ಸಹಾಯಕರು ಹೆರಿಗೆಯಲ್ಲಿ ಹಾಜರಿದ್ದರೆ?", + "instance": { + "openmrs_entity_id": "3231212", + "openmrs_entity": "concept" + }, + "type": "select one" + }, + { + "children": [ + { + "name": "normal", + "label": "Normal ಸಾಮಾನ್ಯ", + "instance": { + "openmrs_code": "43123" + } + }, + { + "name": "cesarean", + "label": "Cesarean ಸಿಸೇರಿಯನ್", + "instance": { + "openmrs_code": "3232" + } + }, + { + "name": "instrumental_forcep", + "label": "Instrumental / Forcep ಉಪಕರಣಗಳಿಂದ ಮಾಡುವ ಹೆರಿಗೆ", + "instance": { + "openmrs_code": "4134123" + } + } + ], + "name": "type_delivery", + "label": "Type of delivery? ಯಾವ ವಿಧದ ಹೆರಿಗೆ?", + "instance": { + "openmrs_entity_id": "120009", + "openmrs_entity": "concept" + }, + "type": "select one" + }, + { + "children": [ + { + "name": "live_birth", + "label": "Live Birth ಜೀವಂತ ಜನನ", + "instance": { + "openmrs_code": "38493849" + } + }, + { + "name": "still_birth", + "label": "Still Birth ನಿರ್ಜೀವ ಜನನ", + "instance": { + "openmrs_code": "343434" + } + } + ], + "name": "delivery_outcome", + "bind": { + "required": "yes" + }, + "label": "Delivery outcome? ಹೆರಿಗೆ ಫಲಿತಾಂಶವೇನು?", + "instance": { + "openmrs_entity_id": "124433", + "openmrs_entity": "concept" + }, + "type": "select one" + }, + { + "name": "case_parity", + "instance": { + "openmrs_entity_id": "100933", + "openmrs_entity": "concept" + }, + "type": "hidden" + }, + { + "name": "parity", + "bind": { + "calculate": "${case_parity} + 1" + }, + "instance": { + "openmrs_entity_id": "434343", + "openmrs_entity": "concept" + }, + "type": "calculate" + }, + { + "name": "case_num_livebirths", + "instance": { + "openmrs_entity_id": "34324234", + "openmrs_entity": "concept" + }, + "type": "hidden" + }, + { + "name": "num_livebirths", + "bind": { + "relevant": "${delivery_outcome} = 'live_birth'", + "calculate": "${case_num_livebirths} + 1" + }, + "instance": { + "openmrs_entity_id": "3423423", + "openmrs_entity": "concept" + }, + "type": "calculate" + }, + { + "name": "youngestchild_date_of_birth", + "bind": { + "relevant": "${delivery_outcome} = 'live_birth'", + "calculate": "${delivery_date}" + }, + "instance": { + "openmrs_entity_id": "120009", + "openmrs_entity": "concept" + }, + "type": "calculate" + }, + { + "name": "youngestchild_age", + "bind": { + "calculate": "int((${today} - ${youngestchild_date_of_birth}) div 30)" + }, + "instance": { + "openmrs_entity_id": "124433", + "openmrs_entity": "concept" + }, + "type": "calculate" + }, + { + "name": "case_num_stillbirths", + "instance": { + "openmrs_entity_id": "100933", + "openmrs_entity": "concept" + }, + "type": "hidden" + }, + { + "name": "num_stillbirths", + "bind": { + "relevant": "${delivery_outcome} = 'still_birth'", + "calculate": "${case_num_stillbirths} + 1" + }, + "instance": { + "openmrs_entity_id": "3432434", + "openmrs_entity": "concept" + }, + "type": "calculate" + }, + { + "children": [ + { + "children": [ + { + "name": "infection_during_preg", + "label": "Infection during pregnancy ಗರ್ಭಾವಸ್ಥೆಯಲ್ಲಿ ಸೋಂಕು", + "instance": { + "openmrs_code": "2323" + } + }, + { + "name": "gest_hypertension", + "label": "Gestational hypertension ಗರ್ಭಾಧಾರಣೆಯಲ್ಲಿನ ಅಧಿಕ ರಕ್ತದೊತ್ತಡ", + "instance": { + "openmrs_code": "2323" + } + }, + { + "name": "gest_diabetes", + "label": "Gestational diabetes ಗರ್ಭಾಧಾರಣೆಯಲ್ಲಿನ ಸಕ್ಕರೆ ಕಾಯಿಲೆ", + "instance": { + "openmrs_code": "23213" + } + }, + { + "name": "fetal_growth_restriction", + "label": "Fetal growth restriction ಭ್ರೂಣದ ಬೆಳವಣಿಗೆಯಲ್ಲಿ ನಿರ್ಬಂಧ", + "instance": { + "openmrs_code": "23123" + } + }, + { + "name": "birth_defects", + "label": "Birth defects ಜನ್ಮ ನ್ಯೂನ್ಯತೆಗಳು", + "instance": { + "openmrs_code": "23213" + } + }, + { + "name": "unknown", + "label": "Cause not identified ಕಾರಣವನ್ನು ಗುರುತಿಸಲ್ಪಟ್ಟಿಲ್ಲ", + "instance": { + "openmrs_code": "2323" + } + }, + { + "name": "others", + "label": "Others ಇತರೆ", + "instance": { + "openmrs_code": "23213" + } + } + ], + "name": "cause_of_still_birth", + "label": "Cause of still birth? ನಿರ್ಜೀವ ಜನನದ ಕಾರಣಗಳು?", + "instance": { + "openmrs_entity_parent": "65435", + "openmrs_entity_id": "4323232", + "openmrs_entity": "concept" + }, + "type": "select one" + }, + { + "children": [ + { + "name": "yes", + "label": "Yes ಹೌದು", + "instance": { + "openmrs_code": "1065" + } + }, + { + "name": "no", + "label": "No ಇಲ್ಲ", + "instance": { + "openmrs_code": "1066" + } + } + ], + "name": "woman_survived", + "bind": { + "required": "yes" + }, + "label": "Woman survived childbirth? ಮಗುವಿನ ಜನನದ ನಂತರ ಮಹಿಳೆ ಬದುಕುಳಿದರೆ?", + "instance": { + "openmrs_entity_parent": "65435", + "openmrs_entity_id": "100009", + "openmrs_entity": "concept" + }, + "type": "select one" + } + ], + "name": "still_birth_group", + "bind": { + "relevant": "${delivery_outcome} = 'still_birth'" + }, + "instance": { + "openmrs_entity_id": "65435", + "openmrs_entity": "concept" + }, + "type": "group" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "name": "male", + "label": "Male ಗಂಡು", + "instance": { + "openmrs_code": "21321" + } + }, + { + "name": "female", + "label": "Female ಹೆಣ್ಣು", + "instance": { + "openmrs_code": "312312" + } + } + ], + "name": "sex_child", + "bind": { + "required": "yes" + }, + "label": "Sex of child? ಮಗುವಿನ ಲಿಂಗ?", + "instance": { + "openmrs_entity_id": "gender", + "openmrs_entity": "patient" + }, + "type": "select one" + }, + { + "name": "sex_child_female", + "bind": { + "calculate": "if(${sex_child} = 'female', 1, 0)" + }, + "type": "calculate" + }, + { + "name": "sex_child_male", + "bind": { + "calculate": "if(${sex_child} = 'male', 1, 0)" + }, + "type": "calculate" + }, + { + "name": "birthweight", + "label": "Child birthweight (in kgs)? ಹುಟ್ಟಿದ ಮಗುವಿನ ತೂಕ (ಕೆ.ಜಿ. ಗಳಲ್ಲಿ)?", + "instance": { + "openmrs_entity_id": "323232", + "openmrs_entity": "concept" + }, + "type": "decimal" + }, + { + "control": { + "appearance": "minimal" + }, + "children": [ + { + "name": "a_positive", + "label": "A+", + "instance": { + "openmrs_code": "34324" + } + }, + { + "name": "a_negative", + "label": "A-", + "instance": { + "openmrs_code": "34134" + } + }, + { + "name": "b_positive", + "label": "B+", + "instance": { + "openmrs_code": "1321312" + } + }, + { + "name": "b_negative", + "label": "B-", + "instance": { + "openmrs_code": "43434" + } + }, + { + "name": "ab_positive", + "label": "AB+", + "instance": { + "openmrs_code": "12323214" + } + }, + { + "name": "ab_negative", + "label": "AB-", + "instance": { + "openmrs_code": "11343141" + } + }, + { + "name": "o_positive", + "label": "O+", + "instance": { + "openmrs_code": "134343" + } + }, + { + "name": "o_negative", + "label": "O-", + "instance": { + "openmrs_code": "432434" + } + } + ], + "name": "child_blood_group", + "label": "Child blood group? ಮಗುವಿನ ರಕ್ತದ ಗುಂಪು?", + "instance": { + "openmrs_entity_id": "232112", + "openmrs_entity": "concept" + }, + "type": "select one" + }, + { + "children": [ + { + "name": "bcg", + "label": "BCG ಬಿ.ಸಿ.ಜಿ", + "instance": { + "openmrs_code": "23123" + } + }, + { + "name": "opv_0", + "label": "OPV 0 ಒ.ಪಿ.ವಿ 0", + "instance": { + "openmrs_code": "12312" + } + }, + { + "name": "hepb_0", + "label": "Hep B 0 ಹೆಪಟೆಟಿಸ್ ಬಿ 0", + "instance": { + "openmrs_code": "213123" + } + } + ], + "name": "immunizations_atbirth", + "label": "Immunizations provided at birth? ಹುಟ್ಟಿದ ಮಗುವಿಗೆ ಇಮ್ಯುನೈಜೇಷನ್ ನೀಡಲಾಯಿತೆ?", + "instance": { + "openmrs_entity_id": "199277", + "openmrs_entity": "concept" + }, + "type": "select all that apply" + }, + { + "name": "case_hepb", + "instance": { + "openmrs_entity_id": "100285", + "openmrs_entity": "concept" + }, + "type": "hidden" + }, + { + "children": [ + { + "name": "yes", + "label": "Yes ಹೌದು", + "instance": { + "openmrs_code": "1065" + } + }, + { + "name": "no", + "label": "No ಇಲ್ಲ", + "instance": { + "openmrs_code": "1066" + } + } + ], + "name": "hepb_prophylaxis_provided", + "bind": { + "relevant": "${case_hepb} != ''" + }, + "label": "Hep B prophylaxis provided? ಹೆಪಟೆಟಿಸ್ ಬಿ ರೋಗನಿರೋಧಕ ಚಿಕಿತ್ಸೆ ನೀಡಲಾಗಿದೆತೇ?", + "instance": { + "openmrs_entity_id": "3321323", + "openmrs_entity": "concept" + }, + "type": "select one" + }, + { + "name": "lbw", + "bind": { + "calculate": "if(${birthweight} >= 1.5 and ${birthweight} < 2.5, 'Low_Birth_Weight','')" + }, + "instance": { + "openmrs_entity_id": "1232132", + "openmrs_entity": "concept" + }, + "type": "calculate" + }, + { + "name": "vlbw", + "bind": { + "calculate": "if(${birthweight} < 1.5, 'Very_Low_Birth_Weight', '')" + }, + "instance": { + "openmrs_entity_id": "232133", + "openmrs_entity": "concept" + }, + "type": "calculate" + }, + { + "name": "num_preg_days", + "bind": { + "calculate": "int(date(${delivery_date}) - date(${case_lmp}))" + }, + "instance": { + "openmrs_entity_id": "232323", + "openmrs_entity": "concept" + }, + "type": "calculate" + }, + { + "name": "premature", + "bind": { + "calculate": "if(${num_preg_days} < 259, 'Premature', '')" + }, + "instance": { + "openmrs_entity_id": "232323", + "openmrs_entity": "concept" + }, + "type": "calculate" + }, + { + "name": "premature_message1", + "bind": { + "relevant": "${premature} != ''" + }, + "label": "Baby is premature! Advise kangaroo care and rooming in. ಅವಧಿಗೆ ಮುನ್ನ ಜನಿಸಿದ ಮಗು! ಕಾಂಗರೋ ಆರೈಕೆ ಮತ್ತು ಒಂದೇ ರೂಮಿನಲ್ಲಿಡುವಂತೆ ಸಲಹೆ ನೀಡಿ.", + "type": "note" + }, + { + "name": "is_child_high_risk1", + "bind": { + "calculate": "if(${premature} != '' or ${lbw} != '' or ${vlbw} != '', 'yes', 'no')" + }, + "instance": { + "openmrs_entity_id": "342343", + "openmrs_entity": "concept" + }, + "type": "calculate" + }, + { + "name": "child_high_risk_reasons", + "bind": { + "calculate": "concat(${premature}, ' ', ${lbw}, ' ', ${vlbw})" + }, + "instance": { + "openmrs_entity_id": "423434", + "openmrs_entity": "concept" + }, + "type": "calculate" + }, + { + "name": "high_risk_note_child", + "bind": { + "relevant": "${is_child_high_risk1} = 'yes'" + }, + "label": "Child is at risk because of, ಈಗ ಮಗು ಅಪಾಯದಲ್ಲಿದೆ ಏಕೆಂದರೆ: ${child_high_risk_reasons}", + "type": "note" + }, + { + "children": [ + { + "name": "yes", + "label": "Yes ಹೌದು", + "instance": { + "openmrs_code": "1065" + } + }, + { + "name": "no", + "label": "No ಇಲ್ಲ", + "instance": { + "openmrs_code": "1066" + } + } + ], + "name": "is_child_high_risk", + "bind": { + "required": "yes" + }, + "label": "Do you want to mark child as HR (High Risk)? \nನೀವು ಮಗುವನ್ನು HR (ಹೆಚ್ಚು ಅಪಾಯವಿದೆ) ಎಂದು ಗುರುತಿಸಲು ಬಯಸುವಿರಾ?", + "instance": { + "openmrs_entity_id": "4342343", + "openmrs_entity": "concept" + }, + "type": "select one" + }, + { + "name": "addl_pnc_visit_message", + "bind": { + "relevant": "${is_child_high_risk1} = 'yes'" + }, + "label": "Child needs 3 more PNC visits on days 14, 21, and 28 because of, 14, 21 ಮತ್ತು 28 ನೇ ದಿನಗಳೊಂದು ಮಗುವಿಗೆ 3 ಹೆಚ್ಚಿನ ಭೇಟಿಯ ಅಗತ್ಯವಿದೆ, ಏಕೆಂದರೆ: ${child_high_risk_reasons}", + "type": "note" + } + ], + "name": "child", + "label": "Please enter birth information for each child born. ಜನನವಾದ ಪ್ರತಿ ಮಗುವಿನ ಜನ್ಮ ಮಾಹಿತಿಯನ್ನು ದಯವಿಟ್ಟು ನಮೂದಿಸಿ.", + "instance": { + "openmrs_entity_id": "100029", + "openmrs_entity": "concept" + }, + "type": "repeat" + }, + { + "children": [ + { + "name": "yes", + "label": "Yes ಹೌದು", + "instance": { + "openmrs_code": "1065" + } + }, + { + "name": "no", + "label": "No ಇಲ್ಲ", + "instance": { + "openmrs_code": "1066" + } + } + ], + "name": "mother_survived", + "bind": { + "required": "yes" + }, + "label": "Mother survived childbirth? ಮಗುವಿನ ಜನನದ ನಂತರ ಮಹಿಳೆ ಬದುಕುಳಿದರೆ?", + "instance": { + "openmrs_entity_id": "343434", + "openmrs_entity": "concept" + }, + "type": "select one" + }, + { + "children": [ + { + "name": "yes", + "label": "Yes ಹೌದು", + "instance": { + "openmrs_code": "1065" + } + }, + { + "name": "no", + "label": "No ಇಲ್ಲ", + "instance": { + "openmrs_code": "1066" + } + } + ], + "name": "breastfeeding_postbirth", + "bind": { + "relevant": "${mother_survived} = 'yes'", + "required": "yes" + }, + "label": "Was breastfeeding started within 1 hour of birth? ಹುಟ್ಟಿದ ಒಂದು ಗಂಟೆಯ ಒಳಗೆ ಎದೆಹಾಲು ನೀಡಲಾಯಿತೆ?", + "instance": { + "openmrs_entity_id": "434343", + "openmrs_entity": "concept" + }, + "type": "select one" + } + ], + "name": "live_birth_group", + "bind": { + "relevant": "${delivery_outcome} = 'live_birth'" + }, + "type": "group" + }, + { + "name": "case_num_livingchildren", + "instance": { + "openmrs_entity_id": "434344", + "openmrs_entity": "concept" + }, + "type": "hidden" + }, + { + "name": "num_children_born", + "bind": { + "calculate": "if(${delivery_outcome} = 'still_birth', 0, count(${sex_child}))" + }, + "instance": { + "openmrs_entity_id": "43432", + "openmrs_entity": "concept" + }, + "type": "calculate" + }, + { + "name": "num_livingchildren", + "bind": { + "calculate": "${case_num_livingchildren} + ${num_children_born}" + }, + "instance": { + "openmrs_entity_id": "54541", + "openmrs_entity": "concept" + }, + "type": "calculate" + }, + { + "name": "case_numlivingchildren_female", + "instance": { + "openmrs_entity_id": "57467", + "openmrs_entity": "concept" + }, + "type": "hidden" + }, + { + "name": "num_female_children_born", + "bind": { + "calculate": "sum(${sex_child_female})" + }, + "instance": { + "openmrs_entity_id": "687832", + "openmrs_entity": "concept" + }, + "type": "calculate" + }, + { + "name": "numlivingchildren_female", + "bind": { + "calculate": "${case_numlivingchildren_female} + ${num_female_children_born}" + }, + "instance": { + "openmrs_entity_id": "098343", + "openmrs_entity": "concept" + }, + "type": "calculate" + }, + { + "name": "case_numlivingchildren_male", + "instance": { + "openmrs_entity_id": "98664", + "openmrs_entity": "concept" + }, + "type": "hidden" + }, + { + "name": "num_male_children_born", + "bind": { + "calculate": "sum(${sex_child_male})" + }, + "instance": { + "openmrs_entity_id": "4343656", + "openmrs_entity": "concept" + }, + "type": "calculate" + }, + { + "name": "numlivingchildren_male", + "bind": { + "calculate": "${case_numlivingchildren_male} + ${num_male_children_born}" + }, + "instance": { + "openmrs_entity_id": "342325", + "openmrs_entity": "concept" + }, + "type": "calculate" + }, + { + "children": [ + { + "children": [ + { + "name": "prolonged_obstructed_labor", + "label": "Prolonged / obstructed labor ದೀರ್ಘಕಾಲೀನ / ಅಡಚಣೆಯನ್ನು ತಂದೊಡ್ಡುವ ಹೆರಿಗೆ ನೋವು", + "instance": { + "openmrs_code": "23123" + } + }, + { + "name": "hypertension_fits", + "label": "Severe hypertension / fits ತೀವ್ರತರವಾದ ಅಧಿಕ ರಕ್ತದೊತ್ತಡ / ಮೂರ್ಚೆರೋಗ", + "instance": { + "openmrs_code": "23213" + } + }, + { + "name": "bleeding_hemorrhage", + "label": "Bleeding / hemorrhage ರಕ್ತಸ್ರಾವ", + "instance": { + "openmrs_code": "23123" + } + }, + { + "name": "fever_infection", + "label": "High fever / infection ಅಧಿಕ ಜ್ವರ / ಸೊಂಕು", + "instance": { + "openmrs_code": "2323" + } + }, + { + "name": "cause_not_identified", + "label": "Cause not identified ಕಾರಣವನ್ನು ಗುರುತಿಸಲ್ಪಟ್ಟಿಲ್ಲ", + "instance": { + "openmrs_code": "23213" + } + }, + { + "name": "others", + "label": "Others ಇತರೆ", + "instance": { + "openmrs_code": "23213" + } + } + ], + "name": "maternal_death_cause", + "label": "Cause of maternal death? ತಾಯಿಯ ಮರಣಕ್ಕೆ ಕಾರಣಗಳು?", + "instance": { + "openmrs_entity_id": "43434", + "openmrs_entity": "concept" + }, + "type": "select one" + }, + { + "name": "other_maternal_death_cause", + "bind": { + "relevant": "${maternal_death_cause} = 'others'" + }, + "label": "Others ಇತರೆ:", + "instance": { + "openmrs_entity_id": "43221", + "openmrs_entity": "concept" + }, + "type": "text" + } + ], + "name": "maternal_death_group", + "bind": { + "relevant": "(${woman_survived} = 'no' or ${mother_survived} = 'no')" + }, + "type": "group" + }, + { + "children": [ + { + "name": "case_w_rh_negative", + "instance": { + "openmrs_entity_id": "4324234", + "openmrs_entity": "concept" + }, + "type": "hidden" + }, + { + "children": [ + { + "name": "yes", + "label": "Yes ಹೌದು", + "instance": { + "openmrs_code": "1065" + } + }, + { + "name": "no", + "label": "No ಇಲ್ಲ", + "instance": { + "openmrs_code": "1066" + } + } + ], + "name": "rh_injection_given", + "bind": { + "relevant": "${case_w_rh_negative} != ''" + }, + "label": "Rh injection given to woman? ಮಹಿಳೆಗೆ Rh ಚುಚ್ಚುಮದ್ದು ನೀಡಲಾಯಿತೆ?", + "instance": { + "openmrs_entity_id": "32323", + "openmrs_entity": "concept" + }, + "type": "select one" + }, + { + "children": [ + { + "name": "yes", + "label": "Yes ಹೌದು", + "instance": { + "openmrs_code": "1065" + } + }, + { + "name": "no", + "label": "No ಇಲ್ಲ", + "instance": { + "openmrs_code": "1066" + } + } + ], + "name": "had_delivery_complications", + "label": "Were there delivery complications? ಹೆರಿಗೆಯಲ್ಲಿ ತೊಡಕುಂಟಾಯಿತೆ?", + "instance": { + "openmrs_entity_id": "233234", + "openmrs_entity": "concept" + }, + "type": "select one" + }, + { + "children": [ + { + "name": "hemorrhage", + "label": "Hemorrhage ರಕ್ತಸ್ರಾವ", + "instance": { + "openmrs_code": "4123213" + } + }, + { + "name": "placenta_previa", + "label": "Placenta previa ಹಿಂದಿನ ಗರ್ಭದಲ್ಲಿ ಮಾಸು ಮುಂದಿರುವುದು", + "instance": { + "openmrs_code": "2131413" + } + }, + { + "name": "cord_prolapse", + "label": "Cord prolapse ಬಳ್ಳಿಯ ಸರಿತ", + "instance": { + "openmrs_code": "4134123" + } + }, + { + "name": "prolonged_labor", + "label": "Prolonged / obstructed labor ದೀರ್ಘಕಾಲೀನ / ಅಡಚಣೆಯನ್ನು ತಂದೊಡ್ಡುವ ಹೆರಿಗೆ ನೋವು", + "instance": { + "openmrs_code": "213124123" + } + }, + { + "name": "abnormal_presentation", + "label": "Abnormal presentation ಅಪಸಾಮಾನ್ಯ ಪ್ರಸ್ತುತಿ", + "instance": { + "openmrs_code": "14123123" + } + }, + { + "name": "perineal_tear", + "label": "Perineal tear (2, 3, or 4 degree)", + "instance": { + "openmrs_code": "23123" + } + }, + { + "name": "others", + "label": "Others ಇತರೆ", + "instance": { + "openmrs_code": "32123" + } + } + ], + "name": "complications", + "bind": { + "relevant": "${had_delivery_complications} = 'yes'" + }, + "label": "What delivery complications were there? ಯಾವ ಹೆರಿಗೆ ತೊಂದರೆಗಳು ಉಂಟಾದವು?", + "instance": { + "openmrs_entity_id": "25343", + "openmrs_entity": "concept" + }, + "type": "select all that apply" + }, + { + "name": "delivery_complications_other", + "bind": { + "relevant": "selected(${complications}, 'others')" + }, + "label": "Others ಇತರೆ:", + "instance": { + "openmrs_entity_id": "2355435", + "openmrs_entity": "concept" + }, + "type": "text" + } + ], + "name": "woman_survived_group", + "bind": { + "relevant": "(${woman_survived} = 'yes' or ${mother_survived} = 'yes')" + }, + "type": "group" + }, + { + "name": "case_is_high_risk_till_pnc_close", + "instance": { + "openmrs_entity_id": "8768767", + "openmrs_entity": "concept" + }, + "type": "hidden" + }, + { + "name": "case_is_high_risk_till_pnc_close_reason", + "instance": { + "openmrs_entity_id": "676576", + "openmrs_entity": "concept" + }, + "type": "hidden" + }, + { + "name": "case_anaemic_status", + "instance": { + "openmrs_entity_id": "76767", + "openmrs_entity": "concept" + }, + "type": "hidden" + }, + { + "name": "case_pih", + "instance": { + "openmrs_entity_id": "36787", + "openmrs_entity": "concept" + }, + "type": "hidden" + }, + { + "name": "case_pre_eclampsia", + "instance": { + "openmrs_entity_id": "376784", + "openmrs_entity": "concept" + }, + "type": "hidden" + }, + { + "name": "case_jaundice", + "instance": { + "openmrs_entity_id": "343434", + "openmrs_entity": "concept" + }, + "type": "hidden" + }, + { + "name": "is_high_risk1", + "bind": { + "calculate": "if(${case_is_high_risk_till_pnc_close} = 'yes' or ${case_anaemic_status} != '' or ${case_pih} != '' or ${case_pre_eclampsia} != '' or ${case_jaundice} != '', 'yes', 'no')" + }, + "instance": { + "openmrs_entity_id": "4746767", + "openmrs_entity": "concept" + }, + "type": "calculate" + }, + { + "name": "high_risk_reason", + "bind": { + "calculate": "concat(${case_is_high_risk_till_pnc_close_reason}, ' ', ${case_anaemic_status}, ' ', ${case_pih}, ' ', ${case_pre_eclampsia}, ' ', ${case_jaundice})" + }, + "instance": { + "openmrs_entity_id": "5656", + "openmrs_entity": "concept" + }, + "type": "calculate" + }, + { + "name": "high_risk_note_mother", + "bind": { + "relevant": "${is_high_risk1} = 'yes'" + }, + "label": "Woman is still at risk because of, ಮಹಿಳೆಯು ಈಗಲೂ ಅಪಾಯದಲ್ಲಿದ್ದಾಳೆ ಏಕೆಂದರೆ: ${high_risk_reason}", + "type": "note" + }, + { + "children": [ + { + "name": "yes", + "label": "Yes ಹೌದು", + "instance": { + "openmrs_code": "1065" + } + }, + { + "name": "no", + "label": "No ಇಲ್ಲ", + "instance": { + "openmrs_code": "1066" + } + } + ], + "name": "is_high_risk", + "bind": { + "relevant": "(${woman_survived} = 'yes' or ${mother_survived} = 'yes')", + "required": "yes" + }, + "label": "Do you want to mark woman as HR (High Risk)?\nನೀವು ಮಹಿಳೆಯನ್ನು HR (ಹೆಚ್ಚು ಅಪಾಯವಿದೆ) ಎಂದು ಗುರುತಿಸಲು ಬಯಸುವಿರಾ?", + "instance": { + "openmrs_entity_id": "424253", + "openmrs_entity": "concept" + }, + "type": "select one" + }, + { + "control": { + "bodyless": true + }, + "children": [ + { + "name": "instanceID", + "bind": { + "readonly": "true()", + "calculate": "concat('uuid:', uuid())" + }, + "type": "calculate" + } + ], + "name": "meta", + "type": "group" + } + ], + "instance": { + "encounter_type": "PNC Registration" + }, + "version": "201504300627", + "type": "survey", + "name": "PNC_Registration_EngKan", + "sms_keyword": "Delivery_Outcome_EngKan", + "title": "PNC Registration" +} \ No newline at end of file diff --git a/opensrp-core/bin/src/test/resources/form/pnc_reg_form/form_definition.json b/opensrp-core/bin/src/test/resources/form/pnc_reg_form/form_definition.json new file mode 100644 index 0000000000..c64ffdc42f --- /dev/null +++ b/opensrp-core/bin/src/test/resources/form/pnc_reg_form/form_definition.json @@ -0,0 +1,315 @@ +{ + "form_data_definition_version": "5", + "form": { + "bind_type": "mother", + "default_bind_path": "/model/instance/PNC_Registration_EngKan/", + "fields": [ + { + "name": "id", + "shouldLoadValue": true + }, + { + "name": "ecId", + "shouldLoadValue": true, + "source": "mother.eligible_couple.id" + }, + { + "name": "referenceDate", + "shouldLoadValue": true, + "bind": "/model/instance/PNC_Registration_EngKan/case_lmp" + }, + { + "name": "referenceDate", + "bind": "/model/instance/PNC_Registration_EngKan/delivery_date" + }, + { + "name": "deliveryRegistrationDate", + "bind": "/model/instance/PNC_Registration_EngKan/delivery_reg_date" + }, + { + "name": "deliveryPlace", + "bind": "/model/instance/PNC_Registration_EngKan/place_delivery" + }, + { + "name": "deliveryFacilityName", + "bind": "/model/instance/PNC_Registration_EngKan/name_delivery_facility" + }, + { + "name": "isThisOnlyDeliveryFacility", + "bind": "/model/instance/PNC_Registration_EngKan/only_delivery_facility" + }, + { + "name": "additionalDeliveryFacility", + "bind": "/model/instance/PNC_Registration_EngKan/addl_delivery_facility" + }, + { + "name": "reasonsForAdditionalDeliveryFacility", + "bind": "/model/instance/PNC_Registration_EngKan/reasons_addl_delivery_facility" + }, + { + "name": "otherReasonsForAdditionalDeliveryFacility", + "bind": "/model/instance/PNC_Registration_EngKan/other_reasons_addl_delivery_facility" + }, + { + "name": "isSkilledDelivery", + "bind": "/model/instance/PNC_Registration_EngKan/skilled_delivery" + }, + { + "name": "deliveryType", + "bind": "/model/instance/PNC_Registration_EngKan/type_delivery" + }, + { + "name": "deliveryOutcome", + "bind": "/model/instance/PNC_Registration_EngKan/delivery_outcome" + }, + { + "name": "parity", + "shouldLoadValue": true, + "bind": "/model/instance/PNC_Registration_EngKan/case_parity", + "source": "mother.eligible_couple.parity" + }, + { + "name": "parity", + "bind": "/model/instance/PNC_Registration_EngKan/parity", + "source": "mother.eligible_couple.parity" + }, + { + "name": "numberOfLiveBirths", + "shouldLoadValue": true, + "bind": "/model/instance/PNC_Registration_EngKan/case_num_livebirths", + "source": "mother.eligible_couple.numberOfLiveBirths" + }, + { + "name": "numberOfLiveBirths", + "bind": "/model/instance/PNC_Registration_EngKan/num_livebirths", + "source": "mother.eligible_couple.numberOfLiveBirths" + }, + { + "name": "numberOfStillBirths", + "shouldLoadValue": true, + "bind": "/model/instance/PNC_Registration_EngKan/case_num_stillbirths", + "source": "mother.eligible_couple.numberOfStillBirths" + }, + { + "name": "numberOfStillBirths", + "bind": "/model/instance/PNC_Registration_EngKan/num_stillbirths", + "source": "mother.eligible_couple.numberOfStillBirths" + }, + { + "name": "causeOfStillBirth", + "bind": "/model/instance/PNC_Registration_EngKan/still_birth_group/cause_of_still_birth" + }, + { + "name": "didWomanSurvive", + "bind": "/model/instance/PNC_Registration_EngKan/still_birth_group/woman_survived" + }, + { + "name": "didMotherSurvive", + "bind": "/model/instance/PNC_Registration_EngKan/live_birth_group/mother_survived" + }, + { + "name": "didBreastfeedingStart", + "bind": "/model/instance/PNC_Registration_EngKan/live_birth_group/breastfeeding_postbirth" + }, + { + "name": "maternalDeathCause", + "bind": "/model/instance/PNC_Registration_EngKan/maternal_death_group/maternal_death_cause" + }, + { + "name": "otherMaternalDeathCause", + "bind": "/model/instance/PNC_Registration_EngKan/maternal_death_group/other_maternal_death_cause" + }, + { + "name": "isRHNegative", + "shouldLoadValue": true, + "bind": "/model/instance/PNC_Registration_EngKan/woman_survived_group/case_w_rh_negative" + }, + { + "name": "isRHInjectionGiven", + "bind": "/model/instance/PNC_Registration_EngKan/woman_survived_group/rh_injection_given" + }, + { + "name": "hadDeliveryComplications", + "bind": "/model/instance/PNC_Registration_EngKan/woman_survived_group/had_delivery_complications" + }, + { + "name": "deliveryComplications", + "bind": "/model/instance/PNC_Registration_EngKan/woman_survived_group/complications" + }, + { + "name": "otherDeliveryComplications", + "bind": "/model/instance/PNC_Registration_EngKan/woman_survived_group/delivery_complications_other" + }, + { + "name": "isHighRiskTillPNCClose", + "shouldLoadValue": true, + "bind": "/model/instance/PNC_Registration_EngKan/case_is_high_risk_till_pnc_close" + }, + { + "name": "highRiskTillPNCCloseReason", + "shouldLoadValue": true, + "bind": "/model/instance/PNC_Registration_EngKan/case_is_high_risk_till_pnc_close_reason" + }, + { + "name": "anemicStatus", + "shouldLoadValue": true, + "bind": "/model/instance/PNC_Registration_EngKan/case_anaemic_status" + }, + { + "name": "pih", + "shouldLoadValue": true, + "bind": "/model/instance/PNC_Registration_EngKan/case_pih" + }, + { + "name": "preEclampsia", + "shouldLoadValue": true, + "bind": "/model/instance/PNC_Registration_EngKan/case_pre_eclampsia" + }, + { + "name": "jaundice", + "shouldLoadValue": true, + "bind": "/model/instance/PNC_Registration_EngKan/case_jaundice" + }, + { + "name": "isHighRisk", + "bind": "/model/instance/PNC_Registration_EngKan/is_high_risk" + }, + { + "name": "isBirthPlanningDone", + "shouldLoadValue": true, + "bind": "/model/instance/PNC_Registration_EngKan/case_birth_planning" + }, + { + "name": "highRiskReason", + "bind": "/model/instance/PNC_Registration_EngKan/high_risk_reason" + }, + { + "name": "submissionDate", + "bind": "/model/instance/PNC_Registration_EngKan/today" + }, + { + "name": "type", + "value": "PNC", + "source": "mother.type" + }, + { + "name": "numberOfLivingChildren", + "shouldLoadValue": true, + "bind": "/model/instance/PNC_Registration_EngKan/case_num_livingchildren", + "source": "mother.eligible_couple.numberOfLivingChildren" + }, + { + "name": "numberOfLivingChildren", + "shouldLoadValue": true, + "bind": "/model/instance/PNC_Registration_EngKan/num_livingchildren", + "source": "mother.eligible_couple.numberOfLivingChildren" + }, + { + "name": "numberOfChildrenBorn", + "bind": "/model/instance/PNC_Registration_EngKan/num_children_born" + }, + { + "name": "numberOfFemaleChildrenBorn", + "bind": "/model/instance/PNC_Registration_EngKan/num_female_children_born" + }, + { + "name": "numberOfMaleChildrenBorn", + "bind": "/model/instance/PNC_Registration_EngKan/num_male_children_born" + }, + { + "name": "numberOfLivingFemaleChild", + "shouldLoadValue": true, + "bind": "/model/instance/PNC_Registration_EngKan/case_numlivingchildren_female", + "source": "mother.eligible_couple.numberOfLivingChildrenFemale" + }, + { + "name": "numberOfLivingFemaleChild", + "bind": "/model/instance/PNC_Registration_EngKan/numlivingchildren_female", + "source": "mother.eligible_couple.numberOfLivingChildrenFemale" + }, + { + "name": "numberOfLivingMaleChild", + "shouldLoadValue": true, + "bind": "/model/instance/PNC_Registration_EngKan/case_numlivingchildren_male", + "source": "mother.eligible_couple.numberOfLivingMaleChild" + }, + { + "name": "numberOfLivingMaleChild", + "bind": "/model/instance/PNC_Registration_EngKan/numlivingchildren_male", + "source": "mother.eligible_couple.numberOfLivingMaleChild" + }, + { + "name": "youngestChildDOB", + "bind": "/model/instance/PNC_Registration_EngKan/youngestchild_date_of_birth", + "source": "mother.eligible_couple.youngestChildDOB" + }, + { + "name": "youngestChildAge", + "bind": "/model/instance/PNC_Registration_EngKan/youngestchild_age", + "source": "mother.eligible_couple.youngestChildAge" + } + ], + "sub_forms": [ + { + "name": "child_registration", + "bind_type": "child", + "default_bind_path": "/model/instance/PNC_Registration_EngKan/live_birth_group/child", + "fields": [ + { + "name": "id", + "shouldLoadValue": true + }, + { + "name": "gender", + "bind": "/model/instance/PNC_Registration_EngKan/live_birth_group/child/sex_child" + }, + { + "name": "weight", + "bind": "/model/instance/PNC_Registration_EngKan/live_birth_group/child/birthweight" + }, + { + "name": "bloodGroup", + "bind": "/model/instance/PNC_Registration_EngKan/live_birth_group/child/child_blood_group" + }, + { + "name": "immunizationsGiven", + "bind": "/model/instance/PNC_Registration_EngKan/live_birth_group/child/immunizations_atbirth" + }, + { + "name": "hepB", + "shouldLoadValue": true, + "bind": "/model/instance/PNC_Registration_EngKan/live_birth_group/child/case_hepb" + }, + { + "name": "isHepBProphylaxisProvided", + "bind": "/model/instance/PNC_Registration_EngKan/live_birth_group/child/hepb_prophylaxis_provided" + }, + { + "name": "isChildHighRisk1", + "bind": "/model/instance/PNC_Registration_EngKan/live_birth_group/child/is_child_high_risk1" + }, + { + "name": "childHighRiskReasons", + "bind": "/model/instance/PNC_Registration_EngKan/live_birth_group/child/child_high_risk_reasons" + }, + { + "name": "isChildHighRisk", + "bind": "/model/instance/PNC_Registration_EngKan/live_birth_group/child/is_child_high_risk" + }, + { + "name": "lbw", + "bind": "/model/instance/PNC_Registration_EngKan/live_birth_group/child/lbw" + }, + { + "name": "vlbw", + "bind": "/model/instance/PNC_Registration_EngKan/live_birth_group/child/vlbw" + }, + { + "name": "premature", + "bind": "/model/instance/PNC_Registration_EngKan/live_birth_group/child/premature" + } + ] + } + ] + } +} diff --git a/opensrp-core/bin/src/test/resources/form/pnc_reg_form/form_submission.json b/opensrp-core/bin/src/test/resources/form/pnc_reg_form/form_submission.json new file mode 100644 index 0000000000..5ec548d617 --- /dev/null +++ b/opensrp-core/bin/src/test/resources/form/pnc_reg_form/form_submission.json @@ -0,0 +1,459 @@ +{ + "anmId": "admin", + "clientVersion": "1426830449320", + "entityId": "b716d938-1aea-40ae-a081-9ddddddcccc9", + "formDataDefinitionVersion": "5", + "formName": "pnc_reg_form", + "formInstance": { + "form_data_definition_version": "5", + "form": { + "bind_type": "mother", + "default_bind_path": "/model/instance/PNC_Registration_EngKan/", + "fields": [ + { + "name": "id", + "shouldLoadValue": true, + "source": "mother.id", + "value": "7efb9e31-0e26-496e-bd16-e09a3b0d1a31" + }, + { + "name": "ecId", + "shouldLoadValue": true, + "source": "mother.eligible_couple.id", + "value": "aa786612-e7a8-4fea-b733-3de4d898f4d6" + }, + { + "name": "referenceDate", + "shouldLoadValue": true, + "bind": "/model/instance/PNC_Registration_EngKan/case_lmp", + "source": "mother.referenceDate", + "value": "2014-02-20" + }, + { + "name": "referenceDate", + "bind": "/model/instance/PNC_Registration_EngKan/delivery_date", + "source": "mother.referenceDate", + "value": "2015-02-20" + }, + { + "name": "deliveryRegistrationDate", + "bind": "/model/instance/PNC_Registration_EngKan/delivery_reg_date", + "source": "mother.deliveryRegistrationDate", + "value": "2015-03-20" + }, + { + "name": "deliveryPlace", + "bind": "/model/instance/PNC_Registration_EngKan/place_delivery", + "source": "mother.deliveryPlace", + "value": "home" + }, + { + "name": "deliveryFacilityName", + "bind": "/model/instance/PNC_Registration_EngKan/name_delivery_facility", + "source": "mother.deliveryFacilityName" + }, + { + "name": "isThisOnlyDeliveryFacility", + "bind": "/model/instance/PNC_Registration_EngKan/only_delivery_facility", + "source": "mother.isThisOnlyDeliveryFacility", + "value": "yes" + }, + { + "name": "additionalDeliveryFacility", + "bind": "/model/instance/PNC_Registration_EngKan/addl_delivery_facility", + "source": "mother.additionalDeliveryFacility" + }, + { + "name": "reasonsForAdditionalDeliveryFacility", + "bind": "/model/instance/PNC_Registration_EngKan/reasons_addl_delivery_facility", + "source": "mother.reasonsForAdditionalDeliveryFacility" + }, + { + "name": "otherReasonsForAdditionalDeliveryFacility", + "bind": "/model/instance/PNC_Registration_EngKan/other_reasons_addl_delivery_facility", + "source": "mother.otherReasonsForAdditionalDeliveryFacility" + }, + { + "name": "isSkilledDelivery", + "bind": "/model/instance/PNC_Registration_EngKan/skilled_delivery", + "source": "mother.isSkilledDelivery", + "value": "yes" + }, + { + "name": "deliveryType", + "bind": "/model/instance/PNC_Registration_EngKan/type_delivery", + "source": "mother.deliveryType", + "value": "normal" + }, + { + "name": "deliveryOutcome", + "bind": "/model/instance/PNC_Registration_EngKan/delivery_outcome", + "source": "mother.deliveryOutcome", + "value": "live_birth" + }, + { + "name": "parity", + "shouldLoadValue": true, + "bind": "/model/instance/PNC_Registration_EngKan/case_parity", + "source": "mother.eligible_couple.parity", + "value": "0" + }, + { + "name": "parity", + "bind": "/model/instance/PNC_Registration_EngKan/parity", + "source": "mother.eligible_couple.parity", + "value": "1" + }, + { + "name": "numberOfLiveBirths", + "shouldLoadValue": true, + "bind": "/model/instance/PNC_Registration_EngKan/case_num_livebirths", + "source": "mother.eligible_couple.numberOfLiveBirths", + "value": "0" + }, + { + "name": "numberOfLiveBirths", + "bind": "/model/instance/PNC_Registration_EngKan/num_livebirths", + "source": "mother.eligible_couple.numberOfLiveBirths", + "value": "1" + }, + { + "name": "numberOfStillBirths", + "shouldLoadValue": true, + "bind": "/model/instance/PNC_Registration_EngKan/case_num_stillbirths", + "source": "mother.eligible_couple.numberOfStillBirths", + "value": "0" + }, + { + "name": "numberOfStillBirths", + "bind": "/model/instance/PNC_Registration_EngKan/num_stillbirths", + "source": "mother.eligible_couple.numberOfStillBirths" + }, + { + "name": "causeOfStillBirth", + "bind": "/model/instance/PNC_Registration_EngKan/still_birth_group/cause_of_still_birth", + "source": "mother.causeOfStillBirth" + }, + { + "name": "didWomanSurvive", + "bind": "/model/instance/PNC_Registration_EngKan/still_birth_group/woman_survived", + "source": "mother.didWomanSurvive" + }, + { + "name": "didMotherSurvive", + "bind": "/model/instance/PNC_Registration_EngKan/live_birth_group/mother_survived", + "source": "mother.didMotherSurvive", + "value": "yes" + }, + { + "name": "didBreastfeedingStart", + "bind": "/model/instance/PNC_Registration_EngKan/live_birth_group/breastfeeding_postbirth", + "source": "mother.didBreastfeedingStart", + "value": "yes" + }, + { + "name": "maternalDeathCause", + "bind": "/model/instance/PNC_Registration_EngKan/maternal_death_group/maternal_death_cause", + "source": "mother.maternalDeathCause" + }, + { + "name": "otherMaternalDeathCause", + "bind": "/model/instance/PNC_Registration_EngKan/maternal_death_group/other_maternal_death_cause", + "source": "mother.otherMaternalDeathCause" + }, + { + "name": "isRHNegative", + "shouldLoadValue": true, + "bind": "/model/instance/PNC_Registration_EngKan/woman_survived_group/case_w_rh_negative", + "source": "mother.isRHNegative" + }, + { + "name": "isRHInjectionGiven", + "bind": "/model/instance/PNC_Registration_EngKan/woman_survived_group/rh_injection_given", + "source": "mother.isRHInjectionGiven" + }, + { + "name": "hadDeliveryComplications", + "bind": "/model/instance/PNC_Registration_EngKan/woman_survived_group/had_delivery_complications", + "source": "mother.hadDeliveryComplications", + "value": "yes" + }, + { + "name": "deliveryComplications", + "bind": "/model/instance/PNC_Registration_EngKan/woman_survived_group/complications", + "source": "mother.deliveryComplications", + "value": "hemorrhage placenta_previa" + }, + { + "name": "otherDeliveryComplications", + "bind": "/model/instance/PNC_Registration_EngKan/woman_survived_group/delivery_complications_other", + "source": "mother.otherDeliveryComplications" + }, + { + "name": "isHighRiskTillPNCClose", + "shouldLoadValue": true, + "bind": "/model/instance/PNC_Registration_EngKan/case_is_high_risk_till_pnc_close", + "source": "mother.isHighRiskTillPNCClose", + "value": "no" + }, + { + "name": "highRiskTillPNCCloseReason", + "shouldLoadValue": true, + "bind": "/model/instance/PNC_Registration_EngKan/case_is_high_risk_till_pnc_close_reason", + "source": "mother.highRiskTillPNCCloseReason" + }, + { + "name": "anemicStatus", + "shouldLoadValue": true, + "bind": "/model/instance/PNC_Registration_EngKan/case_anaemic_status", + "source": "mother.anemicStatus" + }, + { + "name": "pih", + "shouldLoadValue": true, + "bind": "/model/instance/PNC_Registration_EngKan/case_pih", + "source": "mother.pih" + }, + { + "name": "preEclampsia", + "shouldLoadValue": true, + "bind": "/model/instance/PNC_Registration_EngKan/case_pre_eclampsia", + "source": "mother.preEclampsia" + }, + { + "name": "jaundice", + "shouldLoadValue": true, + "bind": "/model/instance/PNC_Registration_EngKan/case_jaundice", + "source": "mother.jaundice" + }, + { + "name": "isHighRisk", + "bind": "/model/instance/PNC_Registration_EngKan/is_high_risk", + "source": "mother.isHighRisk", + "value": "yes" + }, + { + "name": "isBirthPlanningDone", + "shouldLoadValue": true, + "bind": "/model/instance/PNC_Registration_EngKan/case_birth_planning", + "source": "mother.isBirthPlanningDone" + }, + { + "name": "highRiskReason", + "bind": "/model/instance/PNC_Registration_EngKan/high_risk_reason", + "source": "mother.highRiskReason" + }, + { + "name": "submissionDate", + "bind": "/model/instance/PNC_Registration_EngKan/today", + "source": "mother.submissionDate", + "value": "2015-03-20" + }, + { + "name": "type", + "value": "PNC", + "source": "mother.type" + }, + { + "name": "numberOfLivingChildren", + "shouldLoadValue": true, + "bind": "/model/instance/PNC_Registration_EngKan/case_num_livingchildren", + "source": "mother.eligible_couple.numberOfLivingChildren", + "value": "0" + }, + { + "name": "numberOfLivingChildren", + "shouldLoadValue": true, + "bind": "/model/instance/PNC_Registration_EngKan/num_livingchildren", + "source": "mother.eligible_couple.numberOfLivingChildren", + "value": "3" + }, + { + "name": "numberOfChildrenBorn", + "bind": "/model/instance/PNC_Registration_EngKan/num_children_born", + "source": "mother.numberOfChildrenBorn", + "value": "3" + }, + { + "name": "numberOfFemaleChildrenBorn", + "bind": "/model/instance/PNC_Registration_EngKan/num_female_children_born", + "source": "mother.numberOfFemaleChildrenBorn", + "value": "1" + }, + { + "name": "numberOfMaleChildrenBorn", + "bind": "/model/instance/PNC_Registration_EngKan/num_male_children_born", + "source": "mother.numberOfMaleChildrenBorn", + "value": "2" + }, + { + "name": "numberOfLivingFemaleChild", + "shouldLoadValue": true, + "bind": "/model/instance/PNC_Registration_EngKan/case_numlivingchildren_female", + "source": "mother.eligible_couple.numberOfLivingChildrenFemale" + }, + { + "name": "numberOfLivingFemaleChild", + "bind": "/model/instance/PNC_Registration_EngKan/numlivingchildren_female", + "source": "mother.eligible_couple.numberOfLivingChildrenFemale", + "value": "NaN" + }, + { + "name": "numberOfLivingMaleChild", + "shouldLoadValue": true, + "bind": "/model/instance/PNC_Registration_EngKan/case_numlivingchildren_male", + "source": "mother.eligible_couple.numberOfLivingMaleChild" + }, + { + "name": "numberOfLivingMaleChild", + "bind": "/model/instance/PNC_Registration_EngKan/numlivingchildren_male", + "source": "mother.eligible_couple.numberOfLivingMaleChild", + "value": "NaN" + }, + { + "name": "youngestChildDOB", + "bind": "/model/instance/PNC_Registration_EngKan/youngestchild_date_of_birth", + "source": "mother.eligible_couple.youngestChildDOB", + "value": "2015-02-20" + }, + { + "name": "youngestChildAge", + "bind": "/model/instance/PNC_Registration_EngKan/youngestchild_age", + "source": "mother.eligible_couple.youngestChildAge", + "value": "0" + } + ], + "sub_forms": [ + { + "name": "child_registration", + "bind_type": "child", + "default_bind_path": "/model/instance/PNC_Registration_EngKan/live_birth_group/child", + "fields": [ + { + "name": "id", + "shouldLoadValue": true, + "source": "child.id" + }, + { + "name": "gender", + "bind": "/model/instance/PNC_Registration_EngKan/live_birth_group/child/sex_child", + "source": "child.gender" + }, + { + "name": "birthdate", + "bind": "/model/instance/PNC_Registration_EngKan/live_birth_group/child/birthdate", + "source": "child.birthdate" + }, + { + + "name": "weight", + "bind": "/model/instance/PNC_Registration_EngKan/live_birth_group/child/birthweight", + "source": "child.weight" + }, + { + "name": "bloodGroup", + "bind": "/model/instance/PNC_Registration_EngKan/live_birth_group/child/child_blood_group", + "source": "child.bloodGroup" + }, + { + "name": "immunizationsGiven", + "bind": "/model/instance/PNC_Registration_EngKan/live_birth_group/child/immunizations_atbirth", + "source": "child.immunizationsGiven" + }, + { + "name": "hepB", + "shouldLoadValue": true, + "bind": "/model/instance/PNC_Registration_EngKan/live_birth_group/child/case_hepb", + "source": "child.hepB" + }, + { + "name": "isHepBProphylaxisProvided", + "bind": "/model/instance/PNC_Registration_EngKan/live_birth_group/child/hepb_prophylaxis_provided", + "source": "child.isHepBProphylaxisProvided" + }, + { + "name": "isChildHighRisk1", + "bind": "/model/instance/PNC_Registration_EngKan/live_birth_group/child/is_child_high_risk1", + "source": "child.isChildHighRisk1" + }, + { + "name": "childHighRiskReasons", + "bind": "/model/instance/PNC_Registration_EngKan/live_birth_group/child/child_high_risk_reasons", + "source": "child.childHighRiskReasons" + }, + { + "name": "isChildHighRisk", + "bind": "/model/instance/PNC_Registration_EngKan/live_birth_group/child/is_child_high_risk", + "source": "child.isChildHighRisk" + }, + { + "name": "lbw", + "bind": "/model/instance/PNC_Registration_EngKan/live_birth_group/child/lbw", + "source": "child.lbw" + }, + { + "name": "vlbw", + "bind": "/model/instance/PNC_Registration_EngKan/live_birth_group/child/vlbw", + "source": "child.vlbw" + }, + { + "name": "premature", + "bind": "/model/instance/PNC_Registration_EngKan/live_birth_group/child/premature", + "source": "child.premature" + } + ], + "instances": [ + { + "gender": "male", + "birthdate":"2015-03-05", + "weight": "2", + "bloodGroup": "a_negative", + "immunizationsGiven": "bcg", + "hepB": "", + "isHepBProphylaxisProvided": "", + "lbw": "Low_Birth_Weight", + "vlbw": "", + "premature": "", + "isChildHighRisk1": "yes", + "childHighRiskReasons": " Low_Birth_Weight ", + "isChildHighRisk": "yes", + "id": "e9a91c61-0d33-42d3-bf9b-560b4d08c74f" + }, + { + "gender": "male", + "birthdate":"2015-04-05", + "weight": "", + "bloodGroup": "a_negative", + "immunizationsGiven": "bcg", + "hepB": "", + "isHepBProphylaxisProvided": "", + "lbw": "", + "vlbw": "", + "premature": "", + "isChildHighRisk1": "no", + "childHighRiskReasons": "", + "isChildHighRisk": "yes", + "id": "c7305d21-0b90-4c15-a88f-b08338d3aed9" + }, + { + "gender": "female", + "birthdate":"2015-05-05", + "weight": "", + "bloodGroup": "a_negative", + "immunizationsGiven": "bcg", + "hepB": "", + "isHepBProphylaxisProvided": "", + "lbw": "", + "vlbw": "", + "premature": "", + "isChildHighRisk1": "no", + "childHighRiskReasons": "", + "isChildHighRisk": "no", + "id": "6c2d772b-7d6a-4a05-a83d-5168c183ef42" + } + ] + } + ] + } + } +} \ No newline at end of file diff --git a/opensrp-core/bin/src/test/resources/form/pnc_reg_form/model.xml b/opensrp-core/bin/src/test/resources/form/pnc_reg_form/model.xml new file mode 100644 index 0000000000..21130a05e8 --- /dev/null +++ b/opensrp-core/bin/src/test/resources/form/pnc_reg_form/model.xml @@ -0,0 +1,91 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/opensrp-core/bin/src/test/resources/form/vaccine_stock_position/form.json b/opensrp-core/bin/src/test/resources/form/vaccine_stock_position/form.json new file mode 100644 index 0000000000..3405ad7da9 --- /dev/null +++ b/opensrp-core/bin/src/test/resources/form/vaccine_stock_position/form.json @@ -0,0 +1 @@ +{"name":"Vaccine_Stock_Position","title":"ویکسین اسٹاک پوزیشن - Vaccine Stock Position","sms_keyword":"vaccine_stock_position","default_language":"English","instance":{"encounter_type":"Vaccine stock position"},"version":"201604080502","id_string":"vaccine_stock_position","type":"survey","children":[{"type":"hidden","name":"provider_uc"},{"type":"hidden","name":"provider_town"},{"type":"hidden","name":"provider_city"},{"type":"hidden","name":"provider_province"},{"type":"hidden","name":"provider_id"},{"instance":{"openmrs_entity_id":"location_id","openmrs_entity":"encounter"},"type":"hidden","name":"provider_location_id"},{"type":"hidden","name":"provider_location_name"},{"type":"note","name":"provider_location_note","label":{"Urdu":"شہر: ${provider_city} ; Town: ${provider_town} ; UC: ${provider_uc} ; Center Name: ${provider_location_name}","English":"City: ${provider_city} ; Town: ${provider_town} ; UC: ${provider_uc} ; Center Name: ${provider_location_name}","Roman Urdu":"Shehr: ${provider_city} ; Town: ${provider_town} ; UC: ${provider_uc} ; Center Name: ${provider_location_name}"}},{"instance":{"openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"start","name":"start"},{"instance":{"openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"end","name":"end"},{"instance":{"openmrs_entity_id":"163286AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"today","name":"today"},{"instance":{"openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"deviceid","name":"deviceid"},{"instance":{"openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"subscriberid","name":"subscriberid"},{"instance":{"openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"simserial","name":"simserial"},{"instance":{"openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"phonenumber","name":"phonenumber"},{"bind":{"calculate":"format-date(${today}, '%e-%n-%Y')"},"type":"calculate","name":"date_formatted"},{"type":"note","name":"vaccinator_name","label":{"Urdu":"${provider_id}","English":"${provider_id}","Roman Urdu":"${provider_id}"}},{"type":"note","name":"center_name","label":{"Urdu":"سینٹر کا نام: {provider_location_name}$","English":"Center Name: ${provider_location_name}","Roman Urdu":"Center ka naam: ${provider_location_name}"}},{"instance":{"openmrs_entity_id":"encounter_date","openmrs_entity":"encounter"},"type":"date","name":"date","label":{"Urdu":"تاریخ","English":"Date","Roman Urdu":"Tareekh"}},{"name":"report","bind":{"required":"yes"},"label":{"Urdu":"رپورٹ کی قسم","English":"Report Type","Roman Urdu":"Report ki kism"},"instance":{"openmrs_entity_id":"163331AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"select one","children":[{"instance":{"openmrs_code":"160862AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"daily","label":{"Urdu":"روزانہ کی رپورٹ","Roman Urdu":"Rozaana ki report","English":"Daily"}},{"instance":{"openmrs_code":"1098AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"monthly","label":{"Urdu":"ماہانہ رپورٹ","Roman Urdu":"Mahaana report","English":"Monthly"}}]},{"bind":{"relevant":"selected(${report}, 'monthly')","required":"yes"},"type":"integer","instance":{"openmrs_entity_id":"163174AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"name":"Target_assigned_for_vaccination_at_each_month","label":{"Urdu":"ویکسین لگانے کا ماہانہ ہدف","English":"Monthly Target","Roman Urdu":"Vaccine laganay ka mahaana hadf"}},{"bind":{"relevant":"selected(${report}, 'monthly')","required":"yes"},"type":"integer","instance":{"openmrs_entity_id":"163175AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"name":"Target_assigned_for_vaccination_for_the_year","label":{"Urdu":"ویکسین لگانے کا سالانہ ہدف","English":"Yearly Target","Roman Urdu":"Vaccine laganay ka salaana hadf"}},{"name":"bcg_balance_in_hand","hint":{"Urdu":"شیشیوں کی تعداد","Roman Urdu":"Sheeshion ki taadaad","English":"Number of vials"},"bind":{"relevant":"selected(${report}, 'monthly')","required":"yes"},"label":{"Urdu":"موجودہ بی سی جی کی تعداد","Roman Urdu":"Maujooda BCG ki taadaad","English":"BCG balance in hand"},"instance":{"openmrs_entity":"concept","openmrs_entity_id":"163173AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"886AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"type":"integer"},{"name":"bcg_received","hint":{"Urdu":"شیشیوں کی تعداد","Roman Urdu":"Sheeshion ki taadaad","English":"Number of vials"},"bind":{"relevant":"selected(${report}, 'monthly')","required":"yes"},"label":{"Urdu":"موصول ہونے والی بی سی جی کی تعداد","Roman Urdu":"Mausool honay wali BCG ki taadaad","English":"BCG received"},"instance":{"openmrs_entity":"concept","openmrs_entity_id":"163170AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"886AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"type":"integer"},{"name":"bcg_wasted","hint":{"Urdu":"شیشیوں کی تعداد","Roman Urdu":"Sheeshion ki taadaad","English":"Number of vials"},"bind":{"relevant":"selected(${report}, 'daily')","required":"yes"},"label":{"Urdu":"ضائع ہونے والی بی سی جی کی تعداد","Roman Urdu":"Zaya honay wali BCG ki taadaad","English":"BCG wasted"},"instance":{"openmrs_entity":"concept","openmrs_entity_id":"163172AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"886AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"type":"integer"},{"name":"opv_balance_in_hand","hint":{"Urdu":"شیشیوں کی تعداد","Roman Urdu":"Sheeshion ki taadaad","English":"Number of vials"},"bind":{"relevant":"selected(${report}, 'monthly')","required":"yes"},"label":{"Urdu":"موجودہ او پی وی کی تعداد","Roman Urdu":"Maujooda OPV ki taadaad","English":"OPV balance in hand"},"instance":{"openmrs_entity":"concept","openmrs_entity_id":"163173AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"type":"integer"},{"name":"opv_received","hint":{"Urdu":"شیشیوں کی تعداد","Roman Urdu":"Sheeshion ki taadaad","English":"Number of vials"},"bind":{"relevant":"selected(${report}, 'monthly')","required":"yes"},"label":{"Urdu":"موصول ہونے والی او پی وی کی تعداد","Roman Urdu":"Mausool honay wali OPV ki taadaad","English":"OPV received"},"instance":{"openmrs_entity":"concept","openmrs_entity_id":"163170AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"type":"integer"},{"name":"opv_wasted","hint":{"Urdu":"شیشیوں کی تعداد","Roman Urdu":"Sheeshion ki taadaad","English":"Number of vials"},"bind":{"relevant":"selected(${report}, 'daily')","required":"yes"},"label":{"Urdu":"ضائع ہونے والی او پی وی کی تعداد","Roman Urdu":"Zaya honay wali OPV ki taadaad","English":"OPV wasted"},"instance":{"openmrs_entity":"concept","openmrs_entity_id":"163172AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"type":"integer"},{"name":"ipv_balance_in_hand","hint":{"Urdu":"شیشیوں کی تعداد","Roman Urdu":"Sheeshion ki taadaad","English":"Number of vials"},"bind":{"relevant":"selected(${report}, 'monthly')","required":"yes"},"label":{"Urdu":"موجودہ آئی پی وی کی تعداد","Roman Urdu":"Maujooda IPV ki taadaad","English":"IPV balance in hand"},"instance":{"openmrs_entity":"concept","openmrs_entity_id":"163173AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"1422AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"type":"integer"},{"name":"ipv_received","hint":{"Urdu":"شیشیوں کی تعداد","Roman Urdu":"Sheeshion ki taadaad","English":"Number of vials"},"bind":{"relevant":"selected(${report}, 'monthly')","required":"yes"},"label":{"Urdu":"موصول ہونے والی آئی پی وی کی تعداد","Roman Urdu":"Mausool honay wali IPV ki taadaad","English":"IPV received"},"instance":{"openmrs_entity":"concept","openmrs_entity_id":"163170AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"1422AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"type":"integer"},{"name":"ipv_wasted","hint":{"Urdu":"شیشیوں کی تعداد","Roman Urdu":"Sheeshion ki taadaad","English":"Number of vials"},"bind":{"relevant":"selected(${report}, 'daily')","required":"yes"},"label":{"Urdu":"ضائع ہونے والی آئی پی وی کی تعداد","Roman Urdu":"Zaya honay wali IPV ki taadaad","English":"IPV wasted"},"instance":{"openmrs_entity":"concept","openmrs_entity_id":"163172AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"1422AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"type":"integer"},{"name":"pcv_balance_in_hand","hint":{"Urdu":"شیشیوں کی تعداد","Roman Urdu":"Sheeshion ki taadaad","English":"Number of vials"},"bind":{"relevant":"selected(${report}, 'monthly')","required":"yes"},"label":{"Urdu":"موجودہ پی سی وی کی تعداد","Roman Urdu":"Maujooda PCV ki taadaad","English":"PCV balance in hand"},"instance":{"openmrs_entity":"concept","openmrs_entity_id":"163173AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"type":"integer"},{"name":"pcv_received","hint":{"Urdu":"شیشیوں کی تعداد","Roman Urdu":"Sheeshion ki taadaad","English":"Number of vials"},"bind":{"relevant":"selected(${report}, 'monthly')","required":"yes"},"label":{"Urdu":"موصول ہونے والی پی سی وی کی تعداد","Roman Urdu":"Mausool honay wali PCV ki taadaad","English":"PCV received"},"instance":{"openmrs_entity":"concept","openmrs_entity_id":"163170AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"type":"integer"},{"name":"pcv_wasted","hint":{"Urdu":"شیشیوں کی تعداد","Roman Urdu":"Sheeshion ki taadaad","English":"Number of vials"},"bind":{"relevant":"selected(${report}, 'daily')","required":"yes"},"label":{"Urdu":"ضائع ہونے والی پی سی وی کی تعداد","Roman Urdu":"Zaya honay wali PCV ki taadaad","English":"PCV wasted"},"instance":{"openmrs_entity":"concept","openmrs_entity_id":"163172AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"type":"integer"},{"name":"penta_balance_in_hand","hint":{"Urdu":"شیشیوں کی تعداد","Roman Urdu":"Sheeshion ki taadaad","English":"Number of vials"},"bind":{"relevant":"selected(${report}, 'monthly')","required":"yes"},"label":{"Urdu":"موجودہ پینٹاویلنٹ کی تعداد","Roman Urdu":"Maujooda Pentavalent ki taadaad","English":"Penta balance in hand"},"instance":{"openmrs_entity":"concept","openmrs_entity_id":"163173AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"type":"integer"},{"name":"penta_received","hint":{"Urdu":"شیشیوں کی تعداد","Roman Urdu":"Sheeshion ki taadaad","English":"Number of vials"},"bind":{"relevant":"selected(${report}, 'monthly')","required":"yes"},"label":{"Urdu":"موصول ہونے والی پینٹاویلنٹ کی تعداد","Roman Urdu":"Mausool honay wali Pentavalent ki taadaad","English":"Penta received"},"instance":{"openmrs_entity":"concept","openmrs_entity_id":"163170AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"type":"integer"},{"name":"penta_wasted","hint":{"Urdu":"شیشیوں کی تعداد","Roman Urdu":"Sheeshion ki taadaad","English":"Number of vials"},"bind":{"relevant":"selected(${report}, 'daily')","required":"yes"},"label":{"Urdu":"ضائع ہونے والی پینٹاویلنٹ کی تعداد","Roman Urdu":"Zaya honay wali Pentavalent ki taadaad","English":"Penta wasted"},"instance":{"openmrs_entity":"concept","openmrs_entity_id":"163172AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162339AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"type":"integer"},{"name":"measles_balance_in_hand","hint":{"Urdu":"شیشیوں کی تعداد","Roman Urdu":"Sheeshion ki taadaad","English":"Number of vials"},"bind":{"relevant":"selected(${report}, 'monthly')","required":"yes"},"label":{"Urdu":"موجودہ خسرے کے ٹیکوں کی تعداد","Roman Urdu":"Maujooda khasray ke teekon ki taadaad","English":"Measles balance in hand"},"instance":{"openmrs_entity":"concept","openmrs_entity_id":"163173AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"79409AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"type":"integer"},{"name":"measles_received","hint":{"Urdu":"شیشیوں کی تعداد","Roman Urdu":"Sheeshion ki taadaad","English":"Number of vials"},"bind":{"relevant":"selected(${report}, 'monthly')","required":"yes"},"label":{"Urdu":"موصول ہونے والے خسرے کے ٹیکوں کی تعداد","Roman Urdu":"Mausool honay walay khasray ke teekay ki taadaad","English":"Measles received"},"instance":{"openmrs_entity":"concept","openmrs_entity_id":"163170AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"79409AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"type":"integer"},{"name":"measles_wasted","hint":{"Urdu":"شیشیوں کی تعداد","Roman Urdu":"Sheeshion ki taadaad","English":"Number of vials"},"bind":{"relevant":"selected(${report}, 'daily')","required":"yes"},"label":{"Urdu":"ضائع ہونے والے خسرے کے ٹیکوں کی تعداد","Roman Urdu":"Zaya honay walay khasray ke teekay ki taadaad","English":"Measles wasted"},"instance":{"openmrs_entity":"concept","openmrs_entity_id":"163172AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"79409AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"type":"integer"},{"name":"tt_balance_in_hand","hint":{"Urdu":"شیشیوں کی تعداد","Roman Urdu":"Sheeshion ki taadaad","English":"Number of vials"},"bind":{"relevant":"selected(${report}, 'monthly')","required":"yes"},"label":{"Urdu":"موجودہ ٹی ٹی کی تعداد","Roman Urdu":"Maujooda TT ki taadaad","English":"TT balance in hand"},"instance":{"openmrs_entity":"concept","openmrs_entity_id":"163173AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"type":"integer"},{"name":"tt_received","hint":{"Urdu":"شیشیوں کی تعداد","Roman Urdu":"Sheeshion ki taadaad","English":"Number of vials"},"bind":{"relevant":"selected(${report}, 'monthly')","required":"yes"},"label":{"Urdu":"موصول ہونے والی ٹی ٹی کی تعداد","Roman Urdu":"Mausool honay wali TT ki taadaad","English":"TT received"},"instance":{"openmrs_entity":"concept","openmrs_entity_id":"163170AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"type":"integer"},{"name":"tt_wasted","hint":{"Urdu":"شیشیوں کی تعداد","Roman Urdu":"Sheeshion ki taadaad","English":"Number of vials"},"bind":{"relevant":"selected(${report}, 'daily')","required":"yes"},"label":{"Urdu":"ضائع ہونے والی ٹی ٹی کی تعداد","Roman Urdu":"Zaya honay wali TT ki taadaad","English":"TT wasted"},"instance":{"openmrs_entity":"concept","openmrs_entity_id":"163172AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"type":"integer"},{"name":"dilutants_balance_in_hand","hint":{"Urdu":"شیشیوں کی تعداد","Roman Urdu":"Sheeshion ki taadaad","English":"Number of vials"},"bind":{"relevant":"selected(${report}, 'monthly')","required":"yes"},"label":{"Urdu":"انجیکشن کے لئے موجودہ جراثیم سے پاک پانی کی شیشیوں کی تعداد","Roman Urdu":"Injection ke liye maujooda jaraseem se paak paani ki sheeshion ki taadaad","English":"Dilutants balance in hand"},"instance":{"openmrs_entity":"concept","openmrs_entity_id":"163173AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"163287AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"type":"integer"},{"name":"dilutants_received","hint":{"Urdu":"شیشیوں کی تعداد","Roman Urdu":"Sheeshion ki taadaad","English":"Number of vials"},"bind":{"relevant":"selected(${report}, 'monthly')","required":"yes"},"label":{"Urdu":"انجیکشن کے لئے موصول ہونے والا جراثیم سے پاک پانی کی شیشیوں کی تعداد","Roman Urdu":"Injection ke liye mausool honay wala jaraseem se paak paani ki sheeshion ki taadaad","English":"Dilutants received"},"instance":{"openmrs_entity":"concept","openmrs_entity_id":"163170AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"163287AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"type":"integer"},{"name":"dilutants_wasted","hint":{"Urdu":"شیشیوں کی تعداد","Roman Urdu":"Sheeshion ki taadaad","English":"Number of vials"},"bind":{"relevant":"selected(${report}, 'daily')","required":"yes"},"label":{"Urdu":"انجیکشن کے لئے ضائع ہونے والا جراثیم سے پاک پانی کی شیشیوں کی تعداد","Roman Urdu":"Injection ke liye zaya honay wala jaraseem se paak paani ki sheeshion ki taadaad","English":"Dilutants wasted"},"instance":{"openmrs_entity":"concept","openmrs_entity_id":"163172AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"163287AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"type":"integer"},{"name":"syringes_balance_in_hand","hint":{"Urdu":"سرنج کی تعداد","Roman Urdu":"Syringe ki taadaad","English":"Number of syringes"},"bind":{"relevant":"selected(${report}, 'monthly')","required":"yes"},"label":{"Urdu":"موجودہ سرنج کی تعداد","Roman Urdu":"Maujooda siranj ki taadaad","English":"Syringes balance in hand"},"instance":{"openmrs_entity":"concept","openmrs_entity_id":"163173AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162377AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"type":"integer"},{"name":"syringes_received","hint":{"Urdu":"سرنج کی تعداد","Roman Urdu":"Syringe ki taadaad","English":"Number of syringes"},"bind":{"relevant":"selected(${report}, 'monthly')","required":"yes"},"label":{"Urdu":"موصول ہونے والی سرنج کی تعداد","Roman Urdu":"Mausool honay wali siranj ki taadaad","English":"Syringes received"},"instance":{"openmrs_entity":"concept","openmrs_entity_id":"163170AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162377AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"type":"integer"},{"name":"syringes_wasted","hint":{"Urdu":"سرنج کی تعداد","Roman Urdu":"Syringe ki taadaad","English":"Number of syringes"},"bind":{"relevant":"selected(${report}, 'daily')","required":"yes"},"label":{"Urdu":"ضائع ہونے والی سرنج کی تعداد","Roman Urdu":"Zaya honay wali siranj taadaad","English":"Syringes wasted"},"instance":{"openmrs_entity":"concept","openmrs_entity_id":"163172AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"162377AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"type":"integer"},{"name":"safety_boxes_balance_in_hand","hint":{"Urdu":"کنٹینر کی تعداد","Roman Urdu":"Container ki taadaad","English":"Number of containers"},"bind":{"relevant":"selected(${report}, 'monthly')","required":"yes"},"label":{"Urdu":"موجودہ کنٹینر کی تعداد [جو تیز اوزار کو ضائع کرنے کے لیے استعمال ہوتے ہیں]","Roman Urdu":"Maujooda container ki taadaad [jo taiz auzaar ko zaya karne ke liye istamaal hotay hain]","English":"Sharp disposal container balance in hand"},"instance":{"openmrs_entity":"concept","openmrs_entity_id":"163173AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"163285AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"type":"integer"},{"name":"safety_boxes_received","hint":{"Urdu":"کنٹینر کی تعداد","Roman Urdu":"Container ki taadaad","English":"Number of containers"},"bind":{"relevant":"selected(${report}, 'monthly')","required":"yes"},"label":{"Urdu":"موصول ہونے والے کنٹینر کی تعداد [جو تیز اوزار کو ضائع کرنے کے لیے استعمال ہوتے ہیں]","Roman Urdu":"Mausool honay walay container ki taadaad [jo taiz auzaar ko zaya karne ke liye istamaal hotay hain]","English":"Sharp disposal container received"},"instance":{"openmrs_entity":"concept","openmrs_entity_id":"163170AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"163285AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"type":"integer"},{"name":"safety_boxes_wasted","hint":{"Urdu":"کنٹینر کی تعداد","Roman Urdu":"Container ki taadaad","English":"Number of containers"},"bind":{"relevant":"selected(${report}, 'daily')","required":"yes"},"label":{"Urdu":"ضائع ہونے والے کنٹینر کی تعداد [جو تیز اوزار کو ضائع کرنے کے لیے استعمال ہوتے ہیں]","Roman Urdu":"Zaya honay walay container ki taadaad [jo taiz auzaar ko zaya karne ke liye istamaal hotay hain]","English":"Sharp disposal container wasted"},"instance":{"openmrs_entity":"concept","openmrs_entity_id":"163172AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"163285AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"type":"integer"},{"bind":{"jr:constraintMsg":{"Urdu":"یہ تعداد موصول ہونے والی کل تعداد سے کم یا برابر ہونی چاہئیے","Roman Urdu":"Ye taadaad mausool honay wali kul taadaad se kam ya baraber honi chahiye","English":"This quantity should be less than or equal to the total quantity received"},"calculate":"${bcg_wasted}+${opv_wasted}+${ipv_wasted}+${pcv_wasted}+${penta_wasted}+${measles_wasted}+${tt_wasted}+${dilutants_wasted}+${syringes_wasted}+${safety_boxes_wasted}","constraint":".<=${total_received}"},"type":"calculate","name":"total_wasted","label":{"Urdu":"ضائع ہونے والی اشیاء کی مکمل تعداد","Roman Urdu":"Zaya honay wali ashia ki mukammal taadaad","English":"Total wasted"}},{"bind":{"calculate":"${bcg_received}+${opv_received}+${ipv_received}+${pcv_received}+${penta_received}+${measles_received}+${tt_received}+${dilutants_received}+${syringes_received}+${safety_boxes_received}"},"type":"calculate","name":"total_received","label":{"Urdu":"موصول ہونے والی اشیاء کی مکمل تعداد","Roman Urdu":"Mausool honay wali ashia ki mukammal taadaad","English":"Total received"}},{"bind":{"calculate":"${bcg_balance_in_hand}+${opv_balance_in_hand}+${ipv_balance_in_hand}+${pcv_balance_in_hand}+${penta_balance_in_hand}+${measles_balance_in_hand}+${tt_balance_in_hand}+${dilutants_balance_in_hand}+${syringes_balance_in_hand}+${safety_boxes_balance_in_hand}"},"type":"calculate","name":"total_balanceInHand","label":{"Urdu":"موجودہ اشیاء کی مکمل تعداد","Roman Urdu":"Maujooda ashia ki mukammal taadaad","English":"Total balance in hand"}},{"control":{"bodyless":true},"type":"group","children":[{"bind":{"readonly":"true()","calculate":"concat('uuid:', uuid())"},"type":"calculate","name":"instanceID"}],"name":"meta"}]} \ No newline at end of file diff --git a/opensrp-core/bin/src/test/resources/form/vaccine_stock_position/form.xml b/opensrp-core/bin/src/test/resources/form/vaccine_stock_position/form.xml new file mode 100644 index 0000000000..713d5efd97 --- /dev/null +++ b/opensrp-core/bin/src/test/resources/form/vaccine_stock_position/form.xml @@ -0,0 +1,381 @@ +
+ + +

ویکسین اسٹاک پوزیشن - Vaccine Stock Position

+
+
+ + رپورٹ کی قسم + Report Type + Report ki kism + * +
+ + +
+
+
+ + diff --git a/opensrp-core/bin/src/test/resources/form/vaccine_stock_position/form_definition.json b/opensrp-core/bin/src/test/resources/form/vaccine_stock_position/form_definition.json new file mode 100644 index 0000000000..f6b50a149e --- /dev/null +++ b/opensrp-core/bin/src/test/resources/form/vaccine_stock_position/form_definition.json @@ -0,0 +1,186 @@ +{ + "form_data_definition_version" : "1", + "form" : { + "bind_type" : "stock", + "default_bind_path" : "/model/instance/Vaccine_Stock_Position/", + "fields" : [ { + "name" : "id", + "shouldLoadValue" : true + }, { + "name" : "provider_uc", + "bind" : "/model/instance/Vaccine_Stock_Position/provider_uc", + "shouldLoadValue" : true + }, { + "name" : "provider_town", + "bind" : "/model/instance/Vaccine_Stock_Position/provider_town", + "shouldLoadValue" : true + }, { + "name" : "provider_city", + "bind" : "/model/instance/Vaccine_Stock_Position/provider_city", + "shouldLoadValue" : true + }, { + "name" : "provider_province", + "bind" : "/model/instance/Vaccine_Stock_Position/provider_province", + "shouldLoadValue" : true + }, { + "name" : "provider_id", + "bind" : "/model/instance/Vaccine_Stock_Position/provider_id", + "shouldLoadValue" : true + }, { + "name" : "provider_location_id", + "bind" : "/model/instance/Vaccine_Stock_Position/provider_location_id", + "shouldLoadValue" : true + }, { + "name" : "provider_location_name", + "bind" : "/model/instance/Vaccine_Stock_Position/provider_location_name", + "shouldLoadValue" : true + }, { + "name" : "provider_location_note", + "bind" : "/model/instance/Vaccine_Stock_Position/provider_location_note" + }, { + "name" : "start", + "bind" : "/model/instance/Vaccine_Stock_Position/start" + }, { + "name" : "end", + "bind" : "/model/instance/Vaccine_Stock_Position/end" + }, { + "name" : "today", + "bind" : "/model/instance/Vaccine_Stock_Position/today" + }, { + "name" : "deviceid", + "bind" : "/model/instance/Vaccine_Stock_Position/deviceid" + }, { + "name" : "subscriberid", + "bind" : "/model/instance/Vaccine_Stock_Position/subscriberid" + }, { + "name" : "simserial", + "bind" : "/model/instance/Vaccine_Stock_Position/simserial" + }, { + "name" : "phonenumber", + "bind" : "/model/instance/Vaccine_Stock_Position/phonenumber" + }, { + "name" : "date_formatted", + "bind" : "/model/instance/Vaccine_Stock_Position/date_formatted" + }, { + "name" : "vaccinator_name", + "bind" : "/model/instance/Vaccine_Stock_Position/vaccinator_name" + }, { + "name" : "center_name", + "bind" : "/model/instance/Vaccine_Stock_Position/center_name" + }, { + "name" : "date", + "bind" : "/model/instance/Vaccine_Stock_Position/date" + }, { + "name" : "report", + "bind" : "/model/instance/Vaccine_Stock_Position/report" + }, { + "name" : "Target_assigned_for_vaccination_at_each_month", + "bind" : "/model/instance/Vaccine_Stock_Position/Target_assigned_for_vaccination_at_each_month" + }, { + "name" : "Target_assigned_for_vaccination_for_the_year", + "bind" : "/model/instance/Vaccine_Stock_Position/Target_assigned_for_vaccination_for_the_year" + }, { + "name" : "bcg_balance_in_hand", + "bind" : "/model/instance/Vaccine_Stock_Position/bcg_balance_in_hand" + }, { + "name" : "bcg_received", + "bind" : "/model/instance/Vaccine_Stock_Position/bcg_received" + }, { + "name" : "bcg_wasted", + "bind" : "/model/instance/Vaccine_Stock_Position/bcg_wasted" + }, { + "name" : "opv_balance_in_hand", + "bind" : "/model/instance/Vaccine_Stock_Position/opv_balance_in_hand" + }, { + "name" : "opv_received", + "bind" : "/model/instance/Vaccine_Stock_Position/opv_received" + }, { + "name" : "opv_wasted", + "bind" : "/model/instance/Vaccine_Stock_Position/opv_wasted" + }, { + "name" : "ipv_balance_in_hand", + "bind" : "/model/instance/Vaccine_Stock_Position/ipv_balance_in_hand" + }, { + "name" : "ipv_received", + "bind" : "/model/instance/Vaccine_Stock_Position/ipv_received" + }, { + "name" : "ipv_wasted", + "bind" : "/model/instance/Vaccine_Stock_Position/ipv_wasted" + }, { + "name" : "pcv_balance_in_hand", + "bind" : "/model/instance/Vaccine_Stock_Position/pcv_balance_in_hand" + }, { + "name" : "pcv_received", + "bind" : "/model/instance/Vaccine_Stock_Position/pcv_received" + }, { + "name" : "pcv_wasted", + "bind" : "/model/instance/Vaccine_Stock_Position/pcv_wasted" + }, { + "name" : "penta_balance_in_hand", + "bind" : "/model/instance/Vaccine_Stock_Position/penta_balance_in_hand" + }, { + "name" : "penta_received", + "bind" : "/model/instance/Vaccine_Stock_Position/penta_received" + }, { + "name" : "penta_wasted", + "bind" : "/model/instance/Vaccine_Stock_Position/penta_wasted" + }, { + "name" : "measles_balance_in_hand", + "bind" : "/model/instance/Vaccine_Stock_Position/measles_balance_in_hand" + }, { + "name" : "measles_received", + "bind" : "/model/instance/Vaccine_Stock_Position/measles_received" + }, { + "name" : "measles_wasted", + "bind" : "/model/instance/Vaccine_Stock_Position/measles_wasted" + }, { + "name" : "tt_balance_in_hand", + "bind" : "/model/instance/Vaccine_Stock_Position/tt_balance_in_hand" + }, { + "name" : "tt_received", + "bind" : "/model/instance/Vaccine_Stock_Position/tt_received" + }, { + "name" : "tt_wasted", + "bind" : "/model/instance/Vaccine_Stock_Position/tt_wasted" + }, { + "name" : "dilutants_balance_in_hand", + "bind" : "/model/instance/Vaccine_Stock_Position/dilutants_balance_in_hand" + }, { + "name" : "dilutants_received", + "bind" : "/model/instance/Vaccine_Stock_Position/dilutants_received" + }, { + "name" : "dilutants_wasted", + "bind" : "/model/instance/Vaccine_Stock_Position/dilutants_wasted" + }, { + "name" : "syringes_balance_in_hand", + "bind" : "/model/instance/Vaccine_Stock_Position/syringes_balance_in_hand" + }, { + "name" : "syringes_received", + "bind" : "/model/instance/Vaccine_Stock_Position/syringes_received" + }, { + "name" : "syringes_wasted", + "bind" : "/model/instance/Vaccine_Stock_Position/syringes_wasted" + }, { + "name" : "safety_boxes_balance_in_hand", + "bind" : "/model/instance/Vaccine_Stock_Position/safety_boxes_balance_in_hand" + }, { + "name" : "safety_boxes_received", + "bind" : "/model/instance/Vaccine_Stock_Position/safety_boxes_received" + }, { + "name" : "safety_boxes_wasted", + "bind" : "/model/instance/Vaccine_Stock_Position/safety_boxes_wasted" + }, { + "name" : "total_wasted", + "bind" : "/model/instance/Vaccine_Stock_Position/total_wasted" + }, { + "name" : "total_received", + "bind" : "/model/instance/Vaccine_Stock_Position/total_received" + }, { + "name" : "total_balanceInHand", + "bind" : "/model/instance/Vaccine_Stock_Position/total_balanceInHand" + }, { + "name" : "instanceID", + "bind" : "/model/instance/Vaccine_Stock_Position/meta/instanceID" + } ] + } +} \ No newline at end of file diff --git a/opensrp-core/bin/src/test/resources/form/vaccine_stock_position/model.xml b/opensrp-core/bin/src/test/resources/form/vaccine_stock_position/model.xml new file mode 100644 index 0000000000..faec7c2e5c --- /dev/null +++ b/opensrp-core/bin/src/test/resources/form/vaccine_stock_position/model.xml @@ -0,0 +1,68 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/opensrp-core/bin/src/test/resources/form/woman_enrollment/form.json b/opensrp-core/bin/src/test/resources/form/woman_enrollment/form.json new file mode 100644 index 0000000000..fe3f23a6a2 --- /dev/null +++ b/opensrp-core/bin/src/test/resources/form/woman_enrollment/form.json @@ -0,0 +1 @@ +{"name":"Woman_TT_Enrollment_Form","title":"خواتین انرولمنٹ فارم برائے ٹی ٹی ٹیکاجات - Woman TT Enrollment Form","sms_keyword":"woman_tt_enrollement_form","default_language":"English","choices":{"provinces":[{"name":"kpk","label":{"Urdu":"خیبر پختون خواہ","English":"Khyber Pakhtunkhwa","Roman Urdu":"Khyber Pakhtunkhwa"}},{"name":"sindh","label":{"Urdu":"سندھ","English":"Sindh","Roman Urdu":"Sindh"}},{"name":"balochistan","label":{"Urdu":"بلوچستان","English":"Balochistan","Roman Urdu":"Balochistan"}},{"name":"punjab","label":{"Urdu":"پنجاب","English":"Punjab","Roman Urdu":"Punjab"}},{"name":"gilgit_baltistan","label":{"Urdu":"گلگت بلتستان","English":"Gilgit Baltistan","Roman Urdu":"Gilgit Baltistan"}},{"name":"kashmir","label":{"Urdu":"کشمیر","English":"Kashmir","Roman Urdu":"Kashmir"}},{"name":"fata","label":{"Urdu":"فاٹا","English":"FATA","Roman Urdu":"FATA"}},{"name":"out_of_country","label":{"Urdu":"ملک سے باہر","English":"Out of Country","Roman Urdu":"Mulk se baahir"}}],"ucs":[{"province":"sindh","city":"karachi","town":"korangi","name":"bilal_colony","label":{"Urdu":"بلال کالونی","Roman Urdu":"Bilal Colony","English":"Bilal Colony"}},{"province":"sindh","city":"karachi","town":"korangi","name":"nasir_colony","label":{"Urdu":"ناصر کالونی","Roman Urdu":"Nasir Colony","English":"Nasir Colony"}},{"province":"sindh","city":"karachi","town":"korangi","name":"chakra_goth","label":{"Urdu":"چکرا گوٹھ","Roman Urdu":"Chakra Goth","English":"Chakra Goth"}},{"province":"sindh","city":"karachi","town":"korangi","name":"mustafa_taj_colony","label":{"Urdu":"مصطفی تاج کالونی","Roman Urdu":"Mustafa Taj Colony","English":"Mustafa Taj Colony"}},{"province":"sindh","city":"karachi","town":"korangi","name":"hundred_quarters","label":{"Urdu":"ہنڈریڈ کوارٹر","Roman Urdu":"Hundred Quarters","English":"Hundred Quarters"}},{"province":"sindh","city":"karachi","town":"korangi","name":"gulzar_colony","label":{"Urdu":"گلزار کالونی","Roman Urdu":"Gulzar Colony","English":"Gulzar Colony"}},{"province":"sindh","city":"karachi","town":"korangi","name":"korangi_sector_33","label":{"Urdu":"کورنگی سیکٹر 33","Roman Urdu":"Korangi Sector 33","English":"Korangi Sector 33"}},{"province":"sindh","city":"karachi","town":"korangi","name":"zaman_town","label":{"Urdu":"زمان ٹاوَن","Roman Urdu":"Zaman Town","English":"Zaman Town"}},{"province":"sindh","city":"karachi","town":"korangi","name":"hasrat_mohani_colony","label":{"Urdu":"حسرت موہانی کالونی","Roman Urdu":"Hasrat Mohani Colony","English":"Hasrat Mohani Colony"}},{"province":"sindh","city":"karachi","town":"baldia","name":"gulshan_e_ghazi","label":{"Urdu":"گلشن غازی","Roman Urdu":"Gulshan-e-Ghazi","English":"Gulshan-e-Ghazi"}},{"province":"sindh","city":"karachi","town":"baldia","name":"ittehad_town","label":{"Urdu":"اتحاد ٹاوَن","Roman Urdu":"Ittehad Town","English":"Ittehad Town"}},{"province":"sindh","city":"karachi","town":"baldia","name":"islam_nagar","label":{"Urdu":"اسلام نگر","Roman Urdu":"Islam Nagar","English":"Islam Nagar"}},{"province":"sindh","city":"karachi","town":"baldia","name":"nai_abadi","label":{"Urdu":"نئی آبادی","Roman Urdu":"Nai Abadi","English":"Nai Abadi"}},{"province":"sindh","city":"karachi","town":"baldia","name":"saeedabad","label":{"Urdu":"سعید آباد","Roman Urdu":"Saeedabad","English":"Saeedabad"}},{"province":"sindh","city":"karachi","town":"baldia","name":"muslim_mujahid_colony","label":{"Urdu":"مسلم مجاہد کالونی","Roman Urdu":"Muslim Mujahid Colony","English":"Muslim Mujahid Colony"}},{"province":"sindh","city":"karachi","town":"baldia","name":"muhajir_camp","label":{"Urdu":"مہاجر کیمپ","Roman Urdu":"Muhajir Camp","English":"Muhajir Camp"}},{"province":"sindh","city":"karachi","town":"baldia","name":"rasheedabad","label":{"Urdu":"رشید آباد","Roman Urdu":"Rasheedabad","English":"Rasheedabad"}},{"province":"sindh","city":"karachi","town":"bin_qasim","name":"ibrahim_hyderi","label":{"Urdu":"ابراہیم حیدری","Roman Urdu":"Ibrahim Hyderi","English":"Ibrahim Hyderi"}},{"province":"sindh","city":"karachi","town":"bin_qasim","name":"rehri","label":{"Urdu":"رہڑی","Roman Urdu":"Rehri","English":"Rehri"}},{"province":"sindh","city":"karachi","town":"bin_qasim","name":"cattle_colony","label":{"Urdu":"کیٹل کالونی","Roman Urdu":"Cattle Colony","English":"Cattle Colony"}},{"province":"sindh","city":"karachi","town":"bin_qasim","name":"qaidabad","label":{"Urdu":"قائدآباد","Roman Urdu":"Qaidabad","English":"Qaidabad"}},{"province":"sindh","city":"karachi","town":"bin_qasim","name":"landhi_colony","label":{"Urdu":"لانڈھی کالونی","Roman Urdu":"Landhi Colony","English":"Landhi Colony"}},{"province":"sindh","city":"karachi","town":"bin_qasim","name":"gulshan_e_hadeed","label":{"Urdu":"گلشن حدید","Roman Urdu":"Gulshan-e-Hadeed","English":"Gulshan-e-Hadeed"}},{"province":"sindh","city":"karachi","town":"bin_qasim","name":"gaghar","label":{"Urdu":"گگر","Roman Urdu":"Gaghar","English":"Gaghar"}},{"province":"sindh","city":"karachi","town":"gadap","name":"murad_memon_goth","label":{"Urdu":"مراد میمن گوٹھ","Roman Urdu":"Murad Memon Goth","English":"Murad Memon Goth"}},{"province":"sindh","city":"karachi","town":"gadap","name":"darsano_chana","label":{"Urdu":"درشانو شنو","Roman Urdu":"Darsano Chana","English":"Darsano Chana"}},{"province":"sindh","city":"karachi","town":"gadap","name":"gujro","label":{"Urdu":"گجرو","Roman Urdu":"Gujro","English":"Gujro"}},{"province":"sindh","city":"karachi","town":"gadap","name":"songal","label":{"Urdu":"سنگل","Roman Urdu":"Songal","English":"Songal"}},{"province":"sindh","city":"karachi","town":"gadap","name":"maymarabad","label":{"Urdu":"معمار آباد","Roman Urdu":"Maymarabad","English":"Maymarabad"}},{"province":"sindh","city":"karachi","town":"gadap","name":"yousuf_goth","label":{"Urdu":"یوسف گوٹھ","Roman Urdu":"Yousuf Goth","English":"Yousuf Goth"}},{"province":"sindh","city":"karachi","town":"gadap","name":"manghopir","label":{"Urdu":"منگھوپیر","Roman Urdu":"Manghopir","English":"Manghopir"}},{"province":"sindh","city":"karachi","town":"gulberg","name":"azizabad","label":{"Urdu":"عزیز آباد","Roman Urdu":"Azizabad","English":"Azizabad"}},{"province":"sindh","city":"karachi","town":"gulberg","name":"karimabad","label":{"Urdu":"کریم آباد","Roman Urdu":"Karimabad","English":"Karimabad"}},{"province":"sindh","city":"karachi","town":"gulberg","name":"aisha_manzil","label":{"Urdu":"عائشہ منزل","Roman Urdu":"Aisha Manzil","English":"Aisha Manzil"}},{"province":"sindh","city":"karachi","town":"gulberg","name":"ancholi","label":{"Urdu":"انچولی","Roman Urdu":"Ancholi","English":"Ancholi"}},{"province":"sindh","city":"karachi","town":"gulberg","name":"naseerabad","label":{"Urdu":"نصیرآباد","Roman Urdu":"Naseerabad","English":"Naseerabad"}},{"province":"sindh","city":"karachi","town":"gulberg","name":"yaseenabad","label":{"Urdu":"یاسین آباد","Roman Urdu":"Yaseenabad","English":"Yaseenabad"}},{"province":"sindh","city":"karachi","town":"gulberg","name":"water_pump","label":{"Urdu":"واٹرپمپ","Roman Urdu":"Water Pump","English":"Water Pump"}},{"province":"sindh","city":"karachi","town":"gulberg","name":"shafiq_mill_colony","label":{"Urdu":"شفیق مل کالونی","Roman Urdu":"Shafiq Mill Colony","English":"Shafiq Mill Colony"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"delhi_mercantile_society","label":{"Urdu":"دہلی مرچنٹائل سوسائٹی","Roman Urdu":"Delhi Mercantile Society","English":"Delhi Mercantile Society"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"civic_centre","label":{"Urdu":"سوک سینٹر","Roman Urdu":"Civic Centre","English":"Civic Centre"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"pir_ilahi_buksh_colony","label":{"Urdu":"پیر الہی بخش کالونی","Roman Urdu":"Pir Ilahi Buksh Colony","English":"Pir Ilahi Buksh Colony"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"essa_nagri","label":{"Urdu":"عیسی نگری","Roman Urdu":"Essa Nagri","English":"Essa Nagri"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"gulshan_e_iqbal","label":{"Urdu":"گلشن اقبال","Roman Urdu":"Gulshan-e-Iqbal","English":"Gulshan-e-Iqbal"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"gillani_railway_station","label":{"Urdu":"گیلانی ریلوے اسٹیشن","Roman Urdu":"Gillani Railway Station","English":"Gillani Railway Station"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"shanti_nagar","label":{"Urdu":"شانتی نگر","Roman Urdu":"Shanti Nagar","English":"Shanti Nagar"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"jamali_colony","label":{"Urdu":"جمالی کالونی","Roman Urdu":"Jamali Colony","English":"Jamali Colony"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"gulshan_e_iqbal_ii","label":{"Urdu":"گلشن اقبال 2","Roman Urdu":"Gulshan-e-Iqbal II","English":"Gulshan-e-Iqbal II"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"pehlwan_goth","label":{"Urdu":"پہلوان گوٹھ","Roman Urdu":"Pehlwan Goth","English":"Pehlwan Goth"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"matrovil_colony","label":{"Urdu":"میٹروویل کالونی","Roman Urdu":"Matrovil Colony","English":"Matrovil Colony"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"gulzar_e_hijri","label":{"Urdu":"گلزار ہجری","Roman Urdu":"Gulzar-e-Hijri","English":"Gulzar-e-Hijri"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"safooran_goth","label":{"Urdu":"صفورا گوٹھ","Roman Urdu":"Safooran Goth","English":"Safooran Goth"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"akhtar_colony","label":{"Urdu":"اختر کالونی","Roman Urdu":"Akhtar Colony","English":"Akhtar Colony"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"manzoor_colony","label":{"Urdu":"منظور کالونی","Roman Urdu":"Manzoor Colony","English":"Manzoor Colony"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"azam_basti","label":{"Urdu":"اعظم بستی","Roman Urdu":"Azam Basti","English":"Azam Basti"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"chanesar_goth","label":{"Urdu":"چنیسر گوٹھ","Roman Urdu":"Chanesar Goth","English":"Chanesar Goth"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"mahmudabad","label":{"Urdu":"محمودآباد","Roman Urdu":"Mahmudabad","English":"Mahmudabad"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"pechs","label":{"Urdu":"پی۔ای۔سی۔ایچ۔ایس","Roman Urdu":"P.E.C.H.S.","English":"P.E.C.H.S."}},{"province":"sindh","city":"karachi","town":"jamshed","name":"pechs_ii","label":{"Urdu":"پی۔ای۔سی۔ایچ۔ایس 2","Roman Urdu":"P.E.C.H.S. II","English":"P.E.C.H.S. II"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"jut_line","label":{"Urdu":"جٹ لائن","Roman Urdu":"Jut Line","English":"Jut Line"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"central_jacob_lines","label":{"Urdu":"سینٹرل جیکب لائن","Roman Urdu":"Central Jacob Lines","English":"Central Jacob Lines"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"jamshed_quarters","label":{"Urdu":"جمشید کوارٹر","Roman Urdu":"Jamshed Quarters","English":"Jamshed Quarters"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"garden_east","label":{"Urdu":"گارڈن ایسٹ","Roman Urdu":"Garden East","English":"Garden East"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"soldier_bazar","label":{"Urdu":"سولجر بازار","Roman Urdu":"Soldier Bazar","English":"Soldier Bazar"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"pakistan_quarters","label":{"Urdu":"پاکستان کوارٹر","Roman Urdu":"Pakistan Quarters","English":"Pakistan Quarters"}},{"province":"sindh","city":"karachi","town":"kiamari","name":"bhutta_village","label":{"Urdu":"بھٹا ولیج","Roman Urdu":"Bhutta Village","English":"Bhutta Village"}},{"province":"sindh","city":"karachi","town":"kiamari","name":"sultanabad","label":{"Urdu":"سلطان آباد","Roman Urdu":"Sultanabad","English":"Sultanabad"}},{"province":"sindh","city":"karachi","town":"kiamari","name":"kiamari_uc","label":{"Urdu":"کیماری یوسی","Roman Urdu":"Kiamari UC","English":"Kiamari UC"}},{"province":"sindh","city":"karachi","town":"kiamari","name":"baba_bhit","label":{"Urdu":"بابا بھٹ","Roman Urdu":"Baba Bhit","English":"Baba Bhit"}},{"province":"sindh","city":"karachi","town":"kiamari","name":"machar_colony","label":{"Urdu":"مچھر کالونی","Roman Urdu":"Machar Colony","English":"Machar Colony"}},{"province":"sindh","city":"karachi","town":"kiamari","name":"maripur","label":{"Urdu":"ماڑی پور","Roman Urdu":"Maripur","English":"Maripur"}},{"province":"sindh","city":"karachi","town":"kiamari","name":"shershah","label":{"Urdu":"شیرشاہ","Roman Urdu":"SherShah","English":"SherShah"}},{"province":"sindh","city":"karachi","town":"kiamari","name":"gabo_pat","label":{"Urdu":"گابو پٹ","Roman Urdu":"Gabo Pat","English":"Gabo Pat"}},{"province":"sindh","city":"karachi","town":"landhi","name":"muzafarabad","label":{"Urdu":"مظفرآباد","Roman Urdu":"Muzafarabad","English":"Muzafarabad"}},{"province":"sindh","city":"karachi","town":"landhi","name":"muslimabad","label":{"Urdu":"مسلم آباد","Roman Urdu":"Muslimabad","English":"Muslimabad"}},{"province":"sindh","city":"karachi","town":"landhi","name":"dawood_chowrangi","label":{"Urdu":"داوَد چورنگی","Roman Urdu":"Dawood Chowrangi","English":"Dawood Chowrangi"}},{"province":"sindh","city":"karachi","town":"landhi","name":"moinabad","label":{"Urdu":"معین آباد","Roman Urdu":"Moinabad","English":"Moinabad"}},{"province":"sindh","city":"karachi","town":"landhi","name":"sharafi_goth","label":{"Urdu":"شرافی گوٹھ","Roman Urdu":"Sharafi Goth","English":"Sharafi Goth"}},{"province":"sindh","city":"karachi","town":"landhi","name":"bhutto_nagar","label":{"Urdu":"بھٹو نگر","Roman Urdu":"Bhutto Nagar","English":"Bhutto Nagar"}},{"province":"sindh","city":"karachi","town":"landhi","name":"khawaja_ajmeer_colony","label":{"Urdu":"خواجہ اجمیر کالونی","Roman Urdu":"Khawaja Ajmeer Colony","English":"Khawaja Ajmeer Colony"}},{"province":"sindh","city":"karachi","town":"landhi","name":"landhi_uc","label":{"Urdu":"لانڈھی یوسی","Roman Urdu":"Landhi UC","English":"Landhi UC"}},{"province":"sindh","city":"karachi","town":"landhi","name":"awami_colony","label":{"Urdu":"عوامی کالونی","Roman Urdu":"Awami Colony","English":"Awami Colony"}},{"province":"sindh","city":"karachi","town":"landhi","name":"burmee_colony","label":{"Urdu":"برمی کالونی","Roman Urdu":"Burmee Colony","English":"Burmee Colony"}},{"province":"sindh","city":"karachi","town":"landhi","name":"korangi_uc","label":{"Urdu":"کورنگی یوسی","Roman Urdu":"Korangi UC","English":"Korangi UC"}},{"province":"sindh","city":"karachi","town":"landhi","name":"sherabad","label":{"Urdu":"شیرآباد","Roman Urdu":"Sherabad","English":"Sherabad"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"rizvia_society","label":{"Urdu":"رضویہ سوسائٹی","Roman Urdu":"Rizvia Society","English":"Rizvia Society"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"firdous_colony","label":{"Urdu":"فردوس کالونی","Roman Urdu":"Firdous Colony","English":"Firdous Colony"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"super_market","label":{"Urdu":"سپر مارکیٹ","Roman Urdu":"Super Market","English":"Super Market"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"dak_khana","label":{"Urdu":"دک کھانہ","Roman Urdu":"Dak Khana","English":"Dak Khana"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"qasimabad","label":{"Urdu":"قاسم آباد","Roman Urdu":"Qasimabad","English":"Qasimabad"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"bandhani_colony","label":{"Urdu":"بندھانی کالونی","Roman Urdu":"Bandhani Colony","English":"Bandhani Colony"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"sharifabad","label":{"Urdu":"شریف آباد","Roman Urdu":"Sharifabad","English":"Sharifabad"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"commercial_area","label":{"Urdu":"کمرشل ایریا","Roman Urdu":"Commercial Area","English":"Commercial Area"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"mujahid_colony","label":{"Urdu":"مجاہد کالونی","Roman Urdu":"Mujahid Colony","English":"Mujahid Colony"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"nazimabad","label":{"Urdu":"ناظم آباد","Roman Urdu":"Nazimabad","English":"Nazimabad"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"abbasi_shaheed","label":{"Urdu":"عباسی شہید","Roman Urdu":"Abbasi Shaheed","English":"Abbasi Shaheed"}},{"province":"sindh","city":"karachi","town":"lyari","name":"agra_taj_colony","label":{"Urdu":"آگرہ تاج کالونی","Roman Urdu":"Agra Taj Colony","English":"Agra Taj Colony"}},{"province":"sindh","city":"karachi","town":"lyari","name":"daryaabad","label":{"Urdu":"دریاآباد","Roman Urdu":"Daryaabad","English":"Daryaabad"}},{"province":"sindh","city":"karachi","town":"lyari","name":"nawabad","label":{"Urdu":"نواآباد","Roman Urdu":"Nawabad","English":"Nawabad"}},{"province":"sindh","city":"karachi","town":"lyari","name":"khada_memon_society","label":{"Urdu":"خدا- میمن- سوساَٹی","Roman Urdu":"Khada Memon Society","English":"Khada Memon Society"}},{"province":"sindh","city":"karachi","town":"lyari","name":"baghdadi","label":{"Urdu":"بغدادی","Roman Urdu":"Baghdadi","English":"Baghdadi"}},{"province":"sindh","city":"karachi","town":"lyari","name":"shah_baig_line","label":{"Urdu":"شاھ باغ لائن","Roman Urdu":"Shah Baig Line","English":"Shah Baig Line"}},{"province":"sindh","city":"karachi","town":"lyari","name":"bihar_colony","label":{"Urdu":"بہار کالونی","Roman Urdu":"Bihar Colony","English":"Bihar Colony"}},{"province":"sindh","city":"karachi","town":"lyari","name":"ragiwara","label":{"Urdu":"راگی واڑا","Roman Urdu":"Ragiwara","English":"Ragiwara"}},{"province":"sindh","city":"karachi","town":"lyari","name":"singo_line","label":{"Urdu":"سنگولائن","Roman Urdu":"Singo Line","English":"Singo Line"}},{"province":"sindh","city":"karachi","town":"lyari","name":"chakiwara","label":{"Urdu":"چاکی واڑا","Roman Urdu":"Chakiwara","English":"Chakiwara"}},{"province":"sindh","city":"karachi","town":"lyari","name":"allama_iqbal_colony","label":{"Urdu":"علامہ اقبال کالونی","Roman Urdu":"Allama Iqbal Colony","English":"Allama Iqbal Colony"}},{"province":"sindh","city":"karachi","town":"malir","name":"model_colony","label":{"Urdu":"موڈل کالونی","Roman Urdu":"Model Colony","English":"Model Colony"}},{"province":"sindh","city":"karachi","town":"malir","name":"kala_board","label":{"Urdu":"کالا بورڈ","Roman Urdu":"Kala Board","English":"Kala Board"}},{"province":"sindh","city":"karachi","town":"malir","name":"saudabad","label":{"Urdu":"سعودآباد","Roman Urdu":"Saudabad","English":"Saudabad"}},{"province":"sindh","city":"karachi","town":"malir","name":"khokhra_par","label":{"Urdu":"کھوکھرا پار","Roman Urdu":"Khokhra Par","English":"Khokhra Par"}},{"province":"sindh","city":"karachi","town":"malir","name":"jafar_e_tayyar","label":{"Urdu":"جعفر تیار","Roman Urdu":"Jafar-e-Tayyar","English":"Jafar-e-Tayyar"}},{"province":"sindh","city":"karachi","town":"malir","name":"gharibabad","label":{"Urdu":"غریب آباد","Roman Urdu":"Gharibabad","English":"Gharibabad"}},{"province":"sindh","city":"karachi","town":"malir","name":"ghazi_brohi_goth","label":{"Urdu":"غازی بروہی گوٹھ","Roman Urdu":"Ghazi Brohi Goth","English":"Ghazi Brohi Goth"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"kalyana","label":{"Urdu":"کالیانہ","Roman Urdu":"Kalyana","English":"Kalyana"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"sir_syed_colony","label":{"Urdu":"سر سید کالونی","Roman Urdu":"Sir Syed Colony","English":"Sir Syed Colony"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"fatima_jinnah_colony","label":{"Urdu":"فاطمہ جناح کالونی","Roman Urdu":"Fatima Jinnah Colony","English":"Fatima Jinnah Colony"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"godhra","label":{"Urdu":"گودھرا","Roman Urdu":"Godhra","English":"Godhra"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"abu_zar_ghaffari","label":{"Urdu":"ابو زر غفاری","Roman Urdu":"Abu Zar Ghaffari","English":"Abu Zar Ghaffari"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"hakim_ahsan","label":{"Urdu":"حاکم احسان","Roman Urdu":"Hakim Ahsan","English":"Hakim Ahsan"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"madina_colony","label":{"Urdu":"مدینہ کالونی","Roman Urdu":"Madina Colony","English":"Madina Colony"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"faisal_colony","label":{"Urdu":"فیصل کالونی","Roman Urdu":"Faisal Colony","English":"Faisal Colony"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"khamiso_goth","label":{"Urdu":"خمیسو گوٹھ","Roman Urdu":"Khamiso Goth","English":"Khamiso Goth"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"mustufa_colony","label":{"Urdu":"مصطفی کالونی","Roman Urdu":"Mustufa Colony","English":"Mustufa Colony"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"khawaja_ajmeer_nagri","label":{"Urdu":"خواجہ اجمیر نگری","Roman Urdu":"Khawaja Ajmeer Nagri","English":"Khawaja Ajmeer Nagri"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"gulshan_e_saeed","label":{"Urdu":"گلشن سعید","Roman Urdu":"Gulshan-e-Saeed","English":"Gulshan-e-Saeed"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"shah_nawaz_bhutto_colony","label":{"Urdu":"شاہ نواز بھٹو کالونی","Roman Urdu":"Shah Nawaz Bhutto Colony","English":"Shah Nawaz Bhutto Colony"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"paposh_nagar","label":{"Urdu":"پاپوش نگر","Roman Urdu":"Paposh Nagar","English":"Paposh Nagar"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"pahar_ganj","label":{"Urdu":"پہاڑ گنج","Roman Urdu":"Pahar Ganj","English":"Pahar Ganj"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"khandu_goth","label":{"Urdu":"کھنڑو گوٹھ","Roman Urdu":"Khandu Goth","English":"Khandu Goth"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"hyderi","label":{"Urdu":"حیدری","Roman Urdu":"Hyderi","English":"Hyderi"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"sakhi_hassan","label":{"Urdu":"سخی حسن","Roman Urdu":"Sakhi Hassan","English":"Sakhi Hassan"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"farooq_e_azam","label":{"Urdu":"فاروق اعظم","Roman Urdu":"Farooq-e-Azam","English":"Farooq-e-Azam"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"nusrat_bhutto_colony","label":{"Urdu":"نصرت بھٹو کالونی","Roman Urdu":"Nusrat Bhutto Colony","English":"Nusrat Bhutto Colony"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"shadman_town","label":{"Urdu":"شادمان ٹاوَن","Roman Urdu":"Shadman Town","English":"Shadman Town"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"buffer_zone","label":{"Urdu":"بفرزون","Roman Urdu":"Buffer Zone","English":"Buffer Zone"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"buffer_zone_ii","label":{"Urdu":"بفرزون 2","Roman Urdu":"Buffer Zone II","English":"Buffer Zone II"}},{"province":"sindh","city":"karachi","town":"orangi","name":"mominabad","label":{"Urdu":"مومن آباد","Roman Urdu":"Mominabad","English":"Mominabad"}},{"province":"sindh","city":"karachi","town":"orangi","name":"haryana_colony","label":{"Urdu":"حریانہ کالونی","Roman Urdu":"Haryana Colony","English":"Haryana Colony"}},{"province":"sindh","city":"karachi","town":"orangi","name":"hanifabad","label":{"Urdu":"حنیف آباد","Roman Urdu":"Hanifabad","English":"Hanifabad"}},{"province":"sindh","city":"karachi","town":"orangi","name":"mohammad_nagar","label":{"Urdu":"محمد نگر","Roman Urdu":"Mohammad Nagar","English":"Mohammad Nagar"}},{"province":"sindh","city":"karachi","town":"orangi","name":"madina_colony_orangi","label":{"Urdu":"مدینہ کالونی اورنگی","Roman Urdu":"Madina Colony Orangi","English":"Madina Colony Orangi"}},{"province":"sindh","city":"karachi","town":"orangi","name":"ghaziabad","label":{"Urdu":"غازی آباد","Roman Urdu":"Ghaziabad","English":"Ghaziabad"}},{"province":"sindh","city":"karachi","town":"orangi","name":"chisti_nagar","label":{"Urdu":"چشتی نگر","Roman Urdu":"Chisti Nagar","English":"Chisti Nagar"}},{"province":"sindh","city":"karachi","town":"orangi","name":"bilal_colony_orangi","label":{"Urdu":"بلال کالونی اورنگی","Roman Urdu":"Bilal Colony Orangi","English":"Bilal Colony Orangi"}},{"province":"sindh","city":"karachi","town":"orangi","name":"iqbal_baloch_colony","label":{"Urdu":"اقبال بلوچ کالونی","Roman Urdu":"Iqbal Baloch Colony","English":"Iqbal Baloch Colony"}},{"province":"sindh","city":"karachi","town":"orangi","name":"ghabool_town","label":{"Urdu":"گبول ٹاوَن","Roman Urdu":"Ghabool Town","English":"Ghabool Town"}},{"province":"sindh","city":"karachi","town":"orangi","name":"data_nagar","label":{"Urdu":"داتا نگر","Roman Urdu":"Data Nagar","English":"Data Nagar"}},{"province":"sindh","city":"karachi","town":"orangi","name":"mujahidabad","label":{"Urdu":"مجاہد آباد","Roman Urdu":"Mujahidabad","English":"Mujahidabad"}},{"province":"sindh","city":"karachi","town":"orangi","name":"baloch_goth","label":{"Urdu":"بلوچ گوٹھ","Roman Urdu":"Baloch Goth","English":"Baloch Goth"}},{"province":"sindh","city":"karachi","town":"saddar","name":"old_haji_camp","label":{"Urdu":"پرانہ حاجی کیمپ","Roman Urdu":"Old Haji Camp","English":"Old Haji Camp"}},{"province":"sindh","city":"karachi","town":"saddar","name":"garden","label":{"Urdu":"گارڈن","Roman Urdu":"Garden","English":"Garden"}},{"province":"sindh","city":"karachi","town":"saddar","name":"kharadar","label":{"Urdu":"کھارادر","Roman Urdu":"Kharadar","English":"Kharadar"}},{"province":"sindh","city":"karachi","town":"saddar","name":"city_railway_colony","label":{"Urdu":"سٹی ریلوے کالونی","Roman Urdu":"City Railway Colony","English":"City Railway Colony"}},{"province":"sindh","city":"karachi","town":"saddar","name":"nanak_wara","label":{"Urdu":"ناناک واڑا","Roman Urdu":"Nanak Wara","English":"Nanak Wara"}},{"province":"sindh","city":"karachi","town":"saddar","name":"gazdarabad","label":{"Urdu":"گزدرآباد","Roman Urdu":"Gazdarabad","English":"Gazdarabad"}},{"province":"sindh","city":"karachi","town":"saddar","name":"millat_nagar_islam_pura","label":{"Urdu":"ملت نگر اسلام پورا","Roman Urdu":"Millat Nagar/Islam Pura","English":"Millat Nagar/Islam Pura"}},{"province":"sindh","city":"karachi","town":"saddar","name":"saddar_uc","label":{"Urdu":"صدر یو سی","Roman Urdu":"Saddar UC","English":"Saddar UC"}},{"province":"sindh","city":"karachi","town":"saddar","name":"civil_line","label":{"Urdu":"سول لائن","Roman Urdu":"Civil Line","English":"Civil Line"}},{"province":"sindh","city":"karachi","town":"saddar","name":"clifton","label":{"Urdu":"کلفٹن","Roman Urdu":"Clifton","English":"Clifton"}},{"province":"sindh","city":"karachi","town":"saddar","name":"kehkashan","label":{"Urdu":"کہکشان","Roman Urdu":"Kehkashan","English":"Kehkashan"}},{"province":"sindh","city":"karachi","town":"shah_faisal","name":"natha_khan_goth","label":{"Urdu":"ناتھا خان گوٹھ","Roman Urdu":"Natha Khan Goth","English":"Natha Khan Goth"}},{"province":"sindh","city":"karachi","town":"shah_faisal","name":"pak_sadat_colony","label":{"Urdu":"پاک صدر کالونی","Roman Urdu":"Pak Sadat Colony","English":"Pak Sadat Colony"}},{"province":"sindh","city":"karachi","town":"shah_faisal","name":"drigh_colony","label":{"Urdu":"ڈرگ کالونی","Roman Urdu":"Drigh Colony","English":"Drigh Colony"}},{"province":"sindh","city":"karachi","town":"shah_faisal","name":"raita_plot","label":{"Urdu":"رائتا پلاٹ","Roman Urdu":"Raita Plot","English":"Raita Plot"}},{"province":"sindh","city":"karachi","town":"shah_faisal","name":"moria_khan_goth","label":{"Urdu":"موریا خان گوٹھ","Roman Urdu":"Moria Khan Goth","English":"Moria Khan Goth"}},{"province":"sindh","city":"karachi","town":"shah_faisal","name":"rafa_e_aam_society","label":{"Urdu":"رفا عام سوسا ئٹی","Roman Urdu":"Rafa-e-Aam Society","English":"Rafa-e-Aam Society"}},{"province":"sindh","city":"karachi","town":"shah_faisal","name":"al_falah_society","label":{"Urdu":"الفلاح سوسا ئٹی","Roman Urdu":"Al-Falah Society","English":"Al-Falah Society"}},{"province":"sindh","city":"karachi","town":"site","name":"pak_colony","label":{"Urdu":"پاک کالونی","Roman Urdu":"Pak Colony","English":"Pak Colony"}},{"province":"sindh","city":"karachi","town":"site","name":"old_golimar","label":{"Urdu":"پرانہ گولی مار","Roman Urdu":"Old Golimar","English":"Old Golimar"}},{"province":"sindh","city":"karachi","town":"site","name":"jahanabad","label":{"Urdu":"جہان آباد","Roman Urdu":"Jahanabad","English":"Jahanabad"}},{"province":"sindh","city":"karachi","town":"site","name":"metrovil","label":{"Urdu":"میٹروویل","Roman Urdu":"Metrovil","English":"Metrovil"}},{"province":"sindh","city":"karachi","town":"site","name":"bhawani_chali","label":{"Urdu":"بہوانی چالی","Roman Urdu":"Bhawani Chali","English":"Bhawani Chali"}},{"province":"sindh","city":"karachi","town":"site","name":"frontier_colony","label":{"Urdu":"فرونٹر کالونی","Roman Urdu":"Frontier Colony","English":"Frontier Colony"}},{"province":"sindh","city":"karachi","town":"site","name":"banaras_colony","label":{"Urdu":"بنارس کالونی","Roman Urdu":"Banaras Colony","English":"Banaras Colony"}},{"province":"sindh","city":"karachi","town":"site","name":"qasba_colony","label":{"Urdu":"قصبہ کالونی","Roman Urdu":"Qasba Colony","English":"Qasba Colony"}},{"province":"sindh","city":"karachi","town":"site","name":"islamia_colony","label":{"Urdu":"اسلامیہ کالونی","Roman Urdu":"Islamia Colony","English":"Islamia Colony"}},{"province":"na","city":"na","town":"na","name":"other","label":{"Urdu":"دیگر","Roman Urdu":"Deegar","English":"Other"}},{"province":"na","city":"na","town":"na","name":"not_applicable","label":{"Urdu":"قابل اطلاق نہیں","Roman Urdu":"Qaabil-e-atlaaq nahi","English":"Not Applicable"}}],"gender":[{"instance":{"openmrs_code":"1534AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"male","label":{"Urdu":"مرد/ لڑکا","Roman Urdu":"Mard/larka","English":"Male"}},{"instance":{"openmrs_code":"1535AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"female","label":{"Urdu":"عورت/لڑکی","Roman Urdu":"Aurat/larki","English":"Female"}},{"instance":{"openmrs_code":"163163AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"transgender","label":{"Urdu":"خواجہ سرہ","Roman Urdu":"Khwaja sira","English":"Transgender"}}],"vaccines":[{"instance":{"openmrs_code":"84880AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"TT1","label":{"Urdu":"ٹی ٹی 1","Roman Urdu":"TT1","English":"TT1"}},{"instance":{"openmrs_code":"84880AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"TT2","label":{"Urdu":"ٹی ٹی 2","Roman Urdu":"TT2","English":"TT2"}},{"instance":{"openmrs_code":"84880AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"TT3","label":{"Urdu":"ٹی ٹی 3","Roman Urdu":"TT3","English":"TT3"}},{"instance":{"openmrs_code":"84880AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"TT4","label":{"Urdu":"ٹی ٹی 4","Roman Urdu":"TT4","English":"TT4"}},{"instance":{"openmrs_code":"84880AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"TT5","label":{"Urdu":"ٹی ٹی 5","Roman Urdu":"TT5","English":"TT5"}}],"towns":[{"province":"sindh","city":"karachi","name":"korangi","label":{"Urdu":"کورنگی","Roman Urdu":"Korangi","English":"Korangi"}},{"province":"sindh","city":"karachi","name":"landhi","label":{"Urdu":"لانڈھی","Roman Urdu":"Landhi","English":"Landhi"}},{"province":"sindh","city":"karachi","name":"baldia","label":{"Urdu":"بلدیہ","Roman Urdu":"Baldia","English":"Baldia"}},{"province":"sindh","city":"karachi","name":"bin_qasim","label":{"Urdu":"بن قاسم","Roman Urdu":"Bin Qasim","English":"Bin Qasim"}},{"province":"sindh","city":"karachi","name":"gadap","label":{"Urdu":"گڈاپ","Roman Urdu":"Gadap","English":"Gadap"}},{"province":"sindh","city":"karachi","name":"gulberg","label":{"Urdu":"گلبرگ","Roman Urdu":"Gulberg","English":"Gulberg"}},{"province":"sindh","city":"karachi","name":"gulshan","label":{"Urdu":"گلشن","Roman Urdu":"Gulshan","English":"Gulshan"}},{"province":"sindh","city":"karachi","name":"jamshed","label":{"Urdu":"جمشید","Roman Urdu":"Jamshed","English":"Jamshed"}},{"province":"sindh","city":"karachi","name":"kiamari","label":{"Urdu":"کیماری","Roman Urdu":"Kiamari","English":"Kiamari"}},{"province":"sindh","city":"karachi","name":"liaquatabad","label":{"Urdu":"لیاقت آباد","Roman Urdu":"Liaquatabad","English":"Liaquatabad"}},{"province":"sindh","city":"karachi","name":"lyari","label":{"Urdu":"لیاری","Roman Urdu":"Lyari","English":"Lyari"}},{"province":"sindh","city":"karachi","name":"malir","label":{"Urdu":"ملیر","Roman Urdu":"Malir","English":"Malir"}},{"province":"sindh","city":"karachi","name":"new_karachi","label":{"Urdu":"نیو کراچی","Roman Urdu":"New Karachi","English":"New Karachi"}},{"province":"sindh","city":"karachi","name":"north_nazimabad","label":{"Urdu":"نارتھ ناظم آباد","Roman Urdu":"North Nazimabad","English":"North Nazimabad"}},{"province":"sindh","city":"karachi","name":"orangi","label":{"Urdu":"اورنگی","Roman Urdu":"Orangi","English":"Orangi"}},{"province":"sindh","city":"karachi","name":"saddar","label":{"Urdu":"صدر","Roman Urdu":"Saddar","English":"Saddar"}},{"province":"sindh","city":"karachi","name":"shah_faisal","label":{"Urdu":"شاہ فیصل","Roman Urdu":"Shah Faisal","English":"Shah Faisal"}},{"province":"sindh","city":"karachi","name":"site","label":{"Urdu":"سائٹ","Roman Urdu":"S.I.T.E.","English":"S.I.T.E."}},{"province":"na","city":"na","name":"other","label":{"Urdu":"دیگر","Roman Urdu":"Deegar","English":"Other"}},{"province":"na","city":"na","name":"not_applicable","label":{"Urdu":"قابل اطلاق نہیں","Roman Urdu":"Qaabil-e-atlaaq nahi","English":"Not Applicable"}}],"cities":[{"province":"sindh","name":"karachi","label":{"Urdu":"کراچی","Roman Urdu":"Karachi","English":"Karachi"}},{"province":"punjab","name":"hafizabad","label":{"Urdu":"حافظ آباد","Roman Urdu":"Hafizabad","English":"Hafizabad"}},{"province":"punjab","name":"muzaffargarh","label":{"Urdu":"مظفر گڑھ","Roman Urdu":"Muzaffargarh","English":"Muzaffargarh"}},{"province":"na","name":"other","label":{"Urdu":"دیگر","Roman Urdu":"Deegar","English":"Other"}},{"province":"na","name":"not_applicable","label":{"Urdu":"قابل اطلاق نہیں","Roman Urdu":"Not Applicable","English":"Not Applicable"}}],"edd_lmp":[{"instance":{"openmrs_code":"5596AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"edd","label":{"Urdu":"زچگی کی متوقع تاریخ","Roman Urdu":"EDD","English":"EDD"}},{"instance":{"openmrs_code":"1427AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"lmp","label":{"Urdu":"پچھلی مہواری کی تاریخ","Roman Urdu":"LMP","English":"LMP"}},{"instance":{"openmrs_code":"159617AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"ultrasound","label":{"Urdu":"الٹرا سائونڈ","Roman Urdu":"Ultrasound","English":"Ultrasound"}},{"instance":{"openmrs_code":"1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"none","label":{"Urdu":"کوئی بھی نہیں","Roman Urdu":"Koi bhi nahi","English":"None of the above"}}],"ethnicity":[{"instance":{"openmrs_code":"163215AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"punjabi","label":{"Urdu":"پنجابی","Roman Urdu":"Punjabi","English":"Punjabi"}},{"instance":{"openmrs_code":"163216AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"pushtuns","label":{"Urdu":"پشتون","Roman Urdu":"Pushtun","English":"Pushtun"}},{"instance":{"openmrs_code":"163217AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"sindhi","label":{"Urdu":"سندھی","Roman Urdu":"Sindhi","English":"Sindhi"}},{"instance":{"openmrs_code":"163218AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"saraiki","label":{"Urdu":"سرائیکی","Roman Urdu":"Saraiki","English":"Saraiki"}},{"instance":{"openmrs_code":"163219AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"muhajir","label":{"Urdu":"مہاجر","Roman Urdu":"Muhajir","English":"Muhajir"}},{"instance":{"openmrs_code":"163220AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"balochi","label":{"Urdu":"بلوچی","Roman Urdu":"Balochi","English":"Balochi"}},{"instance":{"openmrs_code":"5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"other","label":{"Urdu":"دیگر","Roman Urdu":"Deegar","English":"Other"}}],"yes_no":[{"instance":{"openmrs_code":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"yes","label":{"Urdu":"ہاں","Roman Urdu":"Yes","English":"Yes"}},{"instance":{"openmrs_code":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"no","label":{"Urdu":"نہیں","Roman Urdu":"No","English":"No"}}]},"instance":{"encounter_type":"Woman TT enrollment"},"version":"201604080500","id_string":"woman_tt_enrollement_form","type":"survey","children":[{"type":"hidden","name":"provider_uc"},{"type":"hidden","name":"provider_town"},{"type":"hidden","name":"provider_city"},{"type":"hidden","name":"provider_province"},{"type":"hidden","name":"provider_id"},{"instance":{"openmrs_entity_id":"location_id","openmrs_entity":"encounter"},"type":"hidden","name":"provider_location_id"},{"instance":{"openmrs_entity_id":"Program Client ID","openmrs_entity":"person_identifier"},"type":"hidden","name":"existing_program_client_id"},{"type":"hidden","name":"provider_location_name"},{"instance":{"openmrs_entity_id":"gender","openmrs_entity":"person"},"type":"hidden","name":"gender"},{"type":"note","name":"provider_location_note","label":{"Urdu":"شہر: ${provider_city} ; ٹائون: ${provider_town} ; یوسی: ${provider_uc} ; سینٹرکا نام: ${provider_location_name}","English":"City: ${provider_city} ; Town: ${provider_town} ; UC: ${provider_uc} ; Center Name: ${provider_location_name}","Roman Urdu":"Shehr: ${provider_city} ; Town: ${provider_town} ; UC: ${provider_uc} ; Center ka naam: ${provider_location_name}"}},{"instance":{"openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"start","name":"start"},{"instance":{"openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"end","name":"end"},{"instance":{"openmrs_entity_id":"163286AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"today","name":"today"},{"instance":{"openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"deviceid","name":"deviceid"},{"instance":{"openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"subscriberid","name":"subscriberid"},{"instance":{"openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"simserial","name":"simserial"},{"instance":{"openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"phonenumber","name":"phonenumber"},{"name":"client_reg_date","hint":{"Urdu":"خاتون کو ویکسین لگنے کی تاریخ","English":"Date on which woman was vaccinated","Roman Urdu":"Khatoon ko vaccine lagnay ki tareekh"},"bind":{"jr:constraintMsg":{"Urdu":"پروگرام مین اندراج کی تاریخ مستقبل کی نہیں ہوسکتی","English":"Client registration date cannot be in the future","Roman Urdu":"Program mai andraaj ki tareekh mustaqbil ki nahi hosakti"},"required":"yes","constraint":".<=${today}"},"label":{"Urdu":"پروگرام میں اندراج کی تاریخ","English":"Client Registration date","Roman Urdu":"Program mai andraj ki tareekh"},"instance":{"openmrs_entity_id":"encounter_date","openmrs_entity":"encounter"},"type":"date"},{"bind":{"required":"yes"},"type":"note","name":"program_client_id","label":{"Urdu":"کلائنٹ کی پروگرام آئی ڈی {existing_program_client_id}$","Roman Urdu":"Client ki program ID ${existing_program_client_id}","English":"Program Client ID ${existing_program_client_id}"}},{"bind":{"jr:constraintMsg":{"Urdu":"نمبر آٹھ ہندسوں پر مشتمل ہونا چاہئے","English":"Number should be 8 digits","Roman Urdu":"Number 8 hindason par mushtamil hona chahiye"},"required":"yes","constraint":"string-length(.) = 8"},"type":"integer","instance":{"openmrs_entity_id":"EPI Card Number","openmrs_entity":"person_attribute"},"name":"epi_card_number","label":{"Urdu":"کارڈ نمبر","English":"EPI Card Number","Roman Urdu":"EPI Card Number"}},{"bind":{"jr:constraintMsg":{"Urdu":"نام تین سے پچیس حروف پر مشتمل ہونا چاہئے","English":"Name should be 3 to 25 characters long","Roman Urdu":"Naam 3 say 25 huroof par mushtamil hona chahiye"},"required":"yes","constraint":"regex(., '^[a-zA-Z\\s\\.\\-]{3,25}$')"},"type":"text","instance":{"openmrs_entity_id":"first_name","openmrs_entity":"person"},"name":"first_name","label":{"Urdu":"نام","English":"First Name","Roman Urdu":"Naam"}},{"default":"yes","label":{"Urdu":"کیا تاریخ پیدائش معلوم ہے؟","Roman Urdu":"Kya tareekh-e-pedaaish maloom hai?","English":"Is birthdate known?"},"type":"select one","children":[{"instance":{"openmrs_code":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"yes","label":{"Urdu":"ہاں","Roman Urdu":"Yes","English":"Yes"}},{"instance":{"openmrs_code":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"no","label":{"Urdu":"نہیں","Roman Urdu":"No","English":"No"}}],"name":"member_birth_date_known"},{"bind":{"jr:constraintMsg":{"Urdu":"یہ تاریخ مستقبل کی نہیں ہوسکتی","Roman Urdu":"Ye tareekh mustaqbil ki nahi hosakti","English":"This date cannot be in the future"},"relevant":"selected(${member_birth_date_known}, 'yes')","constraint":".<=${today}"},"type":"date","name":"member_birth_date","label":{"Urdu":"تاریخ پیدائش","Roman Urdu":"Tareekh-e-pedaaish","English":"Birth date"}},{"bind":{"relevant":"selected(${member_birth_date_known}, 'no')"},"type":"integer","name":"age","label":{"Urdu":"عمر (سالوں میں)","Roman Urdu":"Umar (saalon me)","English":"Age (years)"}},{"bind":{"calculate":"int((${today} - ${member_birth_date}) div 365.25)"},"type":"calculate","name":"calc_age"},{"bind":{"calculate":"date(${today} - int(${age} * 365.25))"},"type":"calculate","name":"calc_dob"},{"bind":{"calculate":"if(${member_birth_date_known}='yes', ${member_birth_date}, ${calc_dob})"},"type":"calculate","name":"calc_dob_confirm","instance":{"openmrs_entity_id":"birthdate","openmrs_entity":"person"}},{"bind":{"calculate":"if(${member_birth_date_known} = 'yes', '0', '1')"},"type":"calculate","name":"calc_dob_estimated","instance":{"openmrs_entity_id":"birthdate_estimated","openmrs_entity":"person"}},{"bind":{"calculate":"if(${member_birth_date_known}='yes', ${calc_age}, ${age})"},"type":"calculate","name":"calc_age_confirm","instance":{"openmrs_entity_id":"154384AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"}},{"type":"note","name":"birth_date_note","label":{"Urdu":"کلائنٹ کی تاریخ پیدائش:${calc_dob_confirm}","English":"Date of Birth: ${calc_dob_confirm}","Roman Urdu":"Member ki Tareekh-e-pedaaish: ${calc_dob_confirm}"}},{"type":"note","name":"note_age","label":{"Urdu":"عمر :{calc_age_confirm}$ سال","English":"Age: ${calc_age_confirm} years","Roman Urdu":"Umar: ${calc_age_confirm} saal"}},{"default":"female","bind":{"required":"yes","calculate":"concat(\"female\",\"\")"},"type":"calculate","name":"gender1","label":{"Urdu":"جنس","Roman Urdu":"Jins","English":"Gender"}},{"bind":{"jr:constraintMsg":{"Urdu":"نام تین سے پچیس حروف پر مشتمل ہونا چاہئے","English":"Name should be 3 to 25 characters long","Roman Urdu":"Naam 3 say 25 huroof par mushtamil hona chahiye"},"constraint":"regex(., '^[a-zA-Z\\s\\.\\-]{3,25}$')"},"type":"text","instance":{"openmrs_entity_id":"1594AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"name":"father_name","label":{"Urdu":"والد کا نام","English":"Father's Name","Roman Urdu":"Waalid ka naam"}},{"label":{"Urdu":"کیا آپ شادی شدہ ہیں؟","English":"Are you married?","Roman Urdu":"Kya aap shaadi shuda hain?"},"type":"select one","children":[{"instance":{"openmrs_code":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"yes","label":{"Urdu":"ہاں","Roman Urdu":"Yes","English":"Yes"}},{"instance":{"openmrs_code":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"no","label":{"Urdu":"نہیں","Roman Urdu":"No","English":"No"}}],"name":"marriage"},{"bind":{"jr:constraintMsg":{"Urdu":"نام تین سے پچیس حروف پر مشتمل ہونا چاہئے","English":"Name should be 3 to 25 characters long","Roman Urdu":"Naam 3 say 25 huroof par mushtamil hona chahiye"},"relevant":"selected(${marriage}, 'yes')","constraint":"regex(., '^[a-zA-Z\\s\\.\\-]{3,25}$')"},"type":"text","instance":{"openmrs_entity_id":"161135AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"name":"husband_name","label":{"Urdu":"شوہر کا نام","English":"Husband's Name","Roman Urdu":"Shohar ka naam"}},{"bind":{"calculate":"if(${marriage} = 'no', ${father_name}, ${husband_name})"},"type":"calculate","name":"last_name","instance":{"openmrs_entity_id":"last_name","openmrs_entity":"person"}},{"control":{"appearance":"minimal"},"name":"ethnicity","bind":{"required":"yes"},"label":{"Urdu":"قومیت","English":"Ethnicity","Roman Urdu":"Qomiat"},"instance":{"openmrs_entity_id":"163153AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"select one","children":[{"instance":{"openmrs_code":"163215AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"punjabi","label":{"Urdu":"پنجابی","Roman Urdu":"Punjabi","English":"Punjabi"}},{"instance":{"openmrs_code":"163216AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"pushtuns","label":{"Urdu":"پشتون","Roman Urdu":"Pushtun","English":"Pushtun"}},{"instance":{"openmrs_code":"163217AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"sindhi","label":{"Urdu":"سندھی","Roman Urdu":"Sindhi","English":"Sindhi"}},{"instance":{"openmrs_code":"163218AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"saraiki","label":{"Urdu":"سرائیکی","Roman Urdu":"Saraiki","English":"Saraiki"}},{"instance":{"openmrs_code":"163219AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"muhajir","label":{"Urdu":"مہاجر","Roman Urdu":"Muhajir","English":"Muhajir"}},{"instance":{"openmrs_code":"163220AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"balochi","label":{"Urdu":"بلوچی","Roman Urdu":"Balochi","English":"Balochi"}},{"instance":{"openmrs_code":"5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"other","label":{"Urdu":"دیگر","Roman Urdu":"Deegar","English":"Other"}}]},{"bind":{"relevant":"selected(${ethnicity}, 'other')"},"type":"text","instance":{"openmrs_entity":"concept","openmrs_entity_id":"160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"163330AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"ethnicity_other","label":{"Urdu":"وضاحت کریں","Roman Urdu":"Wazaahat karain","English":"Please specify:"}},{"control":{"appearance":"minimal"},"name":"province","default":"${provider_province}","bind":{"required":"yes"},"label":{"Urdu":"صوبہ","Roman Urdu":"Suba","English":"Province"},"instance":{"openmrs_entity":"person_address","openmrs_entity_id":"stateProvince","openmrs_entity_parent":"usual_residence"},"type":"select one","children":[{"name":"kpk","label":{"Urdu":"خیبر پختون خواہ","English":"Khyber Pakhtunkhwa","Roman Urdu":"Khyber Pakhtunkhwa"}},{"name":"sindh","label":{"Urdu":"سندھ","English":"Sindh","Roman Urdu":"Sindh"}},{"name":"balochistan","label":{"Urdu":"بلوچستان","English":"Balochistan","Roman Urdu":"Balochistan"}},{"name":"punjab","label":{"Urdu":"پنجاب","English":"Punjab","Roman Urdu":"Punjab"}},{"name":"gilgit_baltistan","label":{"Urdu":"گلگت بلتستان","English":"Gilgit Baltistan","Roman Urdu":"Gilgit Baltistan"}},{"name":"kashmir","label":{"Urdu":"کشمیر","English":"Kashmir","Roman Urdu":"Kashmir"}},{"name":"fata","label":{"Urdu":"فاٹا","English":"FATA","Roman Urdu":"FATA"}},{"name":"out_of_country","label":{"Urdu":"ملک سے باہر","English":"Out of Country","Roman Urdu":"Mulk se baahir"}}]},{"control":{"appearance":"minimal"},"name":"city_village","choice_filter":"province=${province} or province='na'","default":"${provider_city}","bind":{"required":"yes"},"label":{"Urdu":"شہر","Roman Urdu":"Shehr","English":"City"},"itemset":"cities","instance":{"openmrs_entity":"person_address","openmrs_entity_id":"cityVillage","openmrs_entity_parent":"usual_residence"},"type":"select one"},{"control":{"appearance":"minimal"},"name":"town","choice_filter":"(province=${province} and city=${city_village} ) or city='na'","bind":{"required":"yes"},"label":{"Urdu":"ٹاٰئون/ قصبہ/ بستی","Roman Urdu":"Town / Qasbah / Basti","English":"Town"},"itemset":"towns","instance":{"openmrs_entity":"person_address","openmrs_entity_id":"town","openmrs_entity_parent":"usual_residence"},"type":"select one"},{"control":{"appearance":"minimal"},"name":"union_council","choice_filter":"(province=${province} and city=${city_village} and town=${town}) or town='na'","bind":{"required":"yes"},"label":{"Urdu":"یونین کونسل","Roman Urdu":"Union Council","English":"Union Council"},"itemset":"ucs","instance":{"openmrs_entity":"person_address","openmrs_entity_id":"subTown","openmrs_entity_parent":"usual_residence"},"type":"select one"},{"bind":{"required":"yes"},"type":"text","instance":{"openmrs_entity":"person_address","openmrs_entity_id":"house","openmrs_entity_parent":"usual_residence"},"name":"house_number","label":{"Urdu":"گھر کا نمبر","Roman Urdu":"Ghar ka number","English":"House Number"}},{"bind":{"required":"yes"},"type":"text","instance":{"openmrs_entity":"person_address","openmrs_entity_id":"street","openmrs_entity_parent":"usual_residence"},"name":"street","label":{"Urdu":"گلی/کالونی/محلہ","Roman Urdu":"Gali/Colony/Mohalla","English":"Street"}},{"bind":{"required":"yes"},"type":"text","instance":{"openmrs_entity":"person_address","openmrs_entity_id":"landmark","openmrs_entity_parent":"usual_residence"},"name":"landmark","label":{"Urdu":"گھر کے قریب کوئی مشہور جگہ","Roman Urdu":"Ghar ke qareeb koi mashoor jagah","English":"Land Mark"}},{"bind":{"calculate":"jr:choice-name(${province}, '${province}')"},"type":"calculate","name":"provincename"},{"bind":{"calculate":"jr:choice-name(${city_village}, '${city_village}')"},"type":"calculate","name":"city_villagename"},{"bind":{"calculate":"jr:choice-name(${town}, '${town}')"},"type":"calculate","name":"townname"},{"bind":{"calculate":"jr:choice-name(${union_council}, '${union_council}')"},"type":"calculate","name":"union_councilname"},{"type":"note","name":"address","label":{"Urdu":"پتہ: ${house_number}, ${street}, ${landmark}, ${union_councilname}, ${townname}, ${city_villagename}, ${provincename}","English":"Address: ${house_number}, ${street}, ${landmark}, ${union_councilname}, ${townname}, ${city_villagename}, ${provincename}","Roman Urdu":"Pata: ${house_number}, ${street}, ${landmark}, ${union_councilname}, ${townname}, ${city_villagename}, ${provincename}"}},{"instance":{"openmrs_entity_id":"163277AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"geopoint","name":"centre_gps","label":{"Urdu":"حاصل کردہ معلومات کی جگہ کے GPS کارڈینیٹس درج کریں","English":"Collect GPS coordinates of data entry location","Roman Urdu":"Hasil karda malomaat ki jaga ke GPS coordinates darj karain"}},{"name":"reminders_approval","bind":{"required":"yes"},"label":{"Urdu":"کیا آپ اپنے بچے کی اگلی ویکسین کی تاریخ کے لیے SMS موصول کرنا چاہتے ہیں؟","English":"Are you willing to receive SMS reminders for your next visit?","Roman Urdu":"Kya aap apnay bachay ki agli vaccine ki tareekh ke liye SMS mausool karna chahtay hain?"},"instance":{"openmrs_entity_id":"163089AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"select one","children":[{"instance":{"openmrs_code":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"yes","label":{"Urdu":"ہاں","Roman Urdu":"Yes","English":"Yes"}},{"instance":{"openmrs_code":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"no","label":{"Urdu":"نہیں","Roman Urdu":"No","English":"No"}}]},{"bind":{"jr:constraintMsg":{"Urdu":"فون نمبر گیارہ ہندسوں پر مشتمل اور مندرجہ ذیل شکل میں ہونا چاہئے: *********03","English":"Phone number should be 11 digits in the following format: 03*********","Roman Urdu":"Phone number 11 hindason par mushtamil aur mundarja zail shakal main hona chahiey: 03*********"},"relevant":"${reminders_approval}='yes'","constraint":"regex(., '^03[0-9]{9}$')"},"type":"text","instance":{"openmrs_entity_id":"159635AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"name":"contact_phone_number","label":{"Urdu":"موبائل نمبر:","English":"Mobile Number:","Roman Urdu":"Mobile number:"}},{"instance":{"openmrs_entity_id":"5272AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"label":{"Urdu":"کیا خا تون حاملہ ہیں؟","English":"Is female pregnant?","Roman Urdu":"Kia khatoon haamla hain?"},"type":"select one","children":[{"instance":{"openmrs_code":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"yes","label":{"Urdu":"ہاں","Roman Urdu":"Yes","English":"Yes"}},{"instance":{"openmrs_code":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"no","label":{"Urdu":"نہیں","Roman Urdu":"No","English":"No"}}],"name":"pregnant"},{"name":"edd_lmp","bind":{"relevant":"selected (${pregnant}, 'yes')"},"label":{"Urdu":"کیا آپ کو اپنی پچھلی ماہواری کی تاریخ، زچگی کی متوقع تاریخ، یا الٹرا سائونڈ کا علم ہے؟","English":"Do you know your LMP, EDD or last Ultrasound information?","Roman Urdu":"Kya aap ko apni pichli mahwaari ki tareekh, zachgi ki mutawaqqa tareekh ya ultrasound ka ilm hai?"},"instance":{"openmrs_entity_id":"160697AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"select one","children":[{"instance":{"openmrs_code":"5596AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"edd","label":{"Urdu":"زچگی کی متوقع تاریخ","Roman Urdu":"EDD","English":"EDD"}},{"instance":{"openmrs_code":"1427AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"lmp","label":{"Urdu":"پچھلی مہواری کی تاریخ","Roman Urdu":"LMP","English":"LMP"}},{"instance":{"openmrs_code":"159617AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"ultrasound","label":{"Urdu":"الٹرا سائونڈ","Roman Urdu":"Ultrasound","English":"Ultrasound"}},{"instance":{"openmrs_code":"1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"none","label":{"Urdu":"کوئی بھی نہیں","Roman Urdu":"Koi bhi nahi","English":"None of the above"}}]},{"bind":{"jr:constraintMsg":{"Urdu":"زچگی کی متوقع تاریخ ماضی کی نہیں ہو سکتی","Roman Urdu":"Zachgi ki mutawaqqa tareekh maazi ki nahi hosakti","English":"EDD cannot be in the past"},"relevant":"selected (${edd_lmp}, 'edd')","constraint":".>=${today}"},"type":"date","name":"edd","label":{"Urdu":"زچگی کی متوقع تاریخ","Roman Urdu":"Zachgi ki mutawaqqa tareekh","English":"EDD"}},{"bind":{"jr:constraintMsg":{"Urdu":"پچھلی ماہواری کی تاریخ مستقبل کی نہیں ہوسکتی","Roman Urdu":"Pichli mahwaari ki tareekh mustaqbil ki nahi hosakti","English":"LMP cannot be in the future"},"relevant":"selected (${edd_lmp}, 'lmp')","constraint":".<=${today}"},"type":"date","name":"lmp","label":{"Urdu":"پچھلی ماہواری کی تاریخ","Roman Urdu":"Pichli mahwaari ki tareekh","English":"LMP"}},{"bind":{"relevant":"selected (${edd_lmp}, 'ultrasound')"},"type":"date","instance":{"openmrs_entity_id":"163165AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"name":"ultrasound_date","label":{"Urdu":"الٹرا سائونڈ کی تاریخ","English":"Ultrasound Date","Roman Urdu":"Ultrasound ki tareekh"}},{"bind":{"relevant":"selected (${edd_lmp}, 'ultrasound')"},"type":"integer","name":"ultrasound_weeks","label":{"Urdu":"الٹرا سائونڈ کی مدد سے حمل کی مدت [ہفتوں میں]","Roman Urdu":"Ultrasound ki madad se hamal ki muddat (hafton me)","English":"Gestational age determined by ultrasound"}},{"bind":{"calculate":"date(${lmp}+280)"},"type":"calculate","name":"edd_calc_lmp"},{"bind":{"calculate":"date((280-(${ultrasound_weeks}*7)+${ultrasound_date} ))"},"type":"calculate","name":"edd_calc_ultrasound"},{"bind":{"calculate":"format-date(${edd_calc_lmp}, '%Y-%n-%e')"},"type":"calculate","name":"edd_calc_lmp_formatted"},{"bind":{"calculate":"format-date(${edd_calc_ultrasound}, '%Y-%n-%e')"},"type":"calculate","name":"edd_calc_ultrasound_formatted"},{"bind":{"calculate":"date(${edd}-280)"},"type":"calculate","name":"lmp_calc_edd"},{"bind":{"calculate":"date(${ultrasound_date}-(${ultrasound_weeks}*7))"},"type":"calculate","name":"lmp_calc_ultrasound"},{"bind":{"calculate":"format-date(${lmp_calc_edd}, '%Y-%n-%e')"},"type":"calculate","name":"lmp_calc_edd_formatted"},{"bind":{"calculate":"format-date(${lmp_calc_ultrasound}, '%Y-%n-%e')"},"type":"calculate","name":"lmp_calc_ultrasound_formatted"},{"bind":{"calculate":"if(${edd_lmp}='lmp',${edd_calc_lmp_formatted},if(${edd_lmp}='edd',${edd} ,if(${edd_lmp}='ultrasound',${edd_calc_ultrasound_formatted},'')))"},"type":"calculate","name":"final_edd","instance":{"openmrs_entity_id":"5596AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"}},{"bind":{"calculate":"if(${edd_lmp}='lmp',${lmp},if(${edd_lmp}='edd',${lmp_calc_edd_formatted} ,if(${edd_lmp}='ultrasound',${lmp_calc_ultrasound_formatted},'')))"},"type":"calculate","name":"final_lmp","instance":{"openmrs_entity_id":"1427AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"}},{"bind":{"calculate":"int((${today} - (${edd}-280))div7)"},"type":"calculate","name":"ga_edd"},{"bind":{"calculate":"int((${today} - ${lmp})div7)"},"type":"calculate","name":"ga_lmp"},{"bind":{"calculate":"int((${today} -(${ultrasound_date}-(${ultrasound_weeks}*7)))div7)"},"type":"calculate","name":"ga_ult"},{"bind":{"relevant":"selected (${pregnant}, 'yes')"},"type":"note","name":"final_edd_note","label":{"Urdu":"${final_edd}: زچگی کی متوقع تاریخ","Roman Urdu":"Zachgi ki mutawaqqa tareekh: ${final_edd}","English":"EDD: ${final_edd}"}},{"bind":{"relevant":"selected (${pregnant}, 'yes')"},"type":"note","name":"final_lmp_note","label":{"Urdu":"پچھلی ماہواری کی تاریخ :{final_lmp}$","Roman Urdu":"Pichli mahwaari ki tareekh: ${final_lmp}","English":"LMP: ${final_lmp}"}},{"bind":{"calculate":"if(${edd_lmp}='lmp',${ga_lmp},if(${edd_lmp}='edd',${ga_edd} ,if(${edd_lmp}='ultrasound',${ga_ult},'')))"},"type":"calculate","name":"final_ga","instance":{"openmrs_entity_id":"163166AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"}},{"bind":{"relevant":"selected (${pregnant}, 'yes')"},"type":"note","name":"final_ga_note","label":{"Urdu":"حمل کی مُدّت: {final_ga}$ ہفتے","Roman Urdu":"Hamal ki muddat: ${final_ga} weeks","English":"GA: ${final_ga} weeks"}},{"name":"vaccines","bind":{"calculate":"minimal"},"label":{"Urdu":"پچھلی تاریخ جب کسی اور سینٹر پر ٹیکہ لگوایا گیا یا قطرے پلائے گئے","Roman Urdu":"Pichli tareekh jab kissi aur center par teeka lagwaya gaya ya katray pilaey gaye","English":"Retro vaccines"},"instance":{"openmrs_entity":"concept","openmrs_entity_id":"984AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"1421AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"type":"select all that apply","children":[{"instance":{"openmrs_code":"84880AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"TT1","label":{"Urdu":"ٹی ٹی 1","Roman Urdu":"TT1","English":"TT1"}},{"instance":{"openmrs_code":"84880AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"TT2","label":{"Urdu":"ٹی ٹی 2","Roman Urdu":"TT2","English":"TT2"}},{"instance":{"openmrs_code":"84880AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"TT3","label":{"Urdu":"ٹی ٹی 3","Roman Urdu":"TT3","English":"TT3"}},{"instance":{"openmrs_code":"84880AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"TT4","label":{"Urdu":"ٹی ٹی 4","Roman Urdu":"TT4","English":"TT4"}},{"instance":{"openmrs_code":"84880AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"TT5","label":{"Urdu":"ٹی ٹی 5","Roman Urdu":"TT5","English":"TT5"}}]},{"bind":{"relevant":"selected(${vaccines},'TT1')","constraint":"(.<=${today} and .<=${client_reg_date})"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"tt1_retro","label":{"Urdu":"ٹی ٹی 1","Roman Urdu":"TT1","English":"TT1"}},{"bind":{"relevant":"selected(${vaccines},'TT1')","calculate":"1"},"type":"calculate","name":"tt_1_dose","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines},'TT2')","constraint":"(.<=${today} and .>=${tt1_retro} and ((selected(${vaccines}, 'TT1'))))"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"tt2_retro","label":{"Urdu":"ٹی ٹی 2","Roman Urdu":"TT2","English":"TT2"}},{"bind":{"relevant":"selected(${vaccines},'TT2')","calculate":"2"},"type":"calculate","name":"tt_2_dose","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines},'TT3')","constraint":"(.<=${today} and .>=${tt2_retro} and ((selected(${vaccines}, 'TT2'))))"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"tt3_retro","label":{"Urdu":"ٹی ٹی 3","Roman Urdu":"TT3","English":"TT3"}},{"bind":{"relevant":"selected(${vaccines},'TT3')","calculate":"3"},"type":"calculate","name":"tt_3_dose","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines},'TT4')","constraint":"(.<=${today} and .>=${tt3_retro} and ((selected(${vaccines}, 'TT3'))))"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"tt4_retro","label":{"Urdu":"ٹی ٹی 4","Roman Urdu":"TT4","English":"TT4"}},{"bind":{"relevant":"selected(${vaccines},'TT4')","calculate":"4"},"type":"calculate","name":"tt_4_dose","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"name":"vaccines_2","choice_filter":"name = if(selected(${vaccines}, 'TT1'), '', 'TT1') or \nname = if(selected(${vaccines}, 'TT2'), '', 'TT2') or \nname = if(selected(${vaccines}, 'TT3'), '', 'TT3') or \nname = if(selected(${vaccines}, 'TT4'), '', 'TT4') or \nname = if(selected(${vaccines}, 'TT5'), '', 'TT5')","bind":{"required":"yes"},"label":{"Urdu":"آج کون کون سی ویکسین دی گئی ہیں؟","Roman Urdu":"Aaj kon kon si vaccine di gai hain?","English":"Vaccine administered today"},"itemset":"vaccines","instance":{"openmrs_entity":"concept","openmrs_entity_id":"984AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"1441AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"type":"select all that apply"},{"bind":{"calculate":"if(selected(${vaccines_2}, 'TT1'),${client_reg_date},'')"},"type":"calculate","name":"tt1","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines_2},'TT1')","calculate":"1"},"type":"calculate","name":"tt_1_dose_today","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"calculate":"if(selected(${vaccines_2}, 'TT2'),${client_reg_date},'')"},"type":"calculate","name":"tt2","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines_2},'TT2')","calculate":"2"},"type":"calculate","name":"tt_2_dose_today","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"calculate":"if(selected(${vaccines_2}, 'TT3'),${client_reg_date},'')"},"type":"calculate","name":"tt3","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines_2},'TT3')","calculate":"3"},"type":"calculate","name":"tt_3_dose_today","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"calculate":"if(selected(${vaccines_2}, 'TT4'),${client_reg_date},'')"},"type":"calculate","name":"tt4","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines_2},'TT4')","calculate":"4"},"type":"calculate","name":"tt_4_dose_today","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"calculate":"if(selected(${vaccines_2}, 'TT5'),${client_reg_date},'')"},"type":"calculate","name":"tt5","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines_2},'TT5')","calculate":"5"},"type":"calculate","name":"tt_5_dose_today","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"control":{"bodyless":true},"type":"group","children":[{"bind":{"readonly":"true()","calculate":"concat('uuid:', uuid())"},"type":"calculate","name":"instanceID"}],"name":"meta"}]} \ No newline at end of file diff --git a/opensrp-core/bin/src/test/resources/form/woman_enrollment/form.xml b/opensrp-core/bin/src/test/resources/form/woman_enrollment/form.xml new file mode 100644 index 0000000000..ebbd597bbb --- /dev/null +++ b/opensrp-core/bin/src/test/resources/form/woman_enrollment/form.xml @@ -0,0 +1,1550 @@ +
+ + +

خواتین انرولمنٹ فارم برائے ٹی ٹی ٹیکاجات - Woman TT Enrollment Form

+
+
+ + کیا تاریخ پیدائش معلوم ہے؟ + Is birthdate known? + + Kya tareekh-e-pedaaish maloom hai? +
+ + +
+
+
+
+ + کیا آپ شادی شدہ ہیں؟ + Are you married? + + Kya aap shaadi shuda hain? +
+ + +
+
+
+
+ + کیا آپ اپنے بچے کی اگلی ویکسین کی تاریخ کے لیے SMS موصول کرنا چاہتے ہیں؟ + Are you willing to receive SMS reminders for your next visit? + + Kya aap apnay bachay ki agli vaccine ki tareekh ke liye SMS mausool karna chahtay hain? + * +
+ + +
+
+
+
+ + کیا خا تون حاملہ ہیں؟ + Is female pregnant? + + Kia khatoon haamla hain? +
+ + +
+
+
+
+ + کیا آپ کو اپنی پچھلی ماہواری کی تاریخ، زچگی کی متوقع تاریخ، یا الٹرا سائونڈ کا علم ہے؟ + Do you know your LMP, EDD or last Ultrasound information? + + Kya aap ko apni pichli mahwaari ki tareekh, zachgi ki mutawaqqa tareekh ya ultrasound ka ilm hai? +
+ + + + +
+
+
+
+ + پچھلی تاریخ جب کسی اور سینٹر پر ٹیکہ لگوایا گیا یا قطرے پلائے گئے + Retro vaccines + + Pichli tareekh jab kissi aur center par teeka lagwaya gaya ya katray pilaey gaye +
+ + + + + +
+
+
+
+ + آج کون کون سی ویکسین دی گئی ہیں؟ + Vaccine administered today + + Aaj kon kon si vaccine di gai hain? + * +
+ + + ٹی ٹی 1 + TT1 + + TT1 + ٹی ٹی 2 + TT2 + + TT2 + ٹی ٹی 3 + TT3 + + TT3 + ٹی ٹی 4 + TT4 + + TT4 + ٹی ٹی 5 + TT5 + + TT5 +
+
+
+ + diff --git a/opensrp-core/bin/src/test/resources/form/woman_enrollment/form_definition.json b/opensrp-core/bin/src/test/resources/form/woman_enrollment/form_definition.json new file mode 100644 index 0000000000..5d6cbabe33 --- /dev/null +++ b/opensrp-core/bin/src/test/resources/form/woman_enrollment/form_definition.json @@ -0,0 +1,311 @@ +{ + "form_data_definition_version" : "1", + "form" : { + "bind_type" : "pkwoman", + "default_bind_path" : "/model/instance/Woman_TT_Enrollment_Form/", + "fields" : [ { + "name" : "id", + "shouldLoadValue" : true + }, { + "name" : "provider_uc", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/provider_uc", + "shouldLoadValue" : true + }, { + "name" : "provider_town", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/provider_town", + "shouldLoadValue" : true + }, { + "name" : "provider_city", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/provider_city", + "shouldLoadValue" : true + }, { + "name" : "provider_province", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/provider_province", + "shouldLoadValue" : true + }, { + "name" : "provider_id", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/provider_id", + "shouldLoadValue" : true + }, { + "name" : "provider_location_id", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/provider_location_id", + "shouldLoadValue" : true + }, { + "name" : "existing_program_client_id", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/existing_program_client_id", + "shouldLoadValue" : true + }, { + "name" : "provider_location_name", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/provider_location_name", + "shouldLoadValue" : true + }, { + "name" : "gender", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/gender", + "shouldLoadValue" : true + }, { + "name" : "provider_location_note", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/provider_location_note" + }, { + "name" : "start", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/start" + }, { + "name" : "end", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/end" + }, { + "name" : "today", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/today" + }, { + "name" : "deviceid", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/deviceid" + }, { + "name" : "subscriberid", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/subscriberid" + }, { + "name" : "simserial", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/simserial" + }, { + "name" : "phonenumber", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/phonenumber" + }, { + "name" : "client_reg_date", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/client_reg_date" + }, { + "name" : "program_client_id", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/program_client_id" + }, { + "name" : "epi_card_number", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/epi_card_number" + }, { + "name" : "first_name", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/first_name" + }, { + "name" : "birth_date_known", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/member_birth_date_known" + }, { + "name" : "birth_date", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/member_birth_date" + }, { + "name" : "age", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/age" + }, { + "name" : "calc_age", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/calc_age" + }, { + "name" : "calc_dob", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/calc_dob" + }, { + "name" : "dob", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/calc_dob_confirm" + }, { + "name" : "calc_dob_estimated", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/calc_dob_estimated" + }, { + "name" : "calc_age_confirm", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/calc_age_confirm" + }, { + "name" : "birth_date_note", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/birth_date_note" + }, { + "name" : "note_age", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/note_age" + }, { + "name" : "gender1", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/gender1" + }, { + "name" : "father_name", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/father_name" + }, { + "name" : "marriage", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/marriage" + }, { + "name" : "husband_name", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/husband_name" + }, { + "name" : "last_name", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/last_name" + }, { + "name" : "ethnicity", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/ethnicity" + }, { + "name" : "ethnicity_other", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/ethnicity_other" + }, { + "name" : "province", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/province" + }, { + "name" : "city_village", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/city_village" + }, { + "name" : "town", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/town" + }, { + "name" : "union_council", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/union_council" + }, { + "name" : "house_number", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/house_number" + }, { + "name" : "street", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/street" + }, { + "name" : "landmark", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/landmark" + }, { + "name" : "provincename", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/provincename" + }, { + "name" : "city_villagename", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/city_villagename" + }, { + "name" : "townname", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/townname" + }, { + "name" : "union_councilname", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/union_councilname" + }, { + "name" : "address", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/address" + }, { + "name" : "centre_gps", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/centre_gps" + }, { + "name" : "reminders_approval", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/reminders_approval" + }, { + "name" : "contact_phone_number", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/contact_phone_number" + }, { + "name" : "pregnant", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/pregnant" + }, { + "name" : "edd_lmp", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/edd_lmp" + }, { + "name" : "edd", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/edd" + }, { + "name" : "lmp", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/lmp" + }, { + "name" : "ultrasound_date", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/ultrasound_date" + }, { + "name" : "ultrasound_weeks", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/ultrasound_weeks" + }, { + "name" : "edd_calc_lmp", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/edd_calc_lmp" + }, { + "name" : "edd_calc_ultrasound", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/edd_calc_ultrasound" + }, { + "name" : "edd_calc_lmp_formatted", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/edd_calc_lmp_formatted" + }, { + "name" : "edd_calc_ultrasound_formatted", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/edd_calc_ultrasound_formatted" + }, { + "name" : "lmp_calc_edd", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/lmp_calc_edd" + }, { + "name" : "lmp_calc_ultrasound", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/lmp_calc_ultrasound" + }, { + "name" : "lmp_calc_edd_formatted", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/lmp_calc_edd_formatted" + }, { + "name" : "lmp_calc_ultrasound_formatted", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/lmp_calc_ultrasound_formatted" + }, { + "name" : "final_edd", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/final_edd" + }, { + "name" : "final_lmp", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/final_lmp" + }, { + "name" : "ga_edd", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/ga_edd" + }, { + "name" : "ga_lmp", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/ga_lmp" + }, { + "name" : "ga_ult", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/ga_ult" + }, { + "name" : "final_edd_note", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/final_edd_note" + }, { + "name" : "final_lmp_note", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/final_lmp_note" + }, { + "name" : "final_ga", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/final_ga" + }, { + "name" : "final_ga_note", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/final_ga_note" + }, { + "name" : "vaccines", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/vaccines" + }, { + "name" : "tt1_retro", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/tt1_retro" + }, { + "name" : "tt_1_dose", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/tt_1_dose" + }, { + "name" : "tt2_retro", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/tt2_retro" + }, { + "name" : "tt_2_dose", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/tt_2_dose" + }, { + "name" : "tt3_retro", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/tt3_retro" + }, { + "name" : "tt_3_dose", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/tt_3_dose" + }, { + "name" : "tt4_retro", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/tt4_retro" + }, { + "name" : "tt_4_dose", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/tt_4_dose" + }, { + "name" : "vaccines_2", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/vaccines_2" + }, { + "name" : "tt1", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/tt1" + }, { + "name" : "tt_1_dose_today", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/tt_1_dose_today" + }, { + "name" : "tt2", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/tt2" + }, { + "name" : "tt_2_dose_today", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/tt_2_dose_today" + }, { + "name" : "tt3", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/tt3" + }, { + "name" : "tt_3_dose_today", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/tt_3_dose_today" + }, { + "name" : "tt4", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/tt4" + }, { + "name" : "tt_4_dose_today", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/tt_4_dose_today" + }, { + "name" : "tt5", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/tt5" + }, { + "name" : "tt_5_dose_today", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/tt_5_dose_today" + }, { + "name" : "instanceID", + "bind" : "/model/instance/Woman_TT_Enrollment_Form/meta/instanceID" + } ] + } +} \ No newline at end of file diff --git a/opensrp-core/bin/src/test/resources/form/woman_enrollment/form_submission.json b/opensrp-core/bin/src/test/resources/form/woman_enrollment/form_submission.json new file mode 100644 index 0000000000..d12e572222 --- /dev/null +++ b/opensrp-core/bin/src/test/resources/form/woman_enrollment/form_submission.json @@ -0,0 +1,350 @@ +{ + "_id": "5710d57eac4377dea3cbbb96005b6efc", + "_rev": "1-f38e0fadc71b86a7f5dfc27cabe43fa4", + "type": "FormSubmission", + "anmId": "demotest", + "instanceId": "c12d8e42-a230-415f-a513-9117f4c9db6a", + "formName": "woman_enrollment", + "entityId": "cd082cb2-abe1-4c78-a370-bd955d58e0ba", + "clientVersion": 1458899024110, + "formDataDefinitionVersion": "2", + "formInstance": { + "form_data_definition_version": "2", + "form": { + "bind_type": "pkwoman", + "default_bind_path": "/model/instance/Woman_TT_Enrollment_Form/", + "fields": [{ + "name": "id", + "value": "cd082cb2-abe1-4c78-a370-bd955d58e0ba", + "source": "pkwoman.id" + }, { + "name": "provider_uc", + "value": "Zaman Town", + "source": "pkwoman.provider_uc" + }, { + "name": "provider_town", + "value": "Korangi", + "source": "pkwoman.provider_town" + }, { + "name": "provider_city", + "value": "Karachi", + "source": "pkwoman.provider_city" + }, { + "name": "provider_province", + "value": "Sindh", + "source": "pkwoman.provider_province" + }, { + "name": "provider_id", + "value": "demotest", + "source": "pkwoman.provider_id" + }, { + "name": "provider_location_id", + "value": "null", + "source": "pkwoman.provider_location_id" + }, { + "name": "provider_location_name", + "value": "null", + "source": "pkwoman.provider_location_name" + }, { + "name": "existing_program_client_id", + "value": "11338235", + "source": "pkwoman.existing_program_client_id" + }, { + "name": "gender", + "value": "female", + "source": "pkwoman.gender" + }, { + "name": "provider_location_note", + "value": "", + "source": "pkwoman.provider_location_note" + }, { + "name": "start", + "value": "2016-03-25 14:39:36", + "source": "pkwoman.start" + }, { + "name": "end", + "value": "2016-03-25 14:43:43", + "source": "pkwoman.end" + }, { + "name": "today", + "value": "2016-03-25", + "source": "pkwoman.today" + }, { + "name": "deviceid", + "value": "Error: could not determine deviceID", + "source": "pkwoman.deviceid" + }, { + "name": "subscriberid", + "value": "no subscriberid property in enketo", + "source": "pkwoman.subscriberid" + }, { + "name": "simserial", + "value": "no simserial property in enketo", + "source": "pkwoman.simserial" + }, { + "name": "phonenumber", + "value": "no phonenumber property in enketo", + "source": "pkwoman.phonenumber" + }, { + "name": "client_reg_date", + "value": "2016-03-25", + "source": "pkwoman.client_reg_date" + }, { + "name": "program_client_id", + "value": "11338235", + "source": "pkwoman.program_client_id" + }, { + "name": "epi_card_number", + "value": "2015", + "source": "pkwoman.epi_card_number" + }, { + "name": "first_name", + "value": "mehrina", + "source": "pkwoman.first_name" + }, { + "name": "member_birth_date_known", + "value": "yes", + "source": "pkwoman.member_birth_date_known" + }, { + "name": "member_birth_date", + "value": "1986-03-04", + "source": "pkwoman.member_birth_date" + }, { + "name": "age", + "value": "", + "source": "pkwoman.age" + }, { + "name": "dob", + "value": "1986-03-04", + "source": "pkwoman.dob" + }, { + "name": "dob_estimated", + "value": "0", + "source": "pkwoman.dob_estimated" + }, { + "name": "age", + "value": "30", + "source": "pkwoman.age" + }, { + "name": "gender1", + "value": "female", + "source": "pkwoman.gender1" + }, { + "name": "father_name", + "value": "papa", + "source": "pkwoman.father_name" + }, { + "name": "marriage", + "value": "yes", + "source": "pkwoman.marriage" + }, { + "name": "husband_name", + "value": "husbi", + "source": "pkwoman.husband_name" + }, { + "name": "last_name", + "value": "husbi", + "source": "pkwoman.last_name" + }, { + "name": "ethnicity", + "value": "pushtuns", + "source": "pkwoman.ethnicity" + }, { + "name": "ethnicity_other", + "value": "", + "source": "pkwoman.ethnicity_other" + }, { + "name": "province", + "value": "sindh", + "source": "pkwoman.province" + }, { + "name": "city_village", + "value": "karachi", + "source": "pkwoman.city_village" + }, { + "name": "town", + "value": "gadap", + "source": "pkwoman.town" + }, { + "name": "union_council", + "value": "gujro", + "source": "pkwoman.union_council" + }, { + "name": "house_number", + "value": "34 k", + "source": "pkwoman.house_number" + }, { + "name": "street", + "value": "jim", + "source": "pkwoman.street" + }, { + "name": "landmark", + "value": "nishni", + "source": "pkwoman.landmark" + }, { + "name": "address", + "value": "", + "source": "pkwoman.address" + }, { + "name": "centre_gps", + "source": "pkwoman.centre_gps" + }, { + "name": "pregnant", + "value": "yes", + "source": "pkwoman.pregnant" + }, { + "name": "edd_lmp", + "value": "edd", + "source": "pkwoman.edd_lmp" + }, { + "name": "edd", + "value": "2016-04-28", + "source": "pkwoman.edd" + }, { + "name": "lmp", + "value": "", + "source": "pkwoman.lmp" + }, { + "name": "ultrasound_date", + "source": "pkwoman.ultrasound_date" + }, { + "name": "ultrasound_weeks", + "value": "", + "source": "pkwoman.ultrasound_weeks" + }, { + "name": "edd_calc_lmp", + "value": "Invalid Date", + "source": "pkwoman.edd_calc_lmp" + }, { + "name": "edd_calc_ultrasound", + "value": "Invalid Date", + "source": "pkwoman.edd_calc_ultrasound" + }, { + "name": "edd_calc_lmp_formatted", + "value": "Invalid Date", + "source": "pkwoman.edd_calc_lmp_formatted" + }, { + "name": "edd_calc_ultrasound_formatted", + "value": "Invalid Date", + "source": "pkwoman.edd_calc_ultrasound_formatted" + }, { + "name": "lmp_calc_edd", + "value": "Thu, 23 Jul 2015 00:00:00 GMT", + "source": "pkwoman.lmp_calc_edd" + }, { + "name": "lmp_calc_ultrasound", + "value": "Invalid Date", + "source": "pkwoman.lmp_calc_ultrasound" + }, { + "name": "final_edd", + "value": "2016-04-28", + "source": "pkwoman.final_edd" + }, { + "name": "final_lmp", + "value": "Thu, 23 Jul 2015 00:00:00 GMT", + "source": "pkwoman.final_lmp" + }, { + "name": "ga_edd", + "value": "35", + "source": "pkwoman.ga_edd" + }, { + "name": "ga_lmp", + "value": "NaN", + "source": "pkwoman.ga_lmp" + }, { + "name": "ga_ult", + "value": "NaN", + "source": "pkwoman.ga_ult" + }, { + "name": "final_edd_note", + "value": "", + "source": "pkwoman.final_edd_note" + }, { + "name": "final_lmp_note", + "value": "", + "source": "pkwoman.final_lmp_note" + }, { + "name": "final_ga", + "value": "35", + "source": "pkwoman.final_ga" + }, { + "name": "final_ga_note", + "value": "", + "source": "pkwoman.final_ga_note" + }, { + "name": "vaccines", + "value": "TT1 TT2", + "source": "pkwoman.vaccines" + }, { + "name": "tt1_retro", + "value": "2015-03-03", + "source": "pkwoman.tt1_retro" + }, { + "name": "tt_1_dose", + "value": "1", + "source": "pkwoman.tt_1_dose" + }, { + "name": "tt2_retro", + "value": "2015-11-24", + "source": "pkwoman.tt2_retro" + }, { + "name": "tt_2_dose", + "value": "2", + "source": "pkwoman.tt_2_dose" + }, { + "name": "tt3_retro", + "source": "pkwoman.tt3_retro" + }, { + "name": "tt_3_dose", + "source": "pkwoman.tt_3_dose" + }, { + "name": "tt4_retro", + "source": "pkwoman.tt4_retro" + }, { + "name": "tt_4_dose", + "source": "pkwoman.tt_4_dose" + }, { + "name": "vaccines_2", + "value": "TT3", + "source": "pkwoman.vaccines_2" + }, { + "name": "tt1", + "source": "pkwoman.tt1" + }, { + "name": "tt_1_dose_today", + "source": "pkwoman.tt_1_dose_today" + }, { + "name": "tt2", + "source": "pkwoman.tt2" + }, { + "name": "tt_2_dose_today", + "source": "pkwoman.tt_2_dose_today" + }, { + "name": "tt3", + "value": "2016-03-25", + "source": "pkwoman.tt3" + }, { + "name": "tt_3_dose_today", + "value": "3", + "source": "pkwoman.tt_3_dose_today" + }, { + "name": "tt4", + "source": "pkwoman.tt4" + }, { + "name": "tt_4_dose_today", + "source": "pkwoman.tt_4_dose_today" + }, { + "name": "tt5", + "source": "pkwoman.tt5" + }, { + "name": "tt_5_dose_today", + "source": "pkwoman.tt_5_dose_today" + }, { + "name": "instanceID", + "value": "uuid:67fd050a-b528-4de2-b382-c168730bf0df", + "source": "pkwoman.instanceID" + }] + } + }, + "serverVersion": 1458898979653 +} \ No newline at end of file diff --git a/opensrp-core/bin/src/test/resources/form/woman_enrollment/model.xml b/opensrp-core/bin/src/test/resources/form/woman_enrollment/model.xml new file mode 100644 index 0000000000..8422c9b6c1 --- /dev/null +++ b/opensrp-core/bin/src/test/resources/form/woman_enrollment/model.xml @@ -0,0 +1,1659 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + yes + + + + + + + + + + female + + + + + + + ${provider_province} + ${provider_city} + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + static_instance-provinces-0 + kpk + + + static_instance-provinces-1 + sindh + + + static_instance-provinces-2 + balochistan + + + static_instance-provinces-3 + punjab + + + static_instance-provinces-4 + gilgit_baltistan + + + static_instance-provinces-5 + kashmir + + + static_instance-provinces-6 + fata + + + static_instance-provinces-7 + out_of_country + + + + + + + static_instance-ucs-0 + sindh + karachi + korangi + bilal_colony + + + static_instance-ucs-1 + sindh + karachi + korangi + nasir_colony + + + static_instance-ucs-2 + sindh + karachi + korangi + chakra_goth + + + static_instance-ucs-3 + sindh + karachi + korangi + mustafa_taj_colony + + + static_instance-ucs-4 + sindh + karachi + korangi + hundred_quarters + + + static_instance-ucs-5 + sindh + karachi + korangi + gulzar_colony + + + static_instance-ucs-6 + sindh + karachi + korangi + korangi_sector_33 + + + static_instance-ucs-7 + sindh + karachi + korangi + zaman_town + + + static_instance-ucs-8 + sindh + karachi + korangi + hasrat_mohani_colony + + + static_instance-ucs-9 + sindh + karachi + baldia + gulshan_e_ghazi + + + static_instance-ucs-10 + sindh + karachi + baldia + ittehad_town + + + static_instance-ucs-11 + sindh + karachi + baldia + islam_nagar + + + static_instance-ucs-12 + sindh + karachi + baldia + nai_abadi + + + static_instance-ucs-13 + sindh + karachi + baldia + saeedabad + + + static_instance-ucs-14 + sindh + karachi + baldia + muslim_mujahid_colony + + + static_instance-ucs-15 + sindh + karachi + baldia + muhajir_camp + + + static_instance-ucs-16 + sindh + karachi + baldia + rasheedabad + + + static_instance-ucs-17 + sindh + karachi + bin_qasim + ibrahim_hyderi + + + static_instance-ucs-18 + sindh + karachi + bin_qasim + rehri + + + static_instance-ucs-19 + sindh + karachi + bin_qasim + cattle_colony + + + static_instance-ucs-20 + sindh + karachi + bin_qasim + qaidabad + + + static_instance-ucs-21 + sindh + karachi + bin_qasim + landhi_colony + + + static_instance-ucs-22 + sindh + karachi + bin_qasim + gulshan_e_hadeed + + + static_instance-ucs-23 + sindh + karachi + bin_qasim + gaghar + + + static_instance-ucs-24 + sindh + karachi + gadap + murad_memon_goth + + + static_instance-ucs-25 + sindh + karachi + gadap + darsano_chana + + + static_instance-ucs-26 + sindh + karachi + gadap + gujro + + + static_instance-ucs-27 + sindh + karachi + gadap + songal + + + static_instance-ucs-28 + sindh + karachi + gadap + maymarabad + + + static_instance-ucs-29 + sindh + karachi + gadap + yousuf_goth + + + static_instance-ucs-30 + sindh + karachi + gadap + manghopir + + + static_instance-ucs-31 + sindh + karachi + gulberg + azizabad + + + static_instance-ucs-32 + sindh + karachi + gulberg + karimabad + + + static_instance-ucs-33 + sindh + karachi + gulberg + aisha_manzil + + + static_instance-ucs-34 + sindh + karachi + gulberg + ancholi + + + static_instance-ucs-35 + sindh + karachi + gulberg + naseerabad + + + static_instance-ucs-36 + sindh + karachi + gulberg + yaseenabad + + + static_instance-ucs-37 + sindh + karachi + gulberg + water_pump + + + static_instance-ucs-38 + sindh + karachi + gulberg + shafiq_mill_colony + + + static_instance-ucs-39 + sindh + karachi + gulshan + delhi_mercantile_society + + + static_instance-ucs-40 + sindh + karachi + gulshan + civic_centre + + + static_instance-ucs-41 + sindh + karachi + gulshan + pir_ilahi_buksh_colony + + + static_instance-ucs-42 + sindh + karachi + gulshan + essa_nagri + + + static_instance-ucs-43 + sindh + karachi + gulshan + gulshan_e_iqbal + + + static_instance-ucs-44 + sindh + karachi + gulshan + gillani_railway_station + + + static_instance-ucs-45 + sindh + karachi + gulshan + shanti_nagar + + + static_instance-ucs-46 + sindh + karachi + gulshan + jamali_colony + + + static_instance-ucs-47 + sindh + karachi + gulshan + gulshan_e_iqbal_ii + + + static_instance-ucs-48 + sindh + karachi + gulshan + pehlwan_goth + + + static_instance-ucs-49 + sindh + karachi + gulshan + matrovil_colony + + + static_instance-ucs-50 + sindh + karachi + gulshan + gulzar_e_hijri + + + static_instance-ucs-51 + sindh + karachi + gulshan + safooran_goth + + + static_instance-ucs-52 + sindh + karachi + jamshed + akhtar_colony + + + static_instance-ucs-53 + sindh + karachi + jamshed + manzoor_colony + + + static_instance-ucs-54 + sindh + karachi + jamshed + azam_basti + + + static_instance-ucs-55 + sindh + karachi + jamshed + chanesar_goth + + + static_instance-ucs-56 + sindh + karachi + jamshed + mahmudabad + + + static_instance-ucs-57 + sindh + karachi + jamshed + pechs + + + static_instance-ucs-58 + sindh + karachi + jamshed + pechs_ii + + + static_instance-ucs-59 + sindh + karachi + jamshed + jut_line + + + static_instance-ucs-60 + sindh + karachi + jamshed + central_jacob_lines + + + static_instance-ucs-61 + sindh + karachi + jamshed + jamshed_quarters + + + static_instance-ucs-62 + sindh + karachi + jamshed + garden_east + + + static_instance-ucs-63 + sindh + karachi + jamshed + soldier_bazar + + + static_instance-ucs-64 + sindh + karachi + jamshed + pakistan_quarters + + + static_instance-ucs-65 + sindh + karachi + kiamari + bhutta_village + + + static_instance-ucs-66 + sindh + karachi + kiamari + sultanabad + + + static_instance-ucs-67 + sindh + karachi + kiamari + kiamari_uc + + + static_instance-ucs-68 + sindh + karachi + kiamari + baba_bhit + + + static_instance-ucs-69 + sindh + karachi + kiamari + machar_colony + + + static_instance-ucs-70 + sindh + karachi + kiamari + maripur + + + static_instance-ucs-71 + sindh + karachi + kiamari + shershah + + + static_instance-ucs-72 + sindh + karachi + kiamari + gabo_pat + + + static_instance-ucs-73 + sindh + karachi + landhi + muzafarabad + + + static_instance-ucs-74 + sindh + karachi + landhi + muslimabad + + + static_instance-ucs-75 + sindh + karachi + landhi + dawood_chowrangi + + + static_instance-ucs-76 + sindh + karachi + landhi + moinabad + + + static_instance-ucs-77 + sindh + karachi + landhi + sharafi_goth + + + static_instance-ucs-78 + sindh + karachi + landhi + bhutto_nagar + + + static_instance-ucs-79 + sindh + karachi + landhi + khawaja_ajmeer_colony + + + static_instance-ucs-80 + sindh + karachi + landhi + landhi_uc + + + static_instance-ucs-81 + sindh + karachi + landhi + awami_colony + + + static_instance-ucs-82 + sindh + karachi + landhi + burmee_colony + + + static_instance-ucs-83 + sindh + karachi + landhi + korangi_uc + + + static_instance-ucs-84 + sindh + karachi + landhi + sherabad + + + static_instance-ucs-85 + sindh + karachi + liaquatabad + rizvia_society + + + static_instance-ucs-86 + sindh + karachi + liaquatabad + firdous_colony + + + static_instance-ucs-87 + sindh + karachi + liaquatabad + super_market + + + static_instance-ucs-88 + sindh + karachi + liaquatabad + dak_khana + + + static_instance-ucs-89 + sindh + karachi + liaquatabad + qasimabad + + + static_instance-ucs-90 + sindh + karachi + liaquatabad + bandhani_colony + + + static_instance-ucs-91 + sindh + karachi + liaquatabad + sharifabad + + + static_instance-ucs-92 + sindh + karachi + liaquatabad + commercial_area + + + static_instance-ucs-93 + sindh + karachi + liaquatabad + mujahid_colony + + + static_instance-ucs-94 + sindh + karachi + liaquatabad + nazimabad + + + static_instance-ucs-95 + sindh + karachi + liaquatabad + abbasi_shaheed + + + static_instance-ucs-96 + sindh + karachi + lyari + agra_taj_colony + + + static_instance-ucs-97 + sindh + karachi + lyari + daryaabad + + + static_instance-ucs-98 + sindh + karachi + lyari + nawabad + + + static_instance-ucs-99 + sindh + karachi + lyari + khada_memon_society + + + static_instance-ucs-100 + sindh + karachi + lyari + baghdadi + + + static_instance-ucs-101 + sindh + karachi + lyari + shah_baig_line + + + static_instance-ucs-102 + sindh + karachi + lyari + bihar_colony + + + static_instance-ucs-103 + sindh + karachi + lyari + ragiwara + + + static_instance-ucs-104 + sindh + karachi + lyari + singo_line + + + static_instance-ucs-105 + sindh + karachi + lyari + chakiwara + + + static_instance-ucs-106 + sindh + karachi + lyari + allama_iqbal_colony + + + static_instance-ucs-107 + sindh + karachi + malir + model_colony + + + static_instance-ucs-108 + sindh + karachi + malir + kala_board + + + static_instance-ucs-109 + sindh + karachi + malir + saudabad + + + static_instance-ucs-110 + sindh + karachi + malir + khokhra_par + + + static_instance-ucs-111 + sindh + karachi + malir + jafar_e_tayyar + + + static_instance-ucs-112 + sindh + karachi + malir + gharibabad + + + static_instance-ucs-113 + sindh + karachi + malir + ghazi_brohi_goth + + + static_instance-ucs-114 + sindh + karachi + new_karachi + kalyana + + + static_instance-ucs-115 + sindh + karachi + new_karachi + sir_syed_colony + + + static_instance-ucs-116 + sindh + karachi + new_karachi + fatima_jinnah_colony + + + static_instance-ucs-117 + sindh + karachi + new_karachi + godhra + + + static_instance-ucs-118 + sindh + karachi + new_karachi + abu_zar_ghaffari + + + static_instance-ucs-119 + sindh + karachi + new_karachi + hakim_ahsan + + + static_instance-ucs-120 + sindh + karachi + new_karachi + madina_colony + + + static_instance-ucs-121 + sindh + karachi + new_karachi + faisal_colony + + + static_instance-ucs-122 + sindh + karachi + new_karachi + khamiso_goth + + + static_instance-ucs-123 + sindh + karachi + new_karachi + mustufa_colony + + + static_instance-ucs-124 + sindh + karachi + new_karachi + khawaja_ajmeer_nagri + + + static_instance-ucs-125 + sindh + karachi + new_karachi + gulshan_e_saeed + + + static_instance-ucs-126 + sindh + karachi + new_karachi + shah_nawaz_bhutto_colony + + + static_instance-ucs-127 + sindh + karachi + north_nazimabad + paposh_nagar + + + static_instance-ucs-128 + sindh + karachi + north_nazimabad + pahar_ganj + + + static_instance-ucs-129 + sindh + karachi + north_nazimabad + khandu_goth + + + static_instance-ucs-130 + sindh + karachi + north_nazimabad + hyderi + + + static_instance-ucs-131 + sindh + karachi + north_nazimabad + sakhi_hassan + + + static_instance-ucs-132 + sindh + karachi + north_nazimabad + farooq_e_azam + + + static_instance-ucs-133 + sindh + karachi + north_nazimabad + nusrat_bhutto_colony + + + static_instance-ucs-134 + sindh + karachi + north_nazimabad + shadman_town + + + static_instance-ucs-135 + sindh + karachi + north_nazimabad + buffer_zone + + + static_instance-ucs-136 + sindh + karachi + north_nazimabad + buffer_zone_ii + + + static_instance-ucs-137 + sindh + karachi + orangi + mominabad + + + static_instance-ucs-138 + sindh + karachi + orangi + haryana_colony + + + static_instance-ucs-139 + sindh + karachi + orangi + hanifabad + + + static_instance-ucs-140 + sindh + karachi + orangi + mohammad_nagar + + + static_instance-ucs-141 + sindh + karachi + orangi + madina_colony_orangi + + + static_instance-ucs-142 + sindh + karachi + orangi + ghaziabad + + + static_instance-ucs-143 + sindh + karachi + orangi + chisti_nagar + + + static_instance-ucs-144 + sindh + karachi + orangi + bilal_colony_orangi + + + static_instance-ucs-145 + sindh + karachi + orangi + iqbal_baloch_colony + + + static_instance-ucs-146 + sindh + karachi + orangi + ghabool_town + + + static_instance-ucs-147 + sindh + karachi + orangi + data_nagar + + + static_instance-ucs-148 + sindh + karachi + orangi + mujahidabad + + + static_instance-ucs-149 + sindh + karachi + orangi + baloch_goth + + + static_instance-ucs-150 + sindh + karachi + saddar + old_haji_camp + + + static_instance-ucs-151 + sindh + karachi + saddar + garden + + + static_instance-ucs-152 + sindh + karachi + saddar + kharadar + + + static_instance-ucs-153 + sindh + karachi + saddar + city_railway_colony + + + static_instance-ucs-154 + sindh + karachi + saddar + nanak_wara + + + static_instance-ucs-155 + sindh + karachi + saddar + gazdarabad + + + static_instance-ucs-156 + sindh + karachi + saddar + millat_nagar_islam_pura + + + static_instance-ucs-157 + sindh + karachi + saddar + saddar_uc + + + static_instance-ucs-158 + sindh + karachi + saddar + civil_line + + + static_instance-ucs-159 + sindh + karachi + saddar + clifton + + + static_instance-ucs-160 + sindh + karachi + saddar + kehkashan + + + static_instance-ucs-161 + sindh + karachi + shah_faisal + natha_khan_goth + + + static_instance-ucs-162 + sindh + karachi + shah_faisal + pak_sadat_colony + + + static_instance-ucs-163 + sindh + karachi + shah_faisal + drigh_colony + + + static_instance-ucs-164 + sindh + karachi + shah_faisal + raita_plot + + + static_instance-ucs-165 + sindh + karachi + shah_faisal + moria_khan_goth + + + static_instance-ucs-166 + sindh + karachi + shah_faisal + rafa_e_aam_society + + + static_instance-ucs-167 + sindh + karachi + shah_faisal + al_falah_society + + + static_instance-ucs-168 + sindh + karachi + site + pak_colony + + + static_instance-ucs-169 + sindh + karachi + site + old_golimar + + + static_instance-ucs-170 + sindh + karachi + site + jahanabad + + + static_instance-ucs-171 + sindh + karachi + site + metrovil + + + static_instance-ucs-172 + sindh + karachi + site + bhawani_chali + + + static_instance-ucs-173 + sindh + karachi + site + frontier_colony + + + static_instance-ucs-174 + sindh + karachi + site + banaras_colony + + + static_instance-ucs-175 + sindh + karachi + site + qasba_colony + + + static_instance-ucs-176 + sindh + karachi + site + islamia_colony + + + static_instance-ucs-177 + na + na + na + other + + + static_instance-ucs-178 + na + na + na + not_applicable + + + + + + + static_instance-gender-0 + male + + + static_instance-gender-1 + female + + + static_instance-gender-2 + transgender + + + + + + + static_instance-vaccines-0 + TT1 + + + static_instance-vaccines-1 + TT2 + + + static_instance-vaccines-2 + TT3 + + + static_instance-vaccines-3 + TT4 + + + static_instance-vaccines-4 + TT5 + + + + + + + static_instance-towns-0 + sindh + karachi + korangi + + + static_instance-towns-1 + sindh + karachi + landhi + + + static_instance-towns-2 + sindh + karachi + baldia + + + static_instance-towns-3 + sindh + karachi + bin_qasim + + + static_instance-towns-4 + sindh + karachi + gadap + + + static_instance-towns-5 + sindh + karachi + gulberg + + + static_instance-towns-6 + sindh + karachi + gulshan + + + static_instance-towns-7 + sindh + karachi + jamshed + + + static_instance-towns-8 + sindh + karachi + kiamari + + + static_instance-towns-9 + sindh + karachi + liaquatabad + + + static_instance-towns-10 + sindh + karachi + lyari + + + static_instance-towns-11 + sindh + karachi + malir + + + static_instance-towns-12 + sindh + karachi + new_karachi + + + static_instance-towns-13 + sindh + karachi + north_nazimabad + + + static_instance-towns-14 + sindh + karachi + orangi + + + static_instance-towns-15 + sindh + karachi + saddar + + + static_instance-towns-16 + sindh + karachi + shah_faisal + + + static_instance-towns-17 + sindh + karachi + site + + + static_instance-towns-18 + na + na + other + + + static_instance-towns-19 + na + na + not_applicable + + + + + + + static_instance-cities-0 + sindh + karachi + + + static_instance-cities-1 + punjab + hafizabad + + + static_instance-cities-2 + punjab + muzaffargarh + + + static_instance-cities-3 + na + other + + + static_instance-cities-4 + na + not_applicable + + + + + + + static_instance-edd_lmp-0 + edd + + + static_instance-edd_lmp-1 + lmp + + + static_instance-edd_lmp-2 + ultrasound + + + static_instance-edd_lmp-3 + none + + + + + + + static_instance-ethnicity-0 + punjabi + + + static_instance-ethnicity-1 + pushtuns + + + static_instance-ethnicity-2 + sindhi + + + static_instance-ethnicity-3 + saraiki + + + static_instance-ethnicity-4 + muhajir + + + static_instance-ethnicity-5 + balochi + + + static_instance-ethnicity-6 + other + + + + + + + static_instance-yes_no-0 + yes + + + static_instance-yes_no-1 + no + + + + diff --git a/opensrp-core/bin/src/test/resources/form/woman_followup/form.json b/opensrp-core/bin/src/test/resources/form/woman_followup/form.json new file mode 100644 index 0000000000..73ab628765 --- /dev/null +++ b/opensrp-core/bin/src/test/resources/form/woman_followup/form.json @@ -0,0 +1 @@ +{"name":"Woman_TT_Followup_Form","title":"خواتین فالواپ رجسٹر برائے ٹیکاجات - Woman TT Follow Up Form","sms_keyword":"woman_tt_followup_form","default_language":"English","choices":{"provinces":[{"name":"kpk","label":{"Urdu":"خیبر پختون خواہ","English":"Khyber Pakhtunkhwa","Roman Urdu":"Khyber Pakhtunkhwa"}},{"name":"sindh","label":{"Urdu":"سندھ","English":"Sindh","Roman Urdu":"Sindh"}},{"name":"balochistan","label":{"Urdu":"بلوچستان","English":"Balochistan","Roman Urdu":"Balochistan"}},{"name":"punjab","label":{"Urdu":"پنجاب","English":"Punjab","Roman Urdu":"Punjab"}},{"name":"gilgit_baltistan","label":{"Urdu":"گلگت بلتستان","English":"Gilgit Baltistan","Roman Urdu":"Gilgit Baltistan"}},{"name":"kashmir","label":{"Urdu":"کشمیر","English":"Kashmir","Roman Urdu":"Kashmir"}},{"name":"fata","label":{"Urdu":"فاٹا","English":"FATA","Roman Urdu":"FATA"}},{"name":"out_of_country","label":{"Urdu":"ملک سے باہر","English":"Out of Country","Roman Urdu":"Mulk se baahir"}}],"ucs":[{"province":"sindh","city":"karachi","town":"korangi","name":"bilal_colony","label":{"Urdu":"بلال کالونی","Roman Urdu":"Bilal Colony","English":"Bilal Colony"}},{"province":"sindh","city":"karachi","town":"korangi","name":"nasir_colony","label":{"Urdu":"ناصر کالونی","Roman Urdu":"Nasir Colony","English":"Nasir Colony"}},{"province":"sindh","city":"karachi","town":"korangi","name":"chakra_goth","label":{"Urdu":"چکرا گوٹھ","Roman Urdu":"Chakra Goth","English":"Chakra Goth"}},{"province":"sindh","city":"karachi","town":"korangi","name":"mustafa_taj_colony","label":{"Urdu":"مصطفی تاج کالونی","Roman Urdu":"Mustafa Taj Colony","English":"Mustafa Taj Colony"}},{"province":"sindh","city":"karachi","town":"korangi","name":"hundred_quarters","label":{"Urdu":"ہنڈریڈ کوارٹر","Roman Urdu":"Hundred Quarters","English":"Hundred Quarters"}},{"province":"sindh","city":"karachi","town":"korangi","name":"gulzar_colony","label":{"Urdu":"گلزار کالونی","Roman Urdu":"Gulzar Colony","English":"Gulzar Colony"}},{"province":"sindh","city":"karachi","town":"korangi","name":"korangi_sector_33","label":{"Urdu":"کورنگی سیکٹر 33","Roman Urdu":"Korangi Sector 33","English":"Korangi Sector 33"}},{"province":"sindh","city":"karachi","town":"korangi","name":"zaman_town","label":{"Urdu":"زمان ٹاوَن","Roman Urdu":"Zaman Town","English":"Zaman Town"}},{"province":"sindh","city":"karachi","town":"korangi","name":"hasrat_mohani_colony","label":{"Urdu":"حسرت موہانی کالونی","Roman Urdu":"Hasrat Mohani Colony","English":"Hasrat Mohani Colony"}},{"province":"sindh","city":"karachi","town":"baldia","name":"gulshan_e_ghazi","label":{"Urdu":"گلشن غازی","Roman Urdu":"Gulshan-e-Ghazi","English":"Gulshan-e-Ghazi"}},{"province":"sindh","city":"karachi","town":"baldia","name":"ittehad_town","label":{"Urdu":"اتحاد ٹاوَن","Roman Urdu":"Ittehad Town","English":"Ittehad Town"}},{"province":"sindh","city":"karachi","town":"baldia","name":"islam_nagar","label":{"Urdu":"اسلام نگر","Roman Urdu":"Islam Nagar","English":"Islam Nagar"}},{"province":"sindh","city":"karachi","town":"baldia","name":"nai_abadi","label":{"Urdu":"نئی آبادی","Roman Urdu":"Nai Abadi","English":"Nai Abadi"}},{"province":"sindh","city":"karachi","town":"baldia","name":"saeedabad","label":{"Urdu":"سعید آباد","Roman Urdu":"Saeedabad","English":"Saeedabad"}},{"province":"sindh","city":"karachi","town":"baldia","name":"muslim_mujahid_colony","label":{"Urdu":"مسلم مجاہد کالونی","Roman Urdu":"Muslim Mujahid Colony","English":"Muslim Mujahid Colony"}},{"province":"sindh","city":"karachi","town":"baldia","name":"muhajir_camp","label":{"Urdu":"مہاجر کیمپ","Roman Urdu":"Muhajir Camp","English":"Muhajir Camp"}},{"province":"sindh","city":"karachi","town":"baldia","name":"rasheedabad","label":{"Urdu":"رشید آباد","Roman Urdu":"Rasheedabad","English":"Rasheedabad"}},{"province":"sindh","city":"karachi","town":"bin_qasim","name":"ibrahim_hyderi","label":{"Urdu":"ابراہیم حیدری","Roman Urdu":"Ibrahim Hyderi","English":"Ibrahim Hyderi"}},{"province":"sindh","city":"karachi","town":"bin_qasim","name":"rehri","label":{"Urdu":"رہڑی","Roman Urdu":"Rehri","English":"Rehri"}},{"province":"sindh","city":"karachi","town":"bin_qasim","name":"cattle_colony","label":{"Urdu":"کیٹل کالونی","Roman Urdu":"Cattle Colony","English":"Cattle Colony"}},{"province":"sindh","city":"karachi","town":"bin_qasim","name":"qaidabad","label":{"Urdu":"قائدآباد","Roman Urdu":"Qaidabad","English":"Qaidabad"}},{"province":"sindh","city":"karachi","town":"bin_qasim","name":"landhi_colony","label":{"Urdu":"لانڈھی کالونی","Roman Urdu":"Landhi Colony","English":"Landhi Colony"}},{"province":"sindh","city":"karachi","town":"bin_qasim","name":"gulshan_e_hadeed","label":{"Urdu":"گلشن حدید","Roman Urdu":"Gulshan-e-Hadeed","English":"Gulshan-e-Hadeed"}},{"province":"sindh","city":"karachi","town":"bin_qasim","name":"gaghar","label":{"Urdu":"گگر","Roman Urdu":"Gaghar","English":"Gaghar"}},{"province":"sindh","city":"karachi","town":"gadap","name":"murad_memon_goth","label":{"Urdu":"مراد میمن گوٹھ","Roman Urdu":"Murad Memon Goth","English":"Murad Memon Goth"}},{"province":"sindh","city":"karachi","town":"gadap","name":"darsano_chana","label":{"Urdu":"درشانو شنو","Roman Urdu":"Darsano Chana","English":"Darsano Chana"}},{"province":"sindh","city":"karachi","town":"gadap","name":"gujro","label":{"Urdu":"گجرو","Roman Urdu":"Gujro","English":"Gujro"}},{"province":"sindh","city":"karachi","town":"gadap","name":"songal","label":{"Urdu":"سنگل","Roman Urdu":"Songal","English":"Songal"}},{"province":"sindh","city":"karachi","town":"gadap","name":"maymarabad","label":{"Urdu":"معمار آباد","Roman Urdu":"Maymarabad","English":"Maymarabad"}},{"province":"sindh","city":"karachi","town":"gadap","name":"yousuf_goth","label":{"Urdu":"یوسف گوٹھ","Roman Urdu":"Yousuf Goth","English":"Yousuf Goth"}},{"province":"sindh","city":"karachi","town":"gadap","name":"manghopir","label":{"Urdu":"منگھوپیر","Roman Urdu":"Manghopir","English":"Manghopir"}},{"province":"sindh","city":"karachi","town":"gulberg","name":"azizabad","label":{"Urdu":"عزیز آباد","Roman Urdu":"Azizabad","English":"Azizabad"}},{"province":"sindh","city":"karachi","town":"gulberg","name":"karimabad","label":{"Urdu":"کریم آباد","Roman Urdu":"Karimabad","English":"Karimabad"}},{"province":"sindh","city":"karachi","town":"gulberg","name":"aisha_manzil","label":{"Urdu":"عائشہ منزل","Roman Urdu":"Aisha Manzil","English":"Aisha Manzil"}},{"province":"sindh","city":"karachi","town":"gulberg","name":"ancholi","label":{"Urdu":"انچولی","Roman Urdu":"Ancholi","English":"Ancholi"}},{"province":"sindh","city":"karachi","town":"gulberg","name":"naseerabad","label":{"Urdu":"نصیرآباد","Roman Urdu":"Naseerabad","English":"Naseerabad"}},{"province":"sindh","city":"karachi","town":"gulberg","name":"yaseenabad","label":{"Urdu":"یاسین آباد","Roman Urdu":"Yaseenabad","English":"Yaseenabad"}},{"province":"sindh","city":"karachi","town":"gulberg","name":"water_pump","label":{"Urdu":"واٹرپمپ","Roman Urdu":"Water Pump","English":"Water Pump"}},{"province":"sindh","city":"karachi","town":"gulberg","name":"shafiq_mill_colony","label":{"Urdu":"شفیق مل کالونی","Roman Urdu":"Shafiq Mill Colony","English":"Shafiq Mill Colony"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"delhi_mercantile_society","label":{"Urdu":"دہلی مرچنٹائل سوسائٹی","Roman Urdu":"Delhi Mercantile Society","English":"Delhi Mercantile Society"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"civic_centre","label":{"Urdu":"سوک سینٹر","Roman Urdu":"Civic Centre","English":"Civic Centre"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"pir_ilahi_buksh_colony","label":{"Urdu":"پیر الہی بخش کالونی","Roman Urdu":"Pir Ilahi Buksh Colony","English":"Pir Ilahi Buksh Colony"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"essa_nagri","label":{"Urdu":"عیسی نگری","Roman Urdu":"Essa Nagri","English":"Essa Nagri"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"gulshan_e_iqbal","label":{"Urdu":"گلشن اقبال","Roman Urdu":"Gulshan-e-Iqbal","English":"Gulshan-e-Iqbal"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"gillani_railway_station","label":{"Urdu":"گیلانی ریلوے اسٹیشن","Roman Urdu":"Gillani Railway Station","English":"Gillani Railway Station"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"shanti_nagar","label":{"Urdu":"شانتی نگر","Roman Urdu":"Shanti Nagar","English":"Shanti Nagar"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"jamali_colony","label":{"Urdu":"جمالی کالونی","Roman Urdu":"Jamali Colony","English":"Jamali Colony"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"gulshan_e_iqbal_ii","label":{"Urdu":"گلشن اقبال 2","Roman Urdu":"Gulshan-e-Iqbal II","English":"Gulshan-e-Iqbal II"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"pehlwan_goth","label":{"Urdu":"پہلوان گوٹھ","Roman Urdu":"Pehlwan Goth","English":"Pehlwan Goth"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"matrovil_colony","label":{"Urdu":"میٹروویل کالونی","Roman Urdu":"Matrovil Colony","English":"Matrovil Colony"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"gulzar_e_hijri","label":{"Urdu":"گلزار ہجری","Roman Urdu":"Gulzar-e-Hijri","English":"Gulzar-e-Hijri"}},{"province":"sindh","city":"karachi","town":"gulshan","name":"safooran_goth","label":{"Urdu":"صفورا گوٹھ","Roman Urdu":"Safooran Goth","English":"Safooran Goth"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"akhtar_colony","label":{"Urdu":"اختر کالونی","Roman Urdu":"Akhtar Colony","English":"Akhtar Colony"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"manzoor_colony","label":{"Urdu":"منظور کالونی","Roman Urdu":"Manzoor Colony","English":"Manzoor Colony"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"azam_basti","label":{"Urdu":"اعظم بستی","Roman Urdu":"Azam Basti","English":"Azam Basti"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"chanesar_goth","label":{"Urdu":"چنیسر گوٹھ","Roman Urdu":"Chanesar Goth","English":"Chanesar Goth"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"mahmudabad","label":{"Urdu":"محمودآباد","Roman Urdu":"Mahmudabad","English":"Mahmudabad"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"pechs","label":{"Urdu":"پی۔ای۔سی۔ایچ۔ایس","Roman Urdu":"P.E.C.H.S.","English":"P.E.C.H.S."}},{"province":"sindh","city":"karachi","town":"jamshed","name":"pechs_ii","label":{"Urdu":"پی۔ای۔سی۔ایچ۔ایس 2","Roman Urdu":"P.E.C.H.S. II","English":"P.E.C.H.S. II"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"jut_line","label":{"Urdu":"جٹ لائن","Roman Urdu":"Jut Line","English":"Jut Line"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"central_jacob_lines","label":{"Urdu":"سینٹرل جیکب لائن","Roman Urdu":"Central Jacob Lines","English":"Central Jacob Lines"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"jamshed_quarters","label":{"Urdu":"جمشید کوارٹر","Roman Urdu":"Jamshed Quarters","English":"Jamshed Quarters"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"garden_east","label":{"Urdu":"گارڈن ایسٹ","Roman Urdu":"Garden East","English":"Garden East"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"soldier_bazar","label":{"Urdu":"سولجر بازار","Roman Urdu":"Soldier Bazar","English":"Soldier Bazar"}},{"province":"sindh","city":"karachi","town":"jamshed","name":"pakistan_quarters","label":{"Urdu":"پاکستان کوارٹر","Roman Urdu":"Pakistan Quarters","English":"Pakistan Quarters"}},{"province":"sindh","city":"karachi","town":"kiamari","name":"bhutta_village","label":{"Urdu":"بھٹا ولیج","Roman Urdu":"Bhutta Village","English":"Bhutta Village"}},{"province":"sindh","city":"karachi","town":"kiamari","name":"sultanabad","label":{"Urdu":"سلطان آباد","Roman Urdu":"Sultanabad","English":"Sultanabad"}},{"province":"sindh","city":"karachi","town":"kiamari","name":"kiamari_uc","label":{"Urdu":"کیماری یوسی","Roman Urdu":"Kiamari UC","English":"Kiamari UC"}},{"province":"sindh","city":"karachi","town":"kiamari","name":"baba_bhit","label":{"Urdu":"بابا بھٹ","Roman Urdu":"Baba Bhit","English":"Baba Bhit"}},{"province":"sindh","city":"karachi","town":"kiamari","name":"machar_colony","label":{"Urdu":"مچھر کالونی","Roman Urdu":"Machar Colony","English":"Machar Colony"}},{"province":"sindh","city":"karachi","town":"kiamari","name":"maripur","label":{"Urdu":"ماڑی پور","Roman Urdu":"Maripur","English":"Maripur"}},{"province":"sindh","city":"karachi","town":"kiamari","name":"shershah","label":{"Urdu":"شیرشاہ","Roman Urdu":"SherShah","English":"SherShah"}},{"province":"sindh","city":"karachi","town":"kiamari","name":"gabo_pat","label":{"Urdu":"گابو پٹ","Roman Urdu":"Gabo Pat","English":"Gabo Pat"}},{"province":"sindh","city":"karachi","town":"landhi","name":"muzafarabad","label":{"Urdu":"مظفرآباد","Roman Urdu":"Muzafarabad","English":"Muzafarabad"}},{"province":"sindh","city":"karachi","town":"landhi","name":"muslimabad","label":{"Urdu":"مسلم آباد","Roman Urdu":"Muslimabad","English":"Muslimabad"}},{"province":"sindh","city":"karachi","town":"landhi","name":"dawood_chowrangi","label":{"Urdu":"داوَد چورنگی","Roman Urdu":"Dawood Chowrangi","English":"Dawood Chowrangi"}},{"province":"sindh","city":"karachi","town":"landhi","name":"moinabad","label":{"Urdu":"معین آباد","Roman Urdu":"Moinabad","English":"Moinabad"}},{"province":"sindh","city":"karachi","town":"landhi","name":"sharafi_goth","label":{"Urdu":"شرافی گوٹھ","Roman Urdu":"Sharafi Goth","English":"Sharafi Goth"}},{"province":"sindh","city":"karachi","town":"landhi","name":"bhutto_nagar","label":{"Urdu":"بھٹو نگر","Roman Urdu":"Bhutto Nagar","English":"Bhutto Nagar"}},{"province":"sindh","city":"karachi","town":"landhi","name":"khawaja_ajmeer_colony","label":{"Urdu":"خواجہ اجمیر کالونی","Roman Urdu":"Khawaja Ajmeer Colony","English":"Khawaja Ajmeer Colony"}},{"province":"sindh","city":"karachi","town":"landhi","name":"landhi_uc","label":{"Urdu":"لانڈھی یوسی","Roman Urdu":"Landhi UC","English":"Landhi UC"}},{"province":"sindh","city":"karachi","town":"landhi","name":"awami_colony","label":{"Urdu":"عوامی کالونی","Roman Urdu":"Awami Colony","English":"Awami Colony"}},{"province":"sindh","city":"karachi","town":"landhi","name":"burmee_colony","label":{"Urdu":"برمی کالونی","Roman Urdu":"Burmee Colony","English":"Burmee Colony"}},{"province":"sindh","city":"karachi","town":"landhi","name":"korangi_uc","label":{"Urdu":"کورنگی یوسی","Roman Urdu":"Korangi UC","English":"Korangi UC"}},{"province":"sindh","city":"karachi","town":"landhi","name":"sherabad","label":{"Urdu":"شیرآباد","Roman Urdu":"Sherabad","English":"Sherabad"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"rizvia_society","label":{"Urdu":"رضویہ سوسائٹی","Roman Urdu":"Rizvia Society","English":"Rizvia Society"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"firdous_colony","label":{"Urdu":"فردوس کالونی","Roman Urdu":"Firdous Colony","English":"Firdous Colony"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"super_market","label":{"Urdu":"سپر مارکیٹ","Roman Urdu":"Super Market","English":"Super Market"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"dak_khana","label":{"Urdu":"دک کھانہ","Roman Urdu":"Dak Khana","English":"Dak Khana"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"qasimabad","label":{"Urdu":"قاسم آباد","Roman Urdu":"Qasimabad","English":"Qasimabad"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"bandhani_colony","label":{"Urdu":"بندھانی کالونی","Roman Urdu":"Bandhani Colony","English":"Bandhani Colony"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"sharifabad","label":{"Urdu":"شریف آباد","Roman Urdu":"Sharifabad","English":"Sharifabad"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"commercial_area","label":{"Urdu":"کمرشل ایریا","Roman Urdu":"Commercial Area","English":"Commercial Area"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"mujahid_colony","label":{"Urdu":"مجاہد کالونی","Roman Urdu":"Mujahid Colony","English":"Mujahid Colony"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"nazimabad","label":{"Urdu":"ناظم آباد","Roman Urdu":"Nazimabad","English":"Nazimabad"}},{"province":"sindh","city":"karachi","town":"liaquatabad","name":"abbasi_shaheed","label":{"Urdu":"عباسی شہید","Roman Urdu":"Abbasi Shaheed","English":"Abbasi Shaheed"}},{"province":"sindh","city":"karachi","town":"lyari","name":"agra_taj_colony","label":{"Urdu":"آگرہ تاج کالونی","Roman Urdu":"Agra Taj Colony","English":"Agra Taj Colony"}},{"province":"sindh","city":"karachi","town":"lyari","name":"daryaabad","label":{"Urdu":"دریاآباد","Roman Urdu":"Daryaabad","English":"Daryaabad"}},{"province":"sindh","city":"karachi","town":"lyari","name":"nawabad","label":{"Urdu":"نواآباد","Roman Urdu":"Nawabad","English":"Nawabad"}},{"province":"sindh","city":"karachi","town":"lyari","name":"khada_memon_society","label":{"Urdu":"خدا- میمن- سوساَٹی","Roman Urdu":"Khada Memon Society","English":"Khada Memon Society"}},{"province":"sindh","city":"karachi","town":"lyari","name":"baghdadi","label":{"Urdu":"بغدادی","Roman Urdu":"Baghdadi","English":"Baghdadi"}},{"province":"sindh","city":"karachi","town":"lyari","name":"shah_baig_line","label":{"Urdu":"شاھ باغ لائن","Roman Urdu":"Shah Baig Line","English":"Shah Baig Line"}},{"province":"sindh","city":"karachi","town":"lyari","name":"bihar_colony","label":{"Urdu":"بہار کالونی","Roman Urdu":"Bihar Colony","English":"Bihar Colony"}},{"province":"sindh","city":"karachi","town":"lyari","name":"ragiwara","label":{"Urdu":"راگی واڑا","Roman Urdu":"Ragiwara","English":"Ragiwara"}},{"province":"sindh","city":"karachi","town":"lyari","name":"singo_line","label":{"Urdu":"سنگولائن","Roman Urdu":"Singo Line","English":"Singo Line"}},{"province":"sindh","city":"karachi","town":"lyari","name":"chakiwara","label":{"Urdu":"چاکی واڑا","Roman Urdu":"Chakiwara","English":"Chakiwara"}},{"province":"sindh","city":"karachi","town":"lyari","name":"allama_iqbal_colony","label":{"Urdu":"علامہ اقبال کالونی","Roman Urdu":"Allama Iqbal Colony","English":"Allama Iqbal Colony"}},{"province":"sindh","city":"karachi","town":"malir","name":"model_colony","label":{"Urdu":"موڈل کالونی","Roman Urdu":"Model Colony","English":"Model Colony"}},{"province":"sindh","city":"karachi","town":"malir","name":"kala_board","label":{"Urdu":"کالا بورڈ","Roman Urdu":"Kala Board","English":"Kala Board"}},{"province":"sindh","city":"karachi","town":"malir","name":"saudabad","label":{"Urdu":"سعودآباد","Roman Urdu":"Saudabad","English":"Saudabad"}},{"province":"sindh","city":"karachi","town":"malir","name":"khokhra_par","label":{"Urdu":"کھوکھرا پار","Roman Urdu":"Khokhra Par","English":"Khokhra Par"}},{"province":"sindh","city":"karachi","town":"malir","name":"jafar_e_tayyar","label":{"Urdu":"جعفر تیار","Roman Urdu":"Jafar-e-Tayyar","English":"Jafar-e-Tayyar"}},{"province":"sindh","city":"karachi","town":"malir","name":"gharibabad","label":{"Urdu":"غریب آباد","Roman Urdu":"Gharibabad","English":"Gharibabad"}},{"province":"sindh","city":"karachi","town":"malir","name":"ghazi_brohi_goth","label":{"Urdu":"غازی بروہی گوٹھ","Roman Urdu":"Ghazi Brohi Goth","English":"Ghazi Brohi Goth"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"kalyana","label":{"Urdu":"کالیانہ","Roman Urdu":"Kalyana","English":"Kalyana"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"sir_syed_colony","label":{"Urdu":"سر سید کالونی","Roman Urdu":"Sir Syed Colony","English":"Sir Syed Colony"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"fatima_jinnah_colony","label":{"Urdu":"فاطمہ جناح کالونی","Roman Urdu":"Fatima Jinnah Colony","English":"Fatima Jinnah Colony"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"godhra","label":{"Urdu":"گودھرا","Roman Urdu":"Godhra","English":"Godhra"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"abu_zar_ghaffari","label":{"Urdu":"ابو زر غفاری","Roman Urdu":"Abu Zar Ghaffari","English":"Abu Zar Ghaffari"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"hakim_ahsan","label":{"Urdu":"حاکم احسان","Roman Urdu":"Hakim Ahsan","English":"Hakim Ahsan"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"madina_colony","label":{"Urdu":"مدینہ کالونی","Roman Urdu":"Madina Colony","English":"Madina Colony"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"faisal_colony","label":{"Urdu":"فیصل کالونی","Roman Urdu":"Faisal Colony","English":"Faisal Colony"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"khamiso_goth","label":{"Urdu":"خمیسو گوٹھ","Roman Urdu":"Khamiso Goth","English":"Khamiso Goth"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"mustufa_colony","label":{"Urdu":"مصطفی کالونی","Roman Urdu":"Mustufa Colony","English":"Mustufa Colony"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"khawaja_ajmeer_nagri","label":{"Urdu":"خواجہ اجمیر نگری","Roman Urdu":"Khawaja Ajmeer Nagri","English":"Khawaja Ajmeer Nagri"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"gulshan_e_saeed","label":{"Urdu":"گلشن سعید","Roman Urdu":"Gulshan-e-Saeed","English":"Gulshan-e-Saeed"}},{"province":"sindh","city":"karachi","town":"new_karachi","name":"shah_nawaz_bhutto_colony","label":{"Urdu":"شاہ نواز بھٹو کالونی","Roman Urdu":"Shah Nawaz Bhutto Colony","English":"Shah Nawaz Bhutto Colony"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"paposh_nagar","label":{"Urdu":"پاپوش نگر","Roman Urdu":"Paposh Nagar","English":"Paposh Nagar"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"pahar_ganj","label":{"Urdu":"پہاڑ گنج","Roman Urdu":"Pahar Ganj","English":"Pahar Ganj"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"khandu_goth","label":{"Urdu":"کھنڑو گوٹھ","Roman Urdu":"Khandu Goth","English":"Khandu Goth"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"hyderi","label":{"Urdu":"حیدری","Roman Urdu":"Hyderi","English":"Hyderi"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"sakhi_hassan","label":{"Urdu":"سخی حسن","Roman Urdu":"Sakhi Hassan","English":"Sakhi Hassan"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"farooq_e_azam","label":{"Urdu":"فاروق اعظم","Roman Urdu":"Farooq-e-Azam","English":"Farooq-e-Azam"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"nusrat_bhutto_colony","label":{"Urdu":"نصرت بھٹو کالونی","Roman Urdu":"Nusrat Bhutto Colony","English":"Nusrat Bhutto Colony"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"shadman_town","label":{"Urdu":"شادمان ٹاوَن","Roman Urdu":"Shadman Town","English":"Shadman Town"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"buffer_zone","label":{"Urdu":"بفرزون","Roman Urdu":"Buffer Zone","English":"Buffer Zone"}},{"province":"sindh","city":"karachi","town":"north_nazimabad","name":"buffer_zone_ii","label":{"Urdu":"بفرزون 2","Roman Urdu":"Buffer Zone II","English":"Buffer Zone II"}},{"province":"sindh","city":"karachi","town":"orangi","name":"mominabad","label":{"Urdu":"مومن آباد","Roman Urdu":"Mominabad","English":"Mominabad"}},{"province":"sindh","city":"karachi","town":"orangi","name":"haryana_colony","label":{"Urdu":"حریانہ کالونی","Roman Urdu":"Haryana Colony","English":"Haryana Colony"}},{"province":"sindh","city":"karachi","town":"orangi","name":"hanifabad","label":{"Urdu":"حنیف آباد","Roman Urdu":"Hanifabad","English":"Hanifabad"}},{"province":"sindh","city":"karachi","town":"orangi","name":"mohammad_nagar","label":{"Urdu":"محمد نگر","Roman Urdu":"Mohammad Nagar","English":"Mohammad Nagar"}},{"province":"sindh","city":"karachi","town":"orangi","name":"madina_colony_orangi","label":{"Urdu":"مدینہ کالونی اورنگی","Roman Urdu":"Madina Colony Orangi","English":"Madina Colony Orangi"}},{"province":"sindh","city":"karachi","town":"orangi","name":"ghaziabad","label":{"Urdu":"غازی آباد","Roman Urdu":"Ghaziabad","English":"Ghaziabad"}},{"province":"sindh","city":"karachi","town":"orangi","name":"chisti_nagar","label":{"Urdu":"چشتی نگر","Roman Urdu":"Chisti Nagar","English":"Chisti Nagar"}},{"province":"sindh","city":"karachi","town":"orangi","name":"bilal_colony_orangi","label":{"Urdu":"بلال کالونی اورنگی","Roman Urdu":"Bilal Colony Orangi","English":"Bilal Colony Orangi"}},{"province":"sindh","city":"karachi","town":"orangi","name":"iqbal_baloch_colony","label":{"Urdu":"اقبال بلوچ کالونی","Roman Urdu":"Iqbal Baloch Colony","English":"Iqbal Baloch Colony"}},{"province":"sindh","city":"karachi","town":"orangi","name":"ghabool_town","label":{"Urdu":"گبول ٹاوَن","Roman Urdu":"Ghabool Town","English":"Ghabool Town"}},{"province":"sindh","city":"karachi","town":"orangi","name":"data_nagar","label":{"Urdu":"داتا نگر","Roman Urdu":"Data Nagar","English":"Data Nagar"}},{"province":"sindh","city":"karachi","town":"orangi","name":"mujahidabad","label":{"Urdu":"مجاہد آباد","Roman Urdu":"Mujahidabad","English":"Mujahidabad"}},{"province":"sindh","city":"karachi","town":"orangi","name":"baloch_goth","label":{"Urdu":"بلوچ گوٹھ","Roman Urdu":"Baloch Goth","English":"Baloch Goth"}},{"province":"sindh","city":"karachi","town":"saddar","name":"old_haji_camp","label":{"Urdu":"پرانہ حاجی کیمپ","Roman Urdu":"Old Haji Camp","English":"Old Haji Camp"}},{"province":"sindh","city":"karachi","town":"saddar","name":"garden","label":{"Urdu":"گارڈن","Roman Urdu":"Garden","English":"Garden"}},{"province":"sindh","city":"karachi","town":"saddar","name":"kharadar","label":{"Urdu":"کھارادر","Roman Urdu":"Kharadar","English":"Kharadar"}},{"province":"sindh","city":"karachi","town":"saddar","name":"city_railway_colony","label":{"Urdu":"سٹی ریلوے کالونی","Roman Urdu":"City Railway Colony","English":"City Railway Colony"}},{"province":"sindh","city":"karachi","town":"saddar","name":"nanak_wara","label":{"Urdu":"ناناک واڑا","Roman Urdu":"Nanak Wara","English":"Nanak Wara"}},{"province":"sindh","city":"karachi","town":"saddar","name":"gazdarabad","label":{"Urdu":"گزدرآباد","Roman Urdu":"Gazdarabad","English":"Gazdarabad"}},{"province":"sindh","city":"karachi","town":"saddar","name":"millat_nagar_islam_pura","label":{"Urdu":"ملت نگر اسلام پورا","Roman Urdu":"Millat Nagar/Islam Pura","English":"Millat Nagar/Islam Pura"}},{"province":"sindh","city":"karachi","town":"saddar","name":"saddar_uc","label":{"Urdu":"صدر یو سی","Roman Urdu":"Saddar UC","English":"Saddar UC"}},{"province":"sindh","city":"karachi","town":"saddar","name":"civil_line","label":{"Urdu":"سول لائن","Roman Urdu":"Civil Line","English":"Civil Line"}},{"province":"sindh","city":"karachi","town":"saddar","name":"clifton","label":{"Urdu":"کلفٹن","Roman Urdu":"Clifton","English":"Clifton"}},{"province":"sindh","city":"karachi","town":"saddar","name":"kehkashan","label":{"Urdu":"کہکشان","Roman Urdu":"Kehkashan","English":"Kehkashan"}},{"province":"sindh","city":"karachi","town":"shah_faisal","name":"natha_khan_goth","label":{"Urdu":"ناتھا خان گوٹھ","Roman Urdu":"Natha Khan Goth","English":"Natha Khan Goth"}},{"province":"sindh","city":"karachi","town":"shah_faisal","name":"pak_sadat_colony","label":{"Urdu":"پاک صدر کالونی","Roman Urdu":"Pak Sadat Colony","English":"Pak Sadat Colony"}},{"province":"sindh","city":"karachi","town":"shah_faisal","name":"drigh_colony","label":{"Urdu":"ڈرگ کالونی","Roman Urdu":"Drigh Colony","English":"Drigh Colony"}},{"province":"sindh","city":"karachi","town":"shah_faisal","name":"raita_plot","label":{"Urdu":"رائتا پلاٹ","Roman Urdu":"Raita Plot","English":"Raita Plot"}},{"province":"sindh","city":"karachi","town":"shah_faisal","name":"moria_khan_goth","label":{"Urdu":"موریا خان گوٹھ","Roman Urdu":"Moria Khan Goth","English":"Moria Khan Goth"}},{"province":"sindh","city":"karachi","town":"shah_faisal","name":"rafa_e_aam_society","label":{"Urdu":"رفا عام سوسا ئٹی","Roman Urdu":"Rafa-e-Aam Society","English":"Rafa-e-Aam Society"}},{"province":"sindh","city":"karachi","town":"shah_faisal","name":"al_falah_society","label":{"Urdu":"الفلاح سوسا ئٹی","Roman Urdu":"Al-Falah Society","English":"Al-Falah Society"}},{"province":"sindh","city":"karachi","town":"site","name":"pak_colony","label":{"Urdu":"پاک کالونی","Roman Urdu":"Pak Colony","English":"Pak Colony"}},{"province":"sindh","city":"karachi","town":"site","name":"old_golimar","label":{"Urdu":"پرانہ گولی مار","Roman Urdu":"Old Golimar","English":"Old Golimar"}},{"province":"sindh","city":"karachi","town":"site","name":"jahanabad","label":{"Urdu":"جہان آباد","Roman Urdu":"Jahanabad","English":"Jahanabad"}},{"province":"sindh","city":"karachi","town":"site","name":"metrovil","label":{"Urdu":"میٹروویل","Roman Urdu":"Metrovil","English":"Metrovil"}},{"province":"sindh","city":"karachi","town":"site","name":"bhawani_chali","label":{"Urdu":"بہوانی چالی","Roman Urdu":"Bhawani Chali","English":"Bhawani Chali"}},{"province":"sindh","city":"karachi","town":"site","name":"frontier_colony","label":{"Urdu":"فرونٹر کالونی","Roman Urdu":"Frontier Colony","English":"Frontier Colony"}},{"province":"sindh","city":"karachi","town":"site","name":"banaras_colony","label":{"Urdu":"بنارس کالونی","Roman Urdu":"Banaras Colony","English":"Banaras Colony"}},{"province":"sindh","city":"karachi","town":"site","name":"qasba_colony","label":{"Urdu":"قصبہ کالونی","Roman Urdu":"Qasba Colony","English":"Qasba Colony"}},{"province":"sindh","city":"karachi","town":"site","name":"islamia_colony","label":{"Urdu":"اسلامیہ کالونی","Roman Urdu":"Islamia Colony","English":"Islamia Colony"}},{"province":"na","city":"na","town":"na","name":"other","label":{"Urdu":"دیگر","Roman Urdu":"Deegar","English":"Other"}},{"province":"na","city":"na","town":"na","name":"not_applicable","label":{"Urdu":"قابل اطلاق نہیں","Roman Urdu":"Qaabil-e-atlaaq nahi","English":"Not Applicable"}}],"gender":[{"instance":{"openmrs_code":"1534AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"male","label":{"Urdu":"مرد/ لڑکا","Roman Urdu":"Mard/larka","English":"Male"}},{"instance":{"openmrs_code":"1535AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"female","label":{"Urdu":"عورت/لڑکی","Roman Urdu":"Aurat/larki","English":"Female"}},{"instance":{"openmrs_code":"163163AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"transgender","label":{"Urdu":"خواجہ سرہ","Roman Urdu":"Khwaja sira","English":"Transgender"}}],"vaccines":[{"instance":{"openmrs_code":"84880AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"TT1","label":{"Urdu":"ٹی ٹی 1","Roman Urdu":"TT1","English":"TT1"}},{"instance":{"openmrs_code":"84880AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"TT2","label":{"Urdu":"ٹی ٹی 2","Roman Urdu":"TT2","English":"TT2"}},{"instance":{"openmrs_code":"84880AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"TT3","label":{"Urdu":"ٹی ٹی 3","Roman Urdu":"TT3","English":"TT3"}},{"instance":{"openmrs_code":"84880AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"TT4","label":{"Urdu":"ٹی ٹی 4","Roman Urdu":"TT4","English":"TT4"}},{"instance":{"openmrs_code":"84880AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"TT5","label":{"Urdu":"ٹی ٹی 5","Roman Urdu":"TT5","English":"TT5"}}],"towns":[{"province":"sindh","city":"karachi","name":"korangi","label":{"Urdu":"کورنگی","Roman Urdu":"Korangi","English":"Korangi"}},{"province":"sindh","city":"karachi","name":"landhi","label":{"Urdu":"لانڈھی","Roman Urdu":"Landhi","English":"Landhi"}},{"province":"sindh","city":"karachi","name":"baldia","label":{"Urdu":"بلدیہ","Roman Urdu":"Baldia","English":"Baldia"}},{"province":"sindh","city":"karachi","name":"bin_qasim","label":{"Urdu":"بن قاسم","Roman Urdu":"Bin Qasim","English":"Bin Qasim"}},{"province":"sindh","city":"karachi","name":"gadap","label":{"Urdu":"گڈاپ","Roman Urdu":"Gadap","English":"Gadap"}},{"province":"sindh","city":"karachi","name":"gulberg","label":{"Urdu":"گلبرگ","Roman Urdu":"Gulberg","English":"Gulberg"}},{"province":"sindh","city":"karachi","name":"gulshan","label":{"Urdu":"گلشن","Roman Urdu":"Gulshan","English":"Gulshan"}},{"province":"sindh","city":"karachi","name":"jamshed","label":{"Urdu":"جمشید","Roman Urdu":"Jamshed","English":"Jamshed"}},{"province":"sindh","city":"karachi","name":"kiamari","label":{"Urdu":"کیماری","Roman Urdu":"Kiamari","English":"Kiamari"}},{"province":"sindh","city":"karachi","name":"liaquatabad","label":{"Urdu":"لیاقت آباد","Roman Urdu":"Liaquatabad","English":"Liaquatabad"}},{"province":"sindh","city":"karachi","name":"lyari","label":{"Urdu":"لیاری","Roman Urdu":"Lyari","English":"Lyari"}},{"province":"sindh","city":"karachi","name":"malir","label":{"Urdu":"ملیر","Roman Urdu":"Malir","English":"Malir"}},{"province":"sindh","city":"karachi","name":"new_karachi","label":{"Urdu":"نیو کراچی","Roman Urdu":"New Karachi","English":"New Karachi"}},{"province":"sindh","city":"karachi","name":"north_nazimabad","label":{"Urdu":"نارتھ ناظم آباد","Roman Urdu":"North Nazimabad","English":"North Nazimabad"}},{"province":"sindh","city":"karachi","name":"orangi","label":{"Urdu":"اورنگی","Roman Urdu":"Orangi","English":"Orangi"}},{"province":"sindh","city":"karachi","name":"saddar","label":{"Urdu":"صدر","Roman Urdu":"Saddar","English":"Saddar"}},{"province":"sindh","city":"karachi","name":"shah_faisal","label":{"Urdu":"شاہ فیصل","Roman Urdu":"Shah Faisal","English":"Shah Faisal"}},{"province":"sindh","city":"karachi","name":"site","label":{"Urdu":"سائٹ","Roman Urdu":"S.I.T.E.","English":"S.I.T.E."}},{"province":"na","city":"na","name":"other","label":{"Urdu":"دیگر","Roman Urdu":"Deegar","English":"Other"}},{"province":"na","city":"na","name":"not_applicable","label":{"Urdu":"قابل اطلاق نہیں","Roman Urdu":"Qaabil-e-atlaaq nahi","English":"Not Applicable"}}],"cities":[{"province":"sindh","name":"karachi","label":{"Urdu":"کراچی","Roman Urdu":"Karachi","English":"Karachi"}},{"province":"punjab","name":"hafizabad","label":{"Urdu":"حافظ آباد","Roman Urdu":"Hafizabad","English":"Hafizabad"}},{"province":"punjab","name":"muzaffargarh","label":{"Urdu":"مظفر گڑھ","Roman Urdu":"Muzaffargarh","English":"Muzaffargarh"}},{"province":"na","name":"other","label":{"Urdu":"دیگر","Roman Urdu":"Deegar","English":"Other"}},{"province":"na","name":"not_applicable","label":{"Urdu":"قابل اطلاق نہیں","Roman Urdu":"Not Applicable","English":"Not Applicable"}}],"edd_lmp":[{"instance":{"openmrs_code":"5596AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"edd","label":{"Urdu":"زچگی کی متوقع تاریخ","Roman Urdu":"EDD","English":"EDD"}},{"instance":{"openmrs_code":"1427AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"lmp","label":{"Urdu":"پچھلی مہواری کی تاریخ","Roman Urdu":"LMP","English":"LMP"}},{"instance":{"openmrs_code":"159617AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"ultrasound","label":{"Urdu":"الٹرا سائونڈ","Roman Urdu":"Ultrasound","English":"Ultrasound"}},{"instance":{"openmrs_code":"1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"none","label":{"Urdu":"کوئی بھی نہیں","Roman Urdu":"Koi bhi nahi","English":"None of the above"}}],"yes_no":[{"instance":{"openmrs_code":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"yes","label":{"Urdu":"ہاں","Roman Urdu":"Yes","English":"Yes"}},{"instance":{"openmrs_code":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"no","label":{"Urdu":"نہیں","Roman Urdu":"No","English":"No"}}]},"instance":{"encounter_type":"Woman TT Follow Up"},"version":"201604080459","id_string":"woman_tt_followup_form","type":"survey","children":[{"type":"hidden","name":"provider_uc"},{"type":"hidden","name":"provider_town"},{"type":"hidden","name":"provider_city"},{"type":"hidden","name":"provider_province"},{"type":"hidden","name":"existing_landmark"},{"type":"hidden","name":"existing_house_number"},{"type":"hidden","name":"existing_street"},{"type":"hidden","name":"existing_union_council"},{"type":"hidden","name":"existing_town"},{"type":"hidden","name":"existing_city_village"},{"type":"hidden","name":"existing_province"},{"type":"hidden","name":"existing_union_councilname"},{"type":"hidden","name":"existing_townname"},{"type":"hidden","name":"existing_city_villagename"},{"type":"hidden","name":"existing_provincename"},{"type":"hidden","name":"existing_first_name"},{"type":"hidden","name":"existing_last_name"},{"type":"hidden","name":"existing_father_name"},{"type":"hidden","name":"existing_husband_name"},{"type":"hidden","name":"existing_marriage"},{"type":"hidden","name":"existing_calc_dob_confirm"},{"type":"hidden","name":"existing_gender"},{"type":"hidden","name":"existing_ethnicity"},{"type":"hidden","name":"existing_client_reg_date"},{"type":"hidden","name":"existing_program_client_id"},{"type":"hidden","name":"existing_epi_card_number"},{"type":"hidden","name":"existing_reminders_approval"},{"type":"hidden","name":"existing_contact_phone_number"},{"type":"hidden","name":"e_tt1"},{"type":"hidden","name":"e_tt2"},{"type":"hidden","name":"e_tt3"},{"type":"hidden","name":"e_tt4"},{"type":"hidden","name":"e_tt5"},{"type":"hidden","name":"provider_id"},{"instance":{"openmrs_entity_id":"location_id","openmrs_entity":"encounter"},"type":"hidden","name":"provider_location_id"},{"type":"hidden","name":"provider_location_name"},{"type":"note","name":"provider_location_note","label":{"Urdu":"شہر: ${provider_city} ; ٹائون: ${provider_town} ; یوسی: ${provider_uc} ; سینٹرکا نام: ${provider_location_name}","English":"City: ${provider_city} ; Town: ${provider_town} ; UC: ${provider_uc} ; Center Name: ${provider_location_name}"}},{"instance":{"openmrs_entity_id":"163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"start","name":"start"},{"instance":{"openmrs_entity_id":"163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"end","name":"end"},{"instance":{"openmrs_entity_id":"163286AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"today","name":"today"},{"instance":{"openmrs_entity_id":"163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"deviceid","name":"deviceid"},{"instance":{"openmrs_entity_id":"163150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"subscriberid","name":"subscriberid"},{"instance":{"openmrs_entity_id":"163151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"simserial","name":"simserial"},{"instance":{"openmrs_entity_id":"163152AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"phonenumber","name":"phonenumber"},{"bind":{"required":"yes"},"type":"note","name":"client_reg_date_note","label":{"Urdu":"${existing_client_reg_date} :پروگرام میں اندراج کی تاریخ","Roman Urdu":"Program main andraaj ki tareekh: ${existing_client_reg_date}","English":"Client Registration date: ${existing_client_reg_date}"}},{"bind":{"required":"yes"},"type":"note","name":"program_client_id_note","label":{"Urdu":"${existing_program_client_id}:کلائنٹ کی پروگرام ائی ڈی","Roman Urdu":"Client ki program ID: ${existing_program_client_id}","English":"Program Client ID: ${existing_program_client_id}"}},{"bind":{"required":"yes"},"type":"note","name":"epi_card_number_note","label":{"Urdu":"${existing_epi_card_number}: کارڈ نمبر","Roman Urdu":"Card Number: ${existing_epi_card_number}","English":"EPI Card Number: ${existing_epi_card_number}"}},{"bind":{"required":"yes"},"type":"note","name":"first_name_note","label":{"Urdu":"${existing_first_name}: نام","Roman Urdu":"Naam: ${existing_first_name}","English":"First Name: ${existing_first_name}"}},{"bind":{"required":"yes"},"type":"note","name":"last_name_note","label":{"Urdu":"والد کا نام: ${existing_last_name}","Roman Urdu":"Waalid ka naam: ${existing_last_name}","English":"Last name: ${existing_last_name}"}},{"bind":{"calculate":"date( today() - (${existing_calc_dob_confirm} div 365))"},"type":"calculate","name":"client_age","instance":{"openmrs_entity_id":"154384AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"}},{"type":"note","name":"member_birth_date_note","label":{"Urdu":"کلائنٹ کی تاریخِ پیدائش: {existing_calc_dob_confirm}$ ({client_age}$) سال","English":"Client birth date: ${existing_calc_dob_confirm} (${client_age}) years","Roman Urdu":"Client ki tareekh-e-pedaaish: ${existing_calc_dob_confirm} (${client_age}) years"}},{"bind":{"required":"yes"},"type":"note","name":"gender_note","label":{"Urdu":"${existing_gender}: جنس","Roman Urdu":"Jins:${existing_gender}","English":"Gender: ${existing_gender}"}},{"type":"note","name":"father_name_note","label":{"Urdu":"والد کا نام: {existing_father_name}$","English":"Father's Name: ${existing_father_name}","Roman Urdu":"Waalid ka naam: ${existing_father_name}"}},{"type":"note","name":"marriage_note","label":{"Urdu":"کیا آپ شادی شدہ ہیں: {existing_marriage}$","English":"Are you married: ${existing_marriage}","Roman Urdu":"Kya aap shaadi shuda hain: ${existing_marriage}"}},{"type":"note","name":"husband_name_note","label":{"Urdu":"شوہر کا نام: {existing_husband_name}$","English":"Husband's name: ${existing_husband_name}","Roman Urdu":"Shohar ka naam: ${existing_husband_name}"}},{"bind":{"required":"yes"},"type":"note","name":"ethnicity_note","label":{"Urdu":"قومیت: {existing_ethnicity}$","Roman Urdu":"Qomiat: ${existing_ethnicity}","English":"Ethnicity: ${existing_ethnicity}"}},{"type":"note","name":"address","label":{"Urdu":"موجودہ پتہ: ${existing_house_number}, ${existing_street}, ${existing_landmark}, ${existing_union_councilname}, ${existing_townname}, ${existing_city_villagename}, ${existing_provincename}","English":"Current Address: ${existing_house_number}, ${existing_street}, ${existing_landmark}, ${existing_union_councilname}, ${existing_townname}, ${existing_city_villagename}, ${existing_provincename}","Roman Urdu":"Mojooda Address: ${existing_house_number}, ${existing_street}, ${existing_landmark}, ${existing_union_councilname}, ${existing_townname}, ${existing_city_villagename}, ${existing_provincename}"}},{"label":{"Urdu":"کیا آپ کا گھر کا پتہ بدلا ہے؟","English":"Has your home address changed?","Roman Urdu":"Kya aap ka ghar ka pata badla hai?"},"type":"select one","children":[{"instance":{"openmrs_code":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"yes","label":{"Urdu":"ہاں","Roman Urdu":"Yes","English":"Yes"}},{"instance":{"openmrs_code":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"no","label":{"Urdu":"نہیں","Roman Urdu":"No","English":"No"}}],"name":"address_change"},{"control":{"appearance":"minimal"},"name":"province","default":"${provider_province}","bind":{"relevant":"selected(${address_change}, 'yes')","required":"yes"},"label":{"Urdu":"صوبہ","Roman Urdu":"Suba","English":"Province"},"instance":{"openmrs_entity":"person_address","openmrs_entity_id":"stateProvince","openmrs_entity_parent":"usual_residence"},"type":"select one","children":[{"name":"kpk","label":{"Urdu":"خیبر پختون خواہ","English":"Khyber Pakhtunkhwa","Roman Urdu":"Khyber Pakhtunkhwa"}},{"name":"sindh","label":{"Urdu":"سندھ","English":"Sindh","Roman Urdu":"Sindh"}},{"name":"balochistan","label":{"Urdu":"بلوچستان","English":"Balochistan","Roman Urdu":"Balochistan"}},{"name":"punjab","label":{"Urdu":"پنجاب","English":"Punjab","Roman Urdu":"Punjab"}},{"name":"gilgit_baltistan","label":{"Urdu":"گلگت بلتستان","English":"Gilgit Baltistan","Roman Urdu":"Gilgit Baltistan"}},{"name":"kashmir","label":{"Urdu":"کشمیر","English":"Kashmir","Roman Urdu":"Kashmir"}},{"name":"fata","label":{"Urdu":"فاٹا","English":"FATA","Roman Urdu":"FATA"}},{"name":"out_of_country","label":{"Urdu":"ملک سے باہر","English":"Out of Country","Roman Urdu":"Mulk se baahir"}}]},{"control":{"appearance":"minimal"},"name":"city_village","choice_filter":"province=${province} or province='na'","default":"${provider_city}","bind":{"relevant":"selected(${address_change}, 'yes')","required":"yes"},"label":{"Urdu":"شہر","Roman Urdu":"Shehr","English":"City"},"itemset":"cities","instance":{"openmrs_entity":"person_address","openmrs_entity_id":"cityVillage","openmrs_entity_parent":"usual_residence"},"type":"select one"},{"control":{"appearance":"minimal"},"name":"town","choice_filter":"(province=${province} and city=${city_village} ) or city='na'","bind":{"relevant":"selected(${address_change}, 'yes')","required":"yes"},"label":{"Urdu":"ٹاٰئون/ قصبہ/ بستی","Roman Urdu":"Town / Qasbah / Basti","English":"Town"},"itemset":"towns","instance":{"openmrs_entity":"person_address","openmrs_entity_id":"town","openmrs_entity_parent":"usual_residence"},"type":"select one"},{"control":{"appearance":"minimal"},"name":"union_council","choice_filter":"(province=${province} and city=${city_village} and town=${town}) or town='na'","bind":{"relevant":"selected(${address_change}, 'yes')","required":"yes"},"label":{"Urdu":"یونین کونسل","Roman Urdu":"Union Council","English":"Union Council"},"itemset":"ucs","instance":{"openmrs_entity":"person_address","openmrs_entity_id":"subTown","openmrs_entity_parent":"usual_residence"},"type":"select one"},{"bind":{"relevant":"selected(${address_change}, 'yes')","required":"yes"},"type":"text","instance":{"openmrs_entity":"person_address","openmrs_entity_id":"house","openmrs_entity_parent":"usual_residence"},"name":"house_number","label":{"Urdu":"گھر کا نمبر","Roman Urdu":"Ghar ka number","English":"House Number"}},{"bind":{"relevant":"selected(${address_change}, 'yes')","required":"yes"},"type":"text","instance":{"openmrs_entity":"person_address","openmrs_entity_id":"street","openmrs_entity_parent":"usual_residence"},"name":"street","label":{"Urdu":"گلی/کالونی/محلہ","Roman Urdu":"Gali/Colony/Mohalla","English":"Street"}},{"bind":{"relevant":"selected(${address_change}, 'yes')","required":"yes"},"type":"text","instance":{"openmrs_entity":"person_address","openmrs_entity_id":"landmark","openmrs_entity_parent":"usual_residence"},"name":"landmark","label":{"Urdu":"گھر کے قریب کوئی مشہور جگہ","Roman Urdu":"Ghar ke qareeb koi mashoor jagah","English":"Land Mark"}},{"instance":{"openmrs_entity_id":"163277AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"geopoint","name":"center_gps","label":{"Urdu":"حاصل کردہ معلومات کی جگہ کے GPS کارڈینیٹس درج کریں","English":"Collect GPS coordinates of data entry location:","Roman Urdu":"Hasil karda malomaat ki jaga ke GPS coordinates darj karain"}},{"control":{"appearance":"minimal"},"name":"reminders_approval","bind":{"required":"yes"},"label":{"Urdu":"کیا آپ اپنے بچے کی اگلی ویکسین کی تاریخ کے لیے SMS موصول کرنا چاہتے ہیں؟ {existing_reminders_approval}$","English":"Are you willing to receive SMS reminders for your next visit? ${existing_reminders_approval}","Roman Urdu":"Kya aap apnay bachay ki agli vaccine ki tareekh ke liye SMS mausool karna chahtay hain? ${existing_reminders_approval}"},"instance":{"openmrs_entity_id":"163089AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"select one","children":[{"instance":{"openmrs_code":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"yes","label":{"Urdu":"ہاں","Roman Urdu":"Yes","English":"Yes"}},{"instance":{"openmrs_code":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"no","label":{"Urdu":"نہیں","Roman Urdu":"No","English":"No"}}]},{"bind":{"jr:constraintMsg":{"Urdu":"فون نمبر گیارہ ہندسوں پر مشتمل اور مندرجہ ذیل شکل میں ہونا چاہئے: *********03","English":"Phone number should be 11 digits in the following format: 03*********","Roman Urdu":"Phone number 11 hindason par mushtamil aur mundarja zail shakal main hona chahiey: 03*********"},"relevant":"${existing_reminders_approval}='yes'","constraint":"regex(., '^03[0-9]{9}$')"},"type":"text","instance":{"openmrs_entity_id":"159635AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"name":"contact_phone_number","label":{"Urdu":"موبائل نمبر:{existing_contact_phone_number}$","English":"Mobile Number: ${existing_contact_phone_number}","Roman Urdu":"Mobile Number: ${existing_contact_phone_number}"}},{"instance":{"openmrs_entity_id":"5272AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"label":{"Urdu":"کیا خا تون حاملہ ہیں؟","English":"Is female pregnant?","Roman Urdu":"Kia khatoon haamla hain?"},"type":"select one","children":[{"instance":{"openmrs_code":"1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"yes","label":{"Urdu":"ہاں","Roman Urdu":"Yes","English":"Yes"}},{"instance":{"openmrs_code":"1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"no","label":{"Urdu":"نہیں","Roman Urdu":"No","English":"No"}}],"name":"pregnant"},{"name":"edd_lmp","bind":{"relevant":"selected (${pregnant}, 'yes')"},"label":{"Urdu":"کیا آپ کو اپنی پچھلی ماہواری کی تاریخ، زچگی کی متوقع تاریخ، یا الٹرا سائونڈ کا علم ہے؟","English":"Do you know your LMP, EDD or last Ultrasound information?","Roman Urdu":"Kya aap ko apni pichli mahwaari ki tareekh, zachgi ki mutawaqqa tareekh ya ultrasound ka ilm hai?"},"instance":{"openmrs_entity_id":"160697AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"type":"select one","children":[{"instance":{"openmrs_code":"5596AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"edd","label":{"Urdu":"زچگی کی متوقع تاریخ","Roman Urdu":"EDD","English":"EDD"}},{"instance":{"openmrs_code":"1427AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"lmp","label":{"Urdu":"پچھلی مہواری کی تاریخ","Roman Urdu":"LMP","English":"LMP"}},{"instance":{"openmrs_code":"159617AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"ultrasound","label":{"Urdu":"الٹرا سائونڈ","Roman Urdu":"Ultrasound","English":"Ultrasound"}},{"instance":{"openmrs_code":"1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"none","label":{"Urdu":"کوئی بھی نہیں","Roman Urdu":"Koi bhi nahi","English":"None of the above"}}]},{"bind":{"jr:constraintMsg":{"Urdu":"زچگی کی متوقع تاریخ ماضی کی نہیں ہو سکتی","Roman Urdu":"Zachgi ki mutawaqqa tareekh maazi ki nahi hosakti","English":"EDD cannot be in the past"},"relevant":"selected (${edd_lmp}, 'edd')","constraint":".>=${today}"},"type":"date","name":"edd","label":{"Urdu":"زچگی کی متوقع تاریخ","Roman Urdu":"Zachgi ki mutawaqqa tareekh","English":"EDD"}},{"bind":{"jr:constraintMsg":{"Urdu":"پچھلی ماہواری کی تاریخ مستقبل کی نہیں ہوسکتی","Roman Urdu":"Pichli mahwaari ki tareekh mustaqbil ki nahi hosakti","English":"LMP cannot be in the future"},"relevant":"selected (${edd_lmp}, 'lmp')","constraint":".<=${today}"},"type":"date","name":"lmp","label":{"Urdu":"پچھلی ماہواری کی تاریخ","Roman Urdu":"Pichli mahwaari ki tareekh","English":"LMP"}},{"bind":{"relevant":"selected (${edd_lmp}, 'ultrasound')"},"type":"date","instance":{"openmrs_entity_id":"163165AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"},"name":"ultrasound_date","label":{"Urdu":"الٹرا سائونڈ کی تاریخ","English":"Ultrasound Date","Roman Urdu":"Ultrasound ki tareekh"}},{"bind":{"relevant":"selected (${edd_lmp}, 'ultrasound')"},"type":"integer","name":"ultrasound_weeks","label":{"Urdu":"الٹرا سائونڈ کی مدد سے حمل کی مدت [ہفتوں میں]","Roman Urdu":"Ultrasound ki madad se hamal ki muddat (hafton me)","English":"Gestational age determined by ultrasound"}},{"bind":{"calculate":"date(${lmp}+280)"},"type":"calculate","name":"edd_calc_lmp"},{"bind":{"calculate":"date((280-(${ultrasound_weeks}*7)+${ultrasound_date} ))"},"type":"calculate","name":"edd_calc_ultrasound"},{"bind":{"calculate":"format-date(${edd_calc_lmp}, '%Y-%n-%e')"},"type":"calculate","name":"edd_calc_lmp_formatted"},{"bind":{"calculate":"format-date(${edd_calc_ultrasound}, '%Y-%n-%e')"},"type":"calculate","name":"edd_calc_ultrasound_formatted"},{"bind":{"calculate":"date(${edd}-280)"},"type":"calculate","name":"lmp_calc_edd"},{"bind":{"calculate":"date(${ultrasound_date}-(${ultrasound_weeks}*7))"},"type":"calculate","name":"lmp_calc_ultrasound"},{"bind":{"calculate":"format-date(${lmp_calc_edd}, '%Y-%n-%e')"},"type":"calculate","name":"lmp_calc_edd_formatted"},{"bind":{"calculate":"format-date(${lmp_calc_ultrasound}, '%Y-%n-%e')"},"type":"calculate","name":"lmp_calc_ultrasound_formatted"},{"bind":{"calculate":"if(${edd_lmp}='lmp',${edd_calc_lmp_formatted},if(${edd_lmp}='edd',${edd} ,if(${edd_lmp}='ultrasound',${edd_calc_ultrasound_formatted},'')))"},"type":"calculate","name":"final_edd","instance":{"openmrs_entity_id":"5596AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"}},{"bind":{"calculate":"if(${edd_lmp}='lmp',${lmp},if(${edd_lmp}='edd',${lmp_calc_edd_formatted} ,if(${edd_lmp}='ultrasound',${lmp_calc_ultrasound_formatted},'')))"},"type":"calculate","name":"final_lmp","instance":{"openmrs_entity_id":"1427AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"}},{"bind":{"calculate":"int((${vaccination_date} - (${edd}-280))div7)"},"type":"calculate","name":"ga_edd"},{"bind":{"calculate":"int((${vaccination_date} - ${lmp})div7)"},"type":"calculate","name":"ga_lmp"},{"bind":{"calculate":"int((${vaccination_date} -(${ultrasound_date}-(${ultrasound_weeks}*7)))div7)"},"type":"calculate","name":"ga_ult"},{"bind":{"relevant":"selected (${pregnant}, 'yes')"},"type":"note","name":"final_edd_note","label":{"Urdu":"${final_edd}: زچگی کی متوقع تاریخ","Roman Urdu":"Zachgi ki mutawaqqa tareekh: ${final_edd}","English":"EDD: ${final_edd}"}},{"bind":{"relevant":"selected (${pregnant}, 'yes')"},"type":"note","name":"final_lmp_note","label":{"Urdu":"پچھلی ماہواری کی تاریخ :{final_lmp}$","Roman Urdu":"Pichli mahwaari ki tareekh: ${final_lmp}","English":"LMP: ${final_lmp}"}},{"bind":{"calculate":"if(${edd_lmp}='lmp',${ga_lmp},if(${edd_lmp}='edd',${ga_edd} ,if(${edd_lmp}='ultrasound',${ga_ult},'')))"},"type":"calculate","name":"final_ga","instance":{"openmrs_entity_id":"163166AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity":"concept"}},{"bind":{"relevant":"selected (${pregnant}, 'yes')"},"type":"note","name":"final_ga_note","label":{"Urdu":"حمل کی مُدّت: {final_ga}$ ہفتے","Roman Urdu":"Hamal ki muddat: ${final_ga} weeks","English":"GA: ${final_ga} weeks"}},{"name":"vaccines","choice_filter":"name != if( ${e_tt1} != '', 'TT1' , '') and \nname != if( ${e_tt2} != '', 'TT2' , '') and \nname != if( ${e_tt3} != '', 'TT3' , '') and \nname != if( ${e_tt4} != '', 'TT4' , '') and \nname != if( ${e_tt5} != '', 'TT5' , '')","default":"minimal","label":{"Urdu":"پچھلی تاریخ جب کسی اور سینٹر پر ٹیکہ لگوایا گیا یا قطرے پلائے گئے","Roman Urdu":"Pichli tareekh jab kissi aur center par teeka lagwaya gaya ya katray pilaey gaye","English":"Retro vaccines"},"itemset":"vaccines","instance":{"openmrs_entity":"concept","openmrs_entity_id":"984AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"1421AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"type":"select all that apply"},{"bind":{"relevant":"selected(${vaccines},'TT1')","constraint":"(.<=${today} and .<=${existing_client_reg_date})"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"tt1_retro","label":{"Urdu":"ٹی ٹی 1","Roman Urdu":"TT1","English":"TT1"}},{"bind":{"relevant":"selected(${vaccines},'TT1')","calculate":"1"},"type":"calculate","name":"tt_1_dose","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines},'TT2')","constraint":"(.<=${today} and .>=${tt1_retro} and ((selected(${vaccines}, 'TT1'))))"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"tt2_retro","label":{"Urdu":"ٹی ٹی 2","Roman Urdu":"TT2","English":"TT2"}},{"bind":{"relevant":"selected(${vaccines},'TT2')","calculate":"2"},"type":"calculate","name":"tt_2_dose","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines},'TT3')","constraint":"(.<=${today} and .>=${tt2_retro} and ((selected(${vaccines}, 'TT2'))))"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"tt3_retro","label":{"Urdu":"ٹی ٹی 3","Roman Urdu":"TT3","English":"TT3"}},{"bind":{"relevant":"selected(${vaccines},'TT3')","calculate":"3"},"type":"calculate","name":"tt_3_dose","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines},'TT4')","constraint":"(.<=${today} and .>=${tt3_retro} and ((selected(${vaccines}, 'TT3'))))"},"type":"date","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"name":"tt4_retro","label":{"Urdu":"ٹی ٹی 4","Roman Urdu":"TT4","English":"TT4"}},{"bind":{"relevant":"selected(${vaccines},'TT4')","calculate":"4"},"type":"calculate","name":"tt_4_dose","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"name":"vaccines_2","choice_filter":"name != if( ${e_tt1} != '', 'TT1' , '') and \nname != if( ${e_tt2} != '', 'TT2' , '') and \nname != if( ${e_tt3} != '', 'TT3' , '') and \nname != if( ${e_tt4} != '', 'TT4' , '') and \nname != if( ${e_tt5} != '', 'TT5' , '') and \nname != if( selected(${vaccines}, 'TT1') , 'TT1', '') and \nname != if( selected(${vaccines}, 'TT2') , 'TT2', '') and \nname != if( selected(${vaccines}, 'TT3') , 'TT3', '') and \nname != if( selected(${vaccines}, 'TT4') , 'TT4', '') and \nname != if( selected(${vaccines}, 'TT5') , 'TT5', '')","bind":{"required":"yes"},"label":{"Urdu":"آج کون کون سی ویکسین دی گئی ہیں؟","Roman Urdu":"Aaj kon kon si vaccine di gai hain?","English":"Vaccine administered today"},"itemset":"vaccines","instance":{"openmrs_entity":"concept","openmrs_entity_id":"984AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"1441AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},"type":"select all that apply"},{"bind":{"required":"yes"},"type":"date","instance":{"openmrs_entity_id":"encounter_date","openmrs_entity":"encounter"},"name":"vaccination_date","label":{"Urdu":"تاریخ","English":"Vaccination date","Roman Urdu":"Tareekh"}},{"bind":{"calculate":"if(selected(${vaccines_2}, 'TT1'),${vaccination_date},'')"},"type":"calculate","name":"tt1","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines_2},'TT1')","calculate":"1"},"type":"calculate","name":"tt_1_dose_today","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"calculate":"if(selected(${vaccines_2}, 'TT2'),${vaccination_date},'')"},"type":"calculate","name":"tt2","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines_2},'TT2')","calculate":"2"},"type":"calculate","name":"tt_2_dose_today","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"calculate":"if(selected(${vaccines_2}, 'TT3'),${vaccination_date},'')"},"type":"calculate","name":"tt3","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines_2},'TT3')","calculate":"3"},"type":"calculate","name":"tt_3_dose_today","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"calculate":"if(selected(${vaccines_2}, 'TT4'),${vaccination_date},'')"},"type":"calculate","name":"tt4","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines_2},'TT4')","calculate":"4"},"type":"calculate","name":"tt_4_dose_today","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"calculate":"if(selected(${vaccines_2}, 'TT5'),${vaccination_date},'')"},"type":"calculate","name":"tt5","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"bind":{"relevant":"selected(${vaccines_2},'TT5')","calculate":"5"},"type":"calculate","name":"tt_5_dose_today","instance":{"openmrs_entity":"concept","openmrs_entity_id":"1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","openmrs_entity_parent":"104528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}},{"control":{"bodyless":true},"type":"group","children":[{"bind":{"readonly":"true()","calculate":"concat('uuid:', uuid())"},"type":"calculate","name":"instanceID"}],"name":"meta"}]} \ No newline at end of file diff --git a/opensrp-core/bin/src/test/resources/form/woman_followup/form.xml b/opensrp-core/bin/src/test/resources/form/woman_followup/form.xml new file mode 100644 index 0000000000..678d93463a --- /dev/null +++ b/opensrp-core/bin/src/test/resources/form/woman_followup/form.xml @@ -0,0 +1,1435 @@ +
+ + +

خواتین فالواپ رجسٹر برائے ٹیکاجات - Woman TT Follow Up Form

+
+
+ + کیا آپ کا گھر کا پتہ بدلا ہے؟ + Kya aap ka ghar ka pata badla hai? + + Has your home address changed? +
+ + +
+
+
+
+ + کیا خا تون حاملہ ہیں؟ + Kia khatoon haamla hain? + + Is female pregnant? +
+ + +
+
+
+
+ + کیا آپ کو اپنی پچھلی ماہواری کی تاریخ، زچگی کی متوقع تاریخ، یا الٹرا سائونڈ کا علم ہے؟ + Kya aap ko apni pichli mahwaari ki tareekh, zachgi ki mutawaqqa tareekh ya ultrasound ka ilm hai? + + Do you know your LMP, EDD or last Ultrasound information? +
+ + + + +
+
+
+
+ + پچھلی تاریخ جب کسی اور سینٹر پر ٹیکہ لگوایا گیا یا قطرے پلائے گئے + Pichli tareekh jab kissi aur center par teeka lagwaya gaya ya katray pilaey gaye + + Retro vaccines +
+ + + ٹی ٹی 1 + TT1 + + TT1 + ٹی ٹی 2 + TT2 + + TT2 + ٹی ٹی 3 + TT3 + + TT3 + ٹی ٹی 4 + TT4 + + TT4 + ٹی ٹی 5 + TT5 + + TT5 +
+
+
+
+ + آج کون کون سی ویکسین دی گئی ہیں؟ + Aaj kon kon si vaccine di gai hain? + + Vaccine administered today + * +
+ + + ٹی ٹی 1 + TT1 + + TT1 + ٹی ٹی 2 + TT2 + + TT2 + ٹی ٹی 3 + TT3 + + TT3 + ٹی ٹی 4 + TT4 + + TT4 + ٹی ٹی 5 + TT5 + + TT5 +
+
+
+ + diff --git a/opensrp-core/bin/src/test/resources/form/woman_followup/form_definition.json b/opensrp-core/bin/src/test/resources/form/woman_followup/form_definition.json new file mode 100644 index 0000000000..b1d257f7a1 --- /dev/null +++ b/opensrp-core/bin/src/test/resources/form/woman_followup/form_definition.json @@ -0,0 +1,384 @@ +{ + "form_data_definition_version" : "1", + "form" : { + "bind_type" : "pkwoman", + "default_bind_path" : "/model/instance/Woman_TT_Followup_Form/", + "fields" : [ { + "name" : "id", + "shouldLoadValue" : true + }, { + "name" : "provider_uc", + "bind" : "/model/instance/Woman_TT_Followup_Form/provider_uc", + "shouldLoadValue" : true + }, { + "name" : "provider_town", + "bind" : "/model/instance/Woman_TT_Followup_Form/provider_town", + "shouldLoadValue" : true + }, { + "name" : "provider_city", + "bind" : "/model/instance/Woman_TT_Followup_Form/provider_city", + "shouldLoadValue" : true + }, { + "name" : "provider_province", + "bind" : "/model/instance/Woman_TT_Followup_Form/provider_province", + "shouldLoadValue" : true + }, { + "name" : "existing_landmark", + "bind" : "/model/instance/Woman_TT_Followup_Form/existing_landmark", + "shouldLoadValue" : true + }, { + "name" : "existing_house_number", + "bind" : "/model/instance/Woman_TT_Followup_Form/existing_house_number", + "shouldLoadValue" : true + }, { + "name" : "existing_street", + "bind" : "/model/instance/Woman_TT_Followup_Form/existing_street", + "shouldLoadValue" : true + }, { + "name" : "existing_union_council", + "bind" : "/model/instance/Woman_TT_Followup_Form/existing_union_council", + "shouldLoadValue" : true + }, { + "name" : "existing_town", + "bind" : "/model/instance/Woman_TT_Followup_Form/existing_town", + "shouldLoadValue" : true + }, { + "name" : "existing_city_village", + "bind" : "/model/instance/Woman_TT_Followup_Form/existing_city_village", + "shouldLoadValue" : true + }, { + "name" : "existing_province", + "bind" : "/model/instance/Woman_TT_Followup_Form/existing_province", + "shouldLoadValue" : true + }, { + "name" : "existing_union_councilname", + "bind" : "/model/instance/Woman_TT_Followup_Form/existing_union_councilname", + "shouldLoadValue" : true + }, { + "name" : "existing_townname", + "bind" : "/model/instance/Woman_TT_Followup_Form/existing_townname", + "shouldLoadValue" : true + }, { + "name" : "existing_city_villagename", + "bind" : "/model/instance/Woman_TT_Followup_Form/existing_city_villagename", + "shouldLoadValue" : true + }, { + "name" : "existing_provincename", + "bind" : "/model/instance/Woman_TT_Followup_Form/existing_provincename", + "shouldLoadValue" : true + }, { + "name" : "existing_first_name", + "bind" : "/model/instance/Woman_TT_Followup_Form/existing_first_name", + "shouldLoadValue" : true + }, { + "name" : "existing_last_name", + "bind" : "/model/instance/Woman_TT_Followup_Form/existing_last_name", + "shouldLoadValue" : true + }, { + "name" : "existing_father_name", + "bind" : "/model/instance/Woman_TT_Followup_Form/existing_father_name", + "shouldLoadValue" : true + }, { + "name" : "existing_husband_name", + "bind" : "/model/instance/Woman_TT_Followup_Form/existing_husband_name", + "shouldLoadValue" : true + }, { + "name" : "existing_marriage", + "bind" : "/model/instance/Woman_TT_Followup_Form/existing_marriage", + "shouldLoadValue" : true + }, { + "name" : "existing_birthdate", + "bind" : "/model/instance/Woman_TT_Followup_Form/existing_calc_dob_confirm", + "shouldLoadValue" : true + }, { + "name" : "existing_gender", + "bind" : "/model/instance/Woman_TT_Followup_Form/existing_gender", + "shouldLoadValue" : true + }, { + "name" : "existing_ethnicity", + "bind" : "/model/instance/Woman_TT_Followup_Form/existing_ethnicity", + "shouldLoadValue" : true + }, { + "name" : "existing_client_reg_date", + "bind" : "/model/instance/Woman_TT_Followup_Form/existing_client_reg_date", + "shouldLoadValue" : true + }, { + "name" : "existing_program_client_id", + "bind" : "/model/instance/Woman_TT_Followup_Form/existing_program_client_id", + "shouldLoadValue" : true + }, { + "name" : "existing_epi_card_number", + "bind" : "/model/instance/Woman_TT_Followup_Form/existing_epi_card_number", + "shouldLoadValue" : true + }, { + "name" : "existing_reminders_approval", + "bind" : "/model/instance/Woman_TT_Followup_Form/existing_reminders_approval" + }, { + "name" : "existing_contact_phone_number", + "bind" : "/model/instance/Woman_TT_Followup_Form/existing_contact_phone_number" + }, { + "name" : "e_tt1", + "bind" : "/model/instance/Woman_TT_Followup_Form/e_tt1", + "shouldLoadValue" : true + }, { + "name" : "e_tt2", + "bind" : "/model/instance/Woman_TT_Followup_Form/e_tt2", + "shouldLoadValue" : true + }, { + "name" : "e_tt3", + "bind" : "/model/instance/Woman_TT_Followup_Form/e_tt3", + "shouldLoadValue" : true + }, { + "name" : "e_tt4", + "bind" : "/model/instance/Woman_TT_Followup_Form/e_tt4", + "shouldLoadValue" : true + }, { + "name" : "e_tt5", + "bind" : "/model/instance/Woman_TT_Followup_Form/e_tt5", + "shouldLoadValue" : true + }, { + "name" : "provider_id", + "bind" : "/model/instance/Woman_TT_Followup_Form/provider_id", + "shouldLoadValue" : true + }, { + "name" : "provider_location_id", + "bind" : "/model/instance/Woman_TT_Followup_Form/provider_location_id", + "shouldLoadValue" : true + }, { + "name" : "provider_location_name", + "bind" : "/model/instance/Woman_TT_Followup_Form/provider_location_name", + "shouldLoadValue" : true + }, { + "name" : "provider_location_note", + "bind" : "/model/instance/Woman_TT_Followup_Form/provider_location_note" + }, { + "name" : "start", + "bind" : "/model/instance/Woman_TT_Followup_Form/start" + }, { + "name" : "end", + "bind" : "/model/instance/Woman_TT_Followup_Form/end" + }, { + "name" : "today", + "bind" : "/model/instance/Woman_TT_Followup_Form/today" + }, { + "name" : "deviceid", + "bind" : "/model/instance/Woman_TT_Followup_Form/deviceid" + }, { + "name" : "subscriberid", + "bind" : "/model/instance/Woman_TT_Followup_Form/subscriberid" + }, { + "name" : "simserial", + "bind" : "/model/instance/Woman_TT_Followup_Form/simserial" + }, { + "name" : "phonenumber", + "bind" : "/model/instance/Woman_TT_Followup_Form/phonenumber" + }, { + "name" : "client_reg_date_note", + "bind" : "/model/instance/Woman_TT_Followup_Form/client_reg_date_note" + }, { + "name" : "program_client_id_note", + "bind" : "/model/instance/Woman_TT_Followup_Form/program_client_id_note" + }, { + "name" : "epi_card_number_note", + "bind" : "/model/instance/Woman_TT_Followup_Form/epi_card_number_note" + }, { + "name" : "first_name_note", + "bind" : "/model/instance/Woman_TT_Followup_Form/first_name_note" + }, { + "name" : "last_name_note", + "bind" : "/model/instance/Woman_TT_Followup_Form/last_name_note" + }, { + "name" : "client_age", + "bind" : "/model/instance/Woman_TT_Followup_Form/client_age" + }, { + "name" : "member_birth_date_note", + "bind" : "/model/instance/Woman_TT_Followup_Form/member_birth_date_note" + }, { + "name" : "gender_note", + "bind" : "/model/instance/Woman_TT_Followup_Form/gender_note" + }, { + "name" : "father_name_note", + "bind" : "/model/instance/Woman_TT_Followup_Form/father_name_note" + }, { + "name" : "marriage_note", + "bind" : "/model/instance/Woman_TT_Followup_Form/marriage_note" + }, { + "name" : "husband_name_note", + "bind" : "/model/instance/Woman_TT_Followup_Form/husband_name_note" + }, { + "name" : "ethnicity_note", + "bind" : "/model/instance/Woman_TT_Followup_Form/ethnicity_note" + }, { + "name" : "address", + "bind" : "/model/instance/Woman_TT_Followup_Form/address" + }, { + "name" : "address_change", + "bind" : "/model/instance/Woman_TT_Followup_Form/address_change" + }, { + "name" : "province", + "bind" : "/model/instance/Woman_TT_Followup_Form/province" + }, { + "name" : "city_village", + "bind" : "/model/instance/Woman_TT_Followup_Form/city_village" + }, { + "name" : "town", + "bind" : "/model/instance/Woman_TT_Followup_Form/town" + }, { + "name" : "union_council", + "bind" : "/model/instance/Woman_TT_Followup_Form/union_council" + }, { + "name" : "house_number", + "bind" : "/model/instance/Woman_TT_Followup_Form/house_number" + }, { + "name" : "street", + "bind" : "/model/instance/Woman_TT_Followup_Form/street" + }, { + "name" : "landmark", + "bind" : "/model/instance/Woman_TT_Followup_Form/landmark" + }, { + "name" : "center_gps", + "bind" : "/model/instance/Woman_TT_Followup_Form/center_gps" + }, { + "name" : "reminders_approval", + "bind" : "/model/instance/Woman_TT_Followup_Form/reminders_approval" + }, { + "name" : "contact_phone_number", + "bind" : "/model/instance/Woman_TT_Followup_Form/contact_phone_number" + }, { + "name" : "pregnant", + "bind" : "/model/instance/Woman_TT_Followup_Form/pregnant" + }, { + "name" : "edd_lmp", + "bind" : "/model/instance/Woman_TT_Followup_Form/edd_lmp" + }, { + "name" : "edd", + "bind" : "/model/instance/Woman_TT_Followup_Form/edd" + }, { + "name" : "lmp", + "bind" : "/model/instance/Woman_TT_Followup_Form/lmp" + }, { + "name" : "ultrasound_date", + "bind" : "/model/instance/Woman_TT_Followup_Form/ultrasound_date" + }, { + "name" : "ultrasound_weeks", + "bind" : "/model/instance/Woman_TT_Followup_Form/ultrasound_weeks" + }, { + "name" : "edd_calc_lmp", + "bind" : "/model/instance/Woman_TT_Followup_Form/edd_calc_lmp" + }, { + "name" : "edd_calc_ultrasound", + "bind" : "/model/instance/Woman_TT_Followup_Form/edd_calc_ultrasound" + }, { + "name" : "edd_calc_lmp_formatted", + "bind" : "/model/instance/Woman_TT_Followup_Form/edd_calc_lmp_formatted" + }, { + "name" : "edd_calc_ultrasound_formatted", + "bind" : "/model/instance/Woman_TT_Followup_Form/edd_calc_ultrasound_formatted" + }, { + "name" : "lmp_calc_edd", + "bind" : "/model/instance/Woman_TT_Followup_Form/lmp_calc_edd" + }, { + "name" : "lmp_calc_ultrasound", + "bind" : "/model/instance/Woman_TT_Followup_Form/lmp_calc_ultrasound" + }, { + "name" : "lmp_calc_edd_formatted", + "bind" : "/model/instance/Woman_TT_Followup_Form/lmp_calc_edd_formatted" + }, { + "name" : "lmp_calc_ultrasound_formatted", + "bind" : "/model/instance/Woman_TT_Followup_Form/lmp_calc_ultrasound_formatted" + }, { + "name" : "final_edd", + "bind" : "/model/instance/Woman_TT_Followup_Form/final_edd" + }, { + "name" : "final_lmp", + "bind" : "/model/instance/Woman_TT_Followup_Form/final_lmp" + }, { + "name" : "ga_edd", + "bind" : "/model/instance/Woman_TT_Followup_Form/ga_edd" + }, { + "name" : "ga_lmp", + "bind" : "/model/instance/Woman_TT_Followup_Form/ga_lmp" + }, { + "name" : "ga_ult", + "bind" : "/model/instance/Woman_TT_Followup_Form/ga_ult" + }, { + "name" : "final_edd_note", + "bind" : "/model/instance/Woman_TT_Followup_Form/final_edd_note" + }, { + "name" : "final_lmp_note", + "bind" : "/model/instance/Woman_TT_Followup_Form/final_lmp_note" + }, { + "name" : "final_ga", + "bind" : "/model/instance/Woman_TT_Followup_Form/final_ga" + }, { + "name" : "final_ga_note", + "bind" : "/model/instance/Woman_TT_Followup_Form/final_ga_note" + }, { + "name" : "vaccines", + "bind" : "/model/instance/Woman_TT_Followup_Form/vaccines" + }, { + "name" : "tt1_retro", + "bind" : "/model/instance/Woman_TT_Followup_Form/tt1_retro" + }, { + "name" : "tt_1_dose", + "bind" : "/model/instance/Woman_TT_Followup_Form/tt_1_dose" + }, { + "name" : "tt2_retro", + "bind" : "/model/instance/Woman_TT_Followup_Form/tt2_retro" + }, { + "name" : "tt_2_dose", + "bind" : "/model/instance/Woman_TT_Followup_Form/tt_2_dose" + }, { + "name" : "tt3_retro", + "bind" : "/model/instance/Woman_TT_Followup_Form/tt3_retro" + }, { + "name" : "tt_3_dose", + "bind" : "/model/instance/Woman_TT_Followup_Form/tt_3_dose" + }, { + "name" : "tt4_retro", + "bind" : "/model/instance/Woman_TT_Followup_Form/tt4_retro" + }, { + "name" : "tt_4_dose", + "bind" : "/model/instance/Woman_TT_Followup_Form/tt_4_dose" + }, { + "name" : "vaccines_2", + "bind" : "/model/instance/Woman_TT_Followup_Form/vaccines_2" + }, { + "name" : "vaccination_date", + "bind" : "/model/instance/Woman_TT_Followup_Form/vaccination_date" + }, { + "name" : "tt1", + "bind" : "/model/instance/Woman_TT_Followup_Form/tt1" + }, { + "name" : "tt_1_dose_today", + "bind" : "/model/instance/Woman_TT_Followup_Form/tt_1_dose_today" + }, { + "name" : "tt2", + "bind" : "/model/instance/Woman_TT_Followup_Form/tt2" + }, { + "name" : "tt_2_dose_today", + "bind" : "/model/instance/Woman_TT_Followup_Form/tt_2_dose_today" + }, { + "name" : "tt3", + "bind" : "/model/instance/Woman_TT_Followup_Form/tt3" + }, { + "name" : "tt_3_dose_today", + "bind" : "/model/instance/Woman_TT_Followup_Form/tt_3_dose_today" + }, { + "name" : "tt4", + "bind" : "/model/instance/Woman_TT_Followup_Form/tt4" + }, { + "name" : "tt_4_dose_today", + "bind" : "/model/instance/Woman_TT_Followup_Form/tt_4_dose_today" + }, { + "name" : "tt5", + "bind" : "/model/instance/Woman_TT_Followup_Form/tt5" + }, { + "name" : "tt_5_dose_today", + "bind" : "/model/instance/Woman_TT_Followup_Form/tt_5_dose_today" + }, { + "name" : "instanceID", + "bind" : "/model/instance/Woman_TT_Followup_Form/meta/instanceID" + } ] + } +} \ No newline at end of file diff --git a/opensrp-core/bin/src/test/resources/form/woman_followup/model.xml b/opensrp-core/bin/src/test/resources/form/woman_followup/model.xml new file mode 100644 index 0000000000..e914536dda --- /dev/null +++ b/opensrp-core/bin/src/test/resources/form/woman_followup/model.xml @@ -0,0 +1,1643 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + ${provider_province} + ${provider_city} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + minimal + + + + + + + + + + + + + + + + + + + + + + + + + + + + + static_instance-provinces-0 + kpk + + + static_instance-provinces-1 + sindh + + + static_instance-provinces-2 + balochistan + + + static_instance-provinces-3 + punjab + + + static_instance-provinces-4 + gilgit_baltistan + + + static_instance-provinces-5 + kashmir + + + static_instance-provinces-6 + fata + + + static_instance-provinces-7 + out_of_country + + + + + + + static_instance-ucs-0 + sindh + karachi + korangi + bilal_colony + + + static_instance-ucs-1 + sindh + karachi + korangi + nasir_colony + + + static_instance-ucs-2 + sindh + karachi + korangi + chakra_goth + + + static_instance-ucs-3 + sindh + karachi + korangi + mustafa_taj_colony + + + static_instance-ucs-4 + sindh + karachi + korangi + hundred_quarters + + + static_instance-ucs-5 + sindh + karachi + korangi + gulzar_colony + + + static_instance-ucs-6 + sindh + karachi + korangi + korangi_sector_33 + + + static_instance-ucs-7 + sindh + karachi + korangi + zaman_town + + + static_instance-ucs-8 + sindh + karachi + korangi + hasrat_mohani_colony + + + static_instance-ucs-9 + sindh + karachi + baldia + gulshan_e_ghazi + + + static_instance-ucs-10 + sindh + karachi + baldia + ittehad_town + + + static_instance-ucs-11 + sindh + karachi + baldia + islam_nagar + + + static_instance-ucs-12 + sindh + karachi + baldia + nai_abadi + + + static_instance-ucs-13 + sindh + karachi + baldia + saeedabad + + + static_instance-ucs-14 + sindh + karachi + baldia + muslim_mujahid_colony + + + static_instance-ucs-15 + sindh + karachi + baldia + muhajir_camp + + + static_instance-ucs-16 + sindh + karachi + baldia + rasheedabad + + + static_instance-ucs-17 + sindh + karachi + bin_qasim + ibrahim_hyderi + + + static_instance-ucs-18 + sindh + karachi + bin_qasim + rehri + + + static_instance-ucs-19 + sindh + karachi + bin_qasim + cattle_colony + + + static_instance-ucs-20 + sindh + karachi + bin_qasim + qaidabad + + + static_instance-ucs-21 + sindh + karachi + bin_qasim + landhi_colony + + + static_instance-ucs-22 + sindh + karachi + bin_qasim + gulshan_e_hadeed + + + static_instance-ucs-23 + sindh + karachi + bin_qasim + gaghar + + + static_instance-ucs-24 + sindh + karachi + gadap + murad_memon_goth + + + static_instance-ucs-25 + sindh + karachi + gadap + darsano_chana + + + static_instance-ucs-26 + sindh + karachi + gadap + gujro + + + static_instance-ucs-27 + sindh + karachi + gadap + songal + + + static_instance-ucs-28 + sindh + karachi + gadap + maymarabad + + + static_instance-ucs-29 + sindh + karachi + gadap + yousuf_goth + + + static_instance-ucs-30 + sindh + karachi + gadap + manghopir + + + static_instance-ucs-31 + sindh + karachi + gulberg + azizabad + + + static_instance-ucs-32 + sindh + karachi + gulberg + karimabad + + + static_instance-ucs-33 + sindh + karachi + gulberg + aisha_manzil + + + static_instance-ucs-34 + sindh + karachi + gulberg + ancholi + + + static_instance-ucs-35 + sindh + karachi + gulberg + naseerabad + + + static_instance-ucs-36 + sindh + karachi + gulberg + yaseenabad + + + static_instance-ucs-37 + sindh + karachi + gulberg + water_pump + + + static_instance-ucs-38 + sindh + karachi + gulberg + shafiq_mill_colony + + + static_instance-ucs-39 + sindh + karachi + gulshan + delhi_mercantile_society + + + static_instance-ucs-40 + sindh + karachi + gulshan + civic_centre + + + static_instance-ucs-41 + sindh + karachi + gulshan + pir_ilahi_buksh_colony + + + static_instance-ucs-42 + sindh + karachi + gulshan + essa_nagri + + + static_instance-ucs-43 + sindh + karachi + gulshan + gulshan_e_iqbal + + + static_instance-ucs-44 + sindh + karachi + gulshan + gillani_railway_station + + + static_instance-ucs-45 + sindh + karachi + gulshan + shanti_nagar + + + static_instance-ucs-46 + sindh + karachi + gulshan + jamali_colony + + + static_instance-ucs-47 + sindh + karachi + gulshan + gulshan_e_iqbal_ii + + + static_instance-ucs-48 + sindh + karachi + gulshan + pehlwan_goth + + + static_instance-ucs-49 + sindh + karachi + gulshan + matrovil_colony + + + static_instance-ucs-50 + sindh + karachi + gulshan + gulzar_e_hijri + + + static_instance-ucs-51 + sindh + karachi + gulshan + safooran_goth + + + static_instance-ucs-52 + sindh + karachi + jamshed + akhtar_colony + + + static_instance-ucs-53 + sindh + karachi + jamshed + manzoor_colony + + + static_instance-ucs-54 + sindh + karachi + jamshed + azam_basti + + + static_instance-ucs-55 + sindh + karachi + jamshed + chanesar_goth + + + static_instance-ucs-56 + sindh + karachi + jamshed + mahmudabad + + + static_instance-ucs-57 + sindh + karachi + jamshed + pechs + + + static_instance-ucs-58 + sindh + karachi + jamshed + pechs_ii + + + static_instance-ucs-59 + sindh + karachi + jamshed + jut_line + + + static_instance-ucs-60 + sindh + karachi + jamshed + central_jacob_lines + + + static_instance-ucs-61 + sindh + karachi + jamshed + jamshed_quarters + + + static_instance-ucs-62 + sindh + karachi + jamshed + garden_east + + + static_instance-ucs-63 + sindh + karachi + jamshed + soldier_bazar + + + static_instance-ucs-64 + sindh + karachi + jamshed + pakistan_quarters + + + static_instance-ucs-65 + sindh + karachi + kiamari + bhutta_village + + + static_instance-ucs-66 + sindh + karachi + kiamari + sultanabad + + + static_instance-ucs-67 + sindh + karachi + kiamari + kiamari_uc + + + static_instance-ucs-68 + sindh + karachi + kiamari + baba_bhit + + + static_instance-ucs-69 + sindh + karachi + kiamari + machar_colony + + + static_instance-ucs-70 + sindh + karachi + kiamari + maripur + + + static_instance-ucs-71 + sindh + karachi + kiamari + shershah + + + static_instance-ucs-72 + sindh + karachi + kiamari + gabo_pat + + + static_instance-ucs-73 + sindh + karachi + landhi + muzafarabad + + + static_instance-ucs-74 + sindh + karachi + landhi + muslimabad + + + static_instance-ucs-75 + sindh + karachi + landhi + dawood_chowrangi + + + static_instance-ucs-76 + sindh + karachi + landhi + moinabad + + + static_instance-ucs-77 + sindh + karachi + landhi + sharafi_goth + + + static_instance-ucs-78 + sindh + karachi + landhi + bhutto_nagar + + + static_instance-ucs-79 + sindh + karachi + landhi + khawaja_ajmeer_colony + + + static_instance-ucs-80 + sindh + karachi + landhi + landhi_uc + + + static_instance-ucs-81 + sindh + karachi + landhi + awami_colony + + + static_instance-ucs-82 + sindh + karachi + landhi + burmee_colony + + + static_instance-ucs-83 + sindh + karachi + landhi + korangi_uc + + + static_instance-ucs-84 + sindh + karachi + landhi + sherabad + + + static_instance-ucs-85 + sindh + karachi + liaquatabad + rizvia_society + + + static_instance-ucs-86 + sindh + karachi + liaquatabad + firdous_colony + + + static_instance-ucs-87 + sindh + karachi + liaquatabad + super_market + + + static_instance-ucs-88 + sindh + karachi + liaquatabad + dak_khana + + + static_instance-ucs-89 + sindh + karachi + liaquatabad + qasimabad + + + static_instance-ucs-90 + sindh + karachi + liaquatabad + bandhani_colony + + + static_instance-ucs-91 + sindh + karachi + liaquatabad + sharifabad + + + static_instance-ucs-92 + sindh + karachi + liaquatabad + commercial_area + + + static_instance-ucs-93 + sindh + karachi + liaquatabad + mujahid_colony + + + static_instance-ucs-94 + sindh + karachi + liaquatabad + nazimabad + + + static_instance-ucs-95 + sindh + karachi + liaquatabad + abbasi_shaheed + + + static_instance-ucs-96 + sindh + karachi + lyari + agra_taj_colony + + + static_instance-ucs-97 + sindh + karachi + lyari + daryaabad + + + static_instance-ucs-98 + sindh + karachi + lyari + nawabad + + + static_instance-ucs-99 + sindh + karachi + lyari + khada_memon_society + + + static_instance-ucs-100 + sindh + karachi + lyari + baghdadi + + + static_instance-ucs-101 + sindh + karachi + lyari + shah_baig_line + + + static_instance-ucs-102 + sindh + karachi + lyari + bihar_colony + + + static_instance-ucs-103 + sindh + karachi + lyari + ragiwara + + + static_instance-ucs-104 + sindh + karachi + lyari + singo_line + + + static_instance-ucs-105 + sindh + karachi + lyari + chakiwara + + + static_instance-ucs-106 + sindh + karachi + lyari + allama_iqbal_colony + + + static_instance-ucs-107 + sindh + karachi + malir + model_colony + + + static_instance-ucs-108 + sindh + karachi + malir + kala_board + + + static_instance-ucs-109 + sindh + karachi + malir + saudabad + + + static_instance-ucs-110 + sindh + karachi + malir + khokhra_par + + + static_instance-ucs-111 + sindh + karachi + malir + jafar_e_tayyar + + + static_instance-ucs-112 + sindh + karachi + malir + gharibabad + + + static_instance-ucs-113 + sindh + karachi + malir + ghazi_brohi_goth + + + static_instance-ucs-114 + sindh + karachi + new_karachi + kalyana + + + static_instance-ucs-115 + sindh + karachi + new_karachi + sir_syed_colony + + + static_instance-ucs-116 + sindh + karachi + new_karachi + fatima_jinnah_colony + + + static_instance-ucs-117 + sindh + karachi + new_karachi + godhra + + + static_instance-ucs-118 + sindh + karachi + new_karachi + abu_zar_ghaffari + + + static_instance-ucs-119 + sindh + karachi + new_karachi + hakim_ahsan + + + static_instance-ucs-120 + sindh + karachi + new_karachi + madina_colony + + + static_instance-ucs-121 + sindh + karachi + new_karachi + faisal_colony + + + static_instance-ucs-122 + sindh + karachi + new_karachi + khamiso_goth + + + static_instance-ucs-123 + sindh + karachi + new_karachi + mustufa_colony + + + static_instance-ucs-124 + sindh + karachi + new_karachi + khawaja_ajmeer_nagri + + + static_instance-ucs-125 + sindh + karachi + new_karachi + gulshan_e_saeed + + + static_instance-ucs-126 + sindh + karachi + new_karachi + shah_nawaz_bhutto_colony + + + static_instance-ucs-127 + sindh + karachi + north_nazimabad + paposh_nagar + + + static_instance-ucs-128 + sindh + karachi + north_nazimabad + pahar_ganj + + + static_instance-ucs-129 + sindh + karachi + north_nazimabad + khandu_goth + + + static_instance-ucs-130 + sindh + karachi + north_nazimabad + hyderi + + + static_instance-ucs-131 + sindh + karachi + north_nazimabad + sakhi_hassan + + + static_instance-ucs-132 + sindh + karachi + north_nazimabad + farooq_e_azam + + + static_instance-ucs-133 + sindh + karachi + north_nazimabad + nusrat_bhutto_colony + + + static_instance-ucs-134 + sindh + karachi + north_nazimabad + shadman_town + + + static_instance-ucs-135 + sindh + karachi + north_nazimabad + buffer_zone + + + static_instance-ucs-136 + sindh + karachi + north_nazimabad + buffer_zone_ii + + + static_instance-ucs-137 + sindh + karachi + orangi + mominabad + + + static_instance-ucs-138 + sindh + karachi + orangi + haryana_colony + + + static_instance-ucs-139 + sindh + karachi + orangi + hanifabad + + + static_instance-ucs-140 + sindh + karachi + orangi + mohammad_nagar + + + static_instance-ucs-141 + sindh + karachi + orangi + madina_colony_orangi + + + static_instance-ucs-142 + sindh + karachi + orangi + ghaziabad + + + static_instance-ucs-143 + sindh + karachi + orangi + chisti_nagar + + + static_instance-ucs-144 + sindh + karachi + orangi + bilal_colony_orangi + + + static_instance-ucs-145 + sindh + karachi + orangi + iqbal_baloch_colony + + + static_instance-ucs-146 + sindh + karachi + orangi + ghabool_town + + + static_instance-ucs-147 + sindh + karachi + orangi + data_nagar + + + static_instance-ucs-148 + sindh + karachi + orangi + mujahidabad + + + static_instance-ucs-149 + sindh + karachi + orangi + baloch_goth + + + static_instance-ucs-150 + sindh + karachi + saddar + old_haji_camp + + + static_instance-ucs-151 + sindh + karachi + saddar + garden + + + static_instance-ucs-152 + sindh + karachi + saddar + kharadar + + + static_instance-ucs-153 + sindh + karachi + saddar + city_railway_colony + + + static_instance-ucs-154 + sindh + karachi + saddar + nanak_wara + + + static_instance-ucs-155 + sindh + karachi + saddar + gazdarabad + + + static_instance-ucs-156 + sindh + karachi + saddar + millat_nagar_islam_pura + + + static_instance-ucs-157 + sindh + karachi + saddar + saddar_uc + + + static_instance-ucs-158 + sindh + karachi + saddar + civil_line + + + static_instance-ucs-159 + sindh + karachi + saddar + clifton + + + static_instance-ucs-160 + sindh + karachi + saddar + kehkashan + + + static_instance-ucs-161 + sindh + karachi + shah_faisal + natha_khan_goth + + + static_instance-ucs-162 + sindh + karachi + shah_faisal + pak_sadat_colony + + + static_instance-ucs-163 + sindh + karachi + shah_faisal + drigh_colony + + + static_instance-ucs-164 + sindh + karachi + shah_faisal + raita_plot + + + static_instance-ucs-165 + sindh + karachi + shah_faisal + moria_khan_goth + + + static_instance-ucs-166 + sindh + karachi + shah_faisal + rafa_e_aam_society + + + static_instance-ucs-167 + sindh + karachi + shah_faisal + al_falah_society + + + static_instance-ucs-168 + sindh + karachi + site + pak_colony + + + static_instance-ucs-169 + sindh + karachi + site + old_golimar + + + static_instance-ucs-170 + sindh + karachi + site + jahanabad + + + static_instance-ucs-171 + sindh + karachi + site + metrovil + + + static_instance-ucs-172 + sindh + karachi + site + bhawani_chali + + + static_instance-ucs-173 + sindh + karachi + site + frontier_colony + + + static_instance-ucs-174 + sindh + karachi + site + banaras_colony + + + static_instance-ucs-175 + sindh + karachi + site + qasba_colony + + + static_instance-ucs-176 + sindh + karachi + site + islamia_colony + + + static_instance-ucs-177 + na + na + na + other + + + static_instance-ucs-178 + na + na + na + not_applicable + + + + + + + static_instance-gender-0 + male + + + static_instance-gender-1 + female + + + static_instance-gender-2 + transgender + + + + + + + static_instance-vaccines-0 + TT1 + + + static_instance-vaccines-1 + TT2 + + + static_instance-vaccines-2 + TT3 + + + static_instance-vaccines-3 + TT4 + + + static_instance-vaccines-4 + TT5 + + + + + + + static_instance-towns-0 + sindh + karachi + korangi + + + static_instance-towns-1 + sindh + karachi + landhi + + + static_instance-towns-2 + sindh + karachi + baldia + + + static_instance-towns-3 + sindh + karachi + bin_qasim + + + static_instance-towns-4 + sindh + karachi + gadap + + + static_instance-towns-5 + sindh + karachi + gulberg + + + static_instance-towns-6 + sindh + karachi + gulshan + + + static_instance-towns-7 + sindh + karachi + jamshed + + + static_instance-towns-8 + sindh + karachi + kiamari + + + static_instance-towns-9 + sindh + karachi + liaquatabad + + + static_instance-towns-10 + sindh + karachi + lyari + + + static_instance-towns-11 + sindh + karachi + malir + + + static_instance-towns-12 + sindh + karachi + new_karachi + + + static_instance-towns-13 + sindh + karachi + north_nazimabad + + + static_instance-towns-14 + sindh + karachi + orangi + + + static_instance-towns-15 + sindh + karachi + saddar + + + static_instance-towns-16 + sindh + karachi + shah_faisal + + + static_instance-towns-17 + sindh + karachi + site + + + static_instance-towns-18 + na + na + other + + + static_instance-towns-19 + na + na + not_applicable + + + + + + + static_instance-cities-0 + sindh + karachi + + + static_instance-cities-1 + punjab + hafizabad + + + static_instance-cities-2 + punjab + muzaffargarh + + + static_instance-cities-3 + na + other + + + static_instance-cities-4 + na + not_applicable + + + + + + + static_instance-edd_lmp-0 + edd + + + static_instance-edd_lmp-1 + lmp + + + static_instance-edd_lmp-2 + ultrasound + + + static_instance-edd_lmp-3 + none + + + + + + + static_instance-yes_no-0 + yes + + + static_instance-yes_no-1 + no + + + + diff --git a/opensrp-core/bin/src/test/resources/report-definition.json b/opensrp-core/bin/src/test/resources/report-definition.json new file mode 100644 index 0000000000..adb4932b8a --- /dev/null +++ b/opensrp-core/bin/src/test/resources/report-definition.json @@ -0,0 +1,29 @@ +{ + "formIndicators": [ + { + "form": "child_close", + "indicators": [ + { + "indicator": "INFANT_LEFT", + "formFields": [ + "id", + "closeReason", + "submissionDate" + ], + "referenceData": { + "type": "child", + "idField": "id", + "fields": [ + "dateOfBirth" + ] + }, + "reportWhen": [ + "IsChildLessThanOneYearOldRule", + "RelocationIsPermanentRule" + ], + "bindType": "child" + } + ] + } + ] +} diff --git a/opensrp-core/bin/src/test/resources/report-fields-definition.json b/opensrp-core/bin/src/test/resources/report-fields-definition.json new file mode 100644 index 0000000000..1de01ae204 --- /dev/null +++ b/opensrp-core/bin/src/test/resources/report-fields-definition.json @@ -0,0 +1,10 @@ +{ + "form1": [ + "field1", + "field2" + ], + "form2": [ + "field3", + "field4" + ] +} diff --git a/opensrp-core/bin/src/test/resources/sampleXLS/emptyXLS.xls b/opensrp-core/bin/src/test/resources/sampleXLS/emptyXLS.xls new file mode 100644 index 0000000000000000000000000000000000000000..a0c2798b795da087e602e1fdaa77d41a4f9f8c6d GIT binary patch literal 5632 zcmeHLO=w(I6h3c$k~c}3Owy#**2dS^PLpOL)(S?XX4!bbjA8?{WE?uj(dUJ{m)p>{a*o80#(2opc<$Fa0Ey#PzS69>VXDe z9dHM*9=H?O08r*#>73=eQMQ21KodaTmUOK3X<1y?1qCGl?s6pRM!bx|bWXL4A)$)OIKi71ZdLJ4^#A-*z8_5se zh|c|trcIhwBQ@kR?eo2IcEB&cMEle$XE8omeq%S{-+)9VE;+Smuu`>+zABmK`TCeW zWRFJUbGmP)<&TsFDH%#yDCpMISj_!#dHO_RW^1?rNbcp1+Mp|oG=jd z&7=`Q8j;4U4D$&4Cc?joux|c|$R9HsB)0GtaKk>DiHB!}8&iTe#gr-tK8y)*7uM<| zf)I86-K!T5^mcVTr~Jg?>q53tJDBAO)Xey{YmZh~|(q0UfK&%mHPW<6oQ zXmt+{Mu)=PcK@+>bhIh7_pqF)6tSuo{}ak?J&UKgoKT-k?Ehw4S5POKBrmv0Vg9Jp9_SQYCn1%pB0aI>f}>>Pe!!Okfv{;x)M6s#Bp6A=@l6L zaJT*}Cxh?sIAk}vnUaBZ@94fl;(`;N!#xb@J3Z9UOm zJ07?7sM|Bp*XJG^Zl97<%+(cIa!Y9H0SD0o*lb0V;eFpuXP$c({K8P@PGD_qq!J6*&v=e)ki=JDvkj#&v+> zU%4UDh@3J>D_Q3F4*(HB-d=x%S%gWNBAEhmmXm#D-v)oXn3)Q!pI?6**K_HsOOy9* z44!)f`U_use=m6c9Nr=D7#cYs5d_$mYc9k`^=(5d`TkS=iWch&ibH71Mp84drt^lucTwSfaqV zv_D;MKyF;@C0Z|CRRQ^~WH(*9wOhLh8Q*FozdR|&u>L{ZdinO>kADIB)F$MN<2F1D zPGM?J%V)ePcKwVW?dcutm%We>(>d7s4@7D6Y5xc7zX$Ti3oohUno{+j{r)alSe_35 GM*d$MpeBC+ literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/test/resources/sampleXLS/invalidXLS.xls b/opensrp-core/bin/src/test/resources/sampleXLS/invalidXLS.xls new file mode 100644 index 0000000000000000000000000000000000000000..054321618001eb8ca730908fea72d43b4522ef43 GIT binary patch literal 5632 zcmeHLO=w(I6h7}|CVBa3GD(xFt&OkIOwuM1YY`(-Gi_RJ7d0V96e;Lr@+O^jk_j_Y ztcW^I8+2iz(uJFV2C}FK{-EeW!DQ#6q7(|zg{0!9=;GBMq>^O(zWd&g$(SKCbrdQ& z!*_qq{W9^{V91!%`;8=}IZj;%g`ynYvFzN143kbUK}3qqsr0 zkOr3AwbF(j7|{#R<`n>Wm2Q3uZE0hvMQC6^V)!M+l!G#cJT5Q5;)T-|cucmqLPloC zi$eOZ*JnfiiU!ux72C7*&-l$aUIyfzf5v*A|0TNzR??uhRpwp_Nz4nHTvc(oOCZrnoNOPEAK1r=PKQ+ybqlMVs<0r zi{$&VfLi-GmA0s~7O5tmsxjXw&TjbSm*}5<<-B_cyxKm*zla1SDmks_SE|-#PmRp* zetpauv*N+%f;u-d@_X8Zlnl+9uw1s!K9C28iqRGG@_Q{^geNO@GgIaQ(Z#*{bxobugCMBGUX zWMobRN5`Yq)6vB1IG!4QbD9B&44%{ECwYcJ+8$6lDz_Pod5Y-@bgOLak!qVk{0ltq z4LPkL=o_>CLG2Ew}W2O|HXv~e;8JQ>50cp`~sW5No>#)iR29*e|> zai@fb6KRMvBxE!J7~vA{36jps#R)>bRY9l*!-lZ~9@~1gY9FRqeCPV*BSZZ?&nkWj zoD8*6o!HiCw9I*SsSzD2olt!nalPyi@%Q>$1|y?Z!hGC%-W-UH2FE%FtdWz^V7$e@ z`+onvCfO;tfY#~P9~`kvfBzXJ;H*mhSj-+p*LvEr%Izqh>6)MDnzws)W|gO<1zQ^i z_?wVUty9a4&*YjsiMgxfC3W|TOnZ3mimG$e@rsqYj-EB%l{&Pqy;kkiMdzLE7~i?; z4V`9Xxs{%PzI8$#D|!}hN!|X=eJ|qFG?<0`oSLqTmVWlK z51}1qv}raa7B)kF`#v?!W49}QrR}T@l`MiD)HwPazfvC28{`vysvz`}##H(?nyazq z?VMM`Rw#%+T_1t>j;uHg+BDv(97ZR+InwZ=DZ_BiV&VOx5gl|U5B$cwv`5yoRfE@bsMP>meE(J0LSt@ zu>RWm(4m@ zYb}(%GD`;lJ%z8&xSWt7^&NV`VHS}#KwH!o{VsEw3mIOeUc1zJFC>q`m;11Wxp zA4VJvE1Qs$#A`U_MpmbPZrbk3=Xo!5|0eo&yC=vi2OuG&)?lfBAc|X0_f71-74nln Rsi;`}XMcZ}Vh#U9{$H#$EoJ}! literal 0 HcmV?d00001 diff --git a/opensrp-core/bin/src/test/resources/sampleXLS/validXLS.xls b/opensrp-core/bin/src/test/resources/sampleXLS/validXLS.xls new file mode 100644 index 0000000000000000000000000000000000000000..3fe68201c4586487591aa7d2c1f11c587453bd80 GIT binary patch literal 5632 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/opensrp-core/bin/src/test/resources/test-persistence-postgres.xml b/opensrp-core/bin/src/test/resources/test-persistence-postgres.xml new file mode 100644 index 0000000000..52da328195 --- /dev/null +++ b/opensrp-core/bin/src/test/resources/test-persistence-postgres.xml @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/opensrp-core/bin/src/test/resources/test-scripts/action.sql b/opensrp-core/bin/src/test/resources/test-scripts/action.sql new file mode 100644 index 0000000000..37c52cf614 --- /dev/null +++ b/opensrp-core/bin/src/test/resources/test-scripts/action.sql @@ -0,0 +1,78 @@ +--clear data +TRUNCATE TABLE core.action CASCADE; + +ALTER SEQUENCE core.action_id_seq RESTART WITH 35; + +ALTER SEQUENCE core.action_metadata_id_seq RESTART WITH 35; + +INSERT INTO core.action (id, json) VALUES +(1, '{"_id": "05934ae338431f28bf6793b241642462", "data": {"visitCode": "OPV 0", "completionDate": "2017-02-13"}, "type": "Action", "details": {}, "version": 0, "_rev": "1-2879a3a80caa0ab8c599b766496b8234", "timeStamp": 1520932697689, "actionType": "closeAlert", "providerId": "biddemo", "actionTarget": "alert", "baseEntityId": "67007c17-97bb-4732-a1b8-3a0c292b5432", "isActionActive": true}'), +(2, '{"_id": "05934ae338431f28bf6793b2416433c9", "data": {"visitCode": "BCG", "completionDate": "2017-02-13"}, "type": "Action", "details": {}, "version": 0, "_rev": "1-6136b587025c608f3d4f41731eefb157", "timeStamp": 1520932698005, "actionType": "closeAlert", "providerId": "biddemo", "actionTarget": "alert", "baseEntityId": "67007c17-97bb-4732-a1b8-3a0c292b5432", "isActionActive": true}'), +(3, '{"_id": "05934ae338431f28bf6793b241643a7e", "data": {"visitCode": "PENTA 1", "completionDate": "2017-03-27"}, "type": "Action", "details": {}, "version": 0, "_rev": "1-2f64b198e90652c816a01b59b15d10c9", "timeStamp": 1520932698821, "actionType": "closeAlert", "providerId": "biddemo", "actionTarget": "alert", "baseEntityId": "67007c17-97bb-4732-a1b8-3a0c292b5432", "isActionActive": true}'), +(4, '{"_id": "05934ae338431f28bf6793b241644dd7", "data": {"visitCode": "OPV 1", "completionDate": "2017-03-27"}, "type": "Action", "details": {}, "version": 0, "_rev": "1-6fda14ca820ed569269b81cc28832619", "timeStamp": 1520932699621, "actionType": "closeAlert", "providerId": "biddemo", "actionTarget": "alert", "baseEntityId": "67007c17-97bb-4732-a1b8-3a0c292b5432", "isActionActive": true}'), +(5, '{"_id": "05934ae338431f28bf6793b241645535", "data": {"visitCode": "ROTA 1", "completionDate": "2017-03-27"}, "type": "Action", "details": {}, "version": 0, "_rev": "1-f00737fd2a6354d243c161c161a886fd", "timeStamp": 1520932700149, "actionType": "closeAlert", "providerId": "biddemo", "actionTarget": "alert", "baseEntityId": "67007c17-97bb-4732-a1b8-3a0c292b5432", "isActionActive": true}'), +(6, '{"_id": "05934ae338431f28bf6793b241645f1f", "data": {"visitCode": "PCV 1", "completionDate": "2017-03-27"}, "type": "Action", "details": {}, "version": 0, "_rev": "1-c66dfedbaf6582dc04c209c467f8a057", "timeStamp": 1520932700973, "actionType": "closeAlert", "providerId": "biddemo", "actionTarget": "alert", "baseEntityId": "67007c17-97bb-4732-a1b8-3a0c292b5432", "isActionActive": true}'), +(7, '{"_id": "05934ae338431f28bf6793b2416473e0", "data": {"visitCode": "PENTA 2", "completionDate": "2017-04-24"}, "type": "Action", "details": {}, "version": 0, "_rev": "1-02c3a00f308e4ce385ce558cf0d944d8", "timeStamp": 1520932701845, "actionType": "closeAlert", "providerId": "biddemo", "actionTarget": "alert", "baseEntityId": "67007c17-97bb-4732-a1b8-3a0c292b5432", "isActionActive": true}'), +(8, '{"_id": "05934ae338431f28bf6793b2416481aa", "data": {"visitCode": "OPV 2", "completionDate": "2017-04-24"}, "type": "Action", "details": {}, "version": 0, "_rev": "1-8c95d366cfe85f1b2dbfb3ca8c80fa60", "timeStamp": 1520932702653, "actionType": "closeAlert", "providerId": "biddemo", "actionTarget": "alert", "baseEntityId": "67007c17-97bb-4732-a1b8-3a0c292b5432", "isActionActive": true}'), +(9, '{"_id": "05934ae338431f28bf6793b241648e9d", "data": {"visitCode": "ROTA 2", "completionDate": "2017-04-24"}, "type": "Action", "details": {}, "version": 0, "_rev": "1-9ad54ee7aea405a883c41203f42b7102", "timeStamp": 1520932703185, "actionType": "closeAlert", "providerId": "biddemo", "actionTarget": "alert", "baseEntityId": "67007c17-97bb-4732-a1b8-3a0c292b5432", "isActionActive": true}'), +(10, '{"_id": "05934ae338431f28bf6793b241649473", "data": {"visitCode": "PCV 2", "completionDate": "2017-04-24"}, "type": "Action", "details": {}, "version": 0, "_rev": "1-660bbaae08f13bd1901bf0916c85d7f1", "timeStamp": 1520932703825, "actionType": "closeAlert", "providerId": "biddemo", "actionTarget": "alert", "baseEntityId": "67007c17-97bb-4732-a1b8-3a0c292b5432", "isActionActive": true}'), +(11, '{"_id": "05934ae338431f28bf6793b24164a5d7", "data": {"visitCode": "PENTA 3", "completionDate": "2017-05-22"}, "type": "Action", "details": {}, "version": 0, "_rev": "1-6a87e5caa57732fd5c3fef5dc5a4ba71", "timeStamp": 1520932704673, "actionType": "closeAlert", "providerId": "biddemo", "actionTarget": "alert", "baseEntityId": "67007c17-97bb-4732-a1b8-3a0c292b5432", "isActionActive": true}'), +(12, '{"_id": "05934ae338431f28bf6793b24164b4ce", "data": {"visitCode": "OPV 3", "completionDate": "2017-05-22"}, "type": "Action", "details": {}, "version": 0, "_rev": "1-9a13ae05df3839ea97d54d42150cf294", "timeStamp": 1520932705277, "actionType": "closeAlert", "providerId": "biddemo", "actionTarget": "alert", "baseEntityId": "67007c17-97bb-4732-a1b8-3a0c292b5432", "isActionActive": true}'), +(13, '{"_id": "05934ae338431f28bf6793b24164c069", "data": {"visitCode": "PCV 3", "completionDate": "2017-05-22"}, "type": "Action", "details": {}, "version": 0, "_rev": "1-2cab2feb95c70dcaabecb6f9eed6ddf2", "timeStamp": 1520932705889, "actionType": "closeAlert", "providerId": "biddemo", "actionTarget": "alert", "baseEntityId": "67007c17-97bb-4732-a1b8-3a0c292b5432", "isActionActive": true}'), +(14, '{"_id": "05934ae338431f28bf6793b241651160", "data": {"visitCode": "MEASLES 1", "completionDate": "2017-11-14"}, "type": "Action", "details": {}, "version": 0, "_rev": "1-8a96e017d3f3772d1fceeda32360af03", "timeStamp": 1520933247737, "actionType": "closeAlert", "providerId": "biddemo", "actionTarget": "alert", "baseEntityId": "67007c17-97bb-4732-a1b8-3a0c292b5432", "isActionActive": true}'), +(15, '{"_id": "05934ae338431f28bf6793b241663fcd", "data": {"visitCode": "BCG", "completionDate": "2016-04-13"}, "type": "Action", "details": {}, "version": 0, "_rev": "1-14792d0f46a0883ad712b1579229e327", "timeStamp": 1520933431893, "actionType": "closeAlert", "providerId": "biddemo", "actionTarget": "alert", "baseEntityId": "86c039a2-0b68-4166-849e-f49897e3a510", "isActionActive": true}'), +(16, '{"_id": "05934ae338431f28bf6793b2417bfe8f", "data": {"startDate": "2018-02-22", "visitCode": "penta1", "expiryDate": "2022-11-01", "alertStatus": "urgent", "scheduleName": "PENTA 1", "beneficiaryType": "child"}, "type": "Action", "details": {}, "version": 0, "_rev": "1-6356c0c4202703c768764a3475d7ce3b", "timeStamp": 1520978413525, "actionType": "createAlert", "providerId": "biddemo", "actionTarget": "alert", "baseEntityId": "469597f0-eefe-4171-afef-f7234cbb2859", "isActionActive": true}'), +(17, '{"_id": "05934ae338431f28bf6793b2417bf883", "data": {"startDate": "2018-02-22", "visitCode": "pcv1", "expiryDate": "2022-11-01", "alertStatus": "urgent", "scheduleName": "PCV 1", "beneficiaryType": "child"}, "type": "Action", "details": {}, "version": 0, "_rev": "1-076a5315cb585348af4335f3392f3f3d", "timeStamp": 1520978413537, "actionType": "createAlert", "providerId": "biddemo", "actionTarget": "alert", "baseEntityId": "469597f0-eefe-4171-afef-f7234cbb2859", "isActionActive": true}'), +(18, '{"_id": "05934ae338431f28bf6793b2417bf3c3", "data": {"startDate": "2018-02-22", "visitCode": "rota1", "expiryDate": "2018-08-01", "alertStatus": "urgent", "scheduleName": "ROTA 1", "beneficiaryType": "child"}, "type": "Action", "details": {}, "version": 0, "_rev": "1-5d69b3061e54074f4e280ed3b0b06181", "timeStamp": 1520978413541, "actionType": "createAlert", "providerId": "biddemo", "actionTarget": "alert", "baseEntityId": "469597f0-eefe-4171-afef-f7234cbb2859", "isActionActive": true}'), +(19, '{"_id": "05934ae338431f28bf6793b2417c671b", "data": {"startDate": "2018-02-22", "visitCode": "rota1", "expiryDate": "2018-08-01", "alertStatus": "urgent", "scheduleName": "ROTA 1", "beneficiaryType": "child"}, "type": "Action", "details": {}, "version": 0, "_rev": "1-35d72bbd1769bd66675997ac9e79164e", "timeStamp": 1520978413737, "actionType": "createAlert", "providerId": "biddemo", "actionTarget": "alert", "baseEntityId": "aabcd2cc-c111-41c6-85e6-cb5d9e350d08", "isActionActive": true}'), +(20, '{"_id": "05934ae338431f28bf6793b2417c4bae", "data": {"startDate": "2018-01-11", "visitCode": "bcg", "expiryDate": "2019-01-01", "alertStatus": "urgent", "scheduleName": "BCG", "beneficiaryType": "child"}, "type": "Action", "details": {}, "version": 0, "_rev": "1-232d50fcd2a7a7801633b5a0546cb753", "timeStamp": 1520978413764, "actionType": "createAlert", "providerId": "biddemo", "actionTarget": "alert", "baseEntityId": "469597f0-eefe-4171-afef-f7234cbb2859", "isActionActive": true}'), +(21, '{"_id": "05934ae338431f28bf6793b2417c4d6c", "data": {"startDate": "2018-02-22", "visitCode": "pcv1", "expiryDate": "2022-11-01", "alertStatus": "urgent", "scheduleName": "PCV 1", "beneficiaryType": "child"}, "type": "Action", "details": {}, "version": 0, "_rev": "1-2871da12dbce3cb16e0746f30cbc26fa", "timeStamp": 1520978413764, "actionType": "createAlert", "providerId": "biddemo", "actionTarget": "alert", "baseEntityId": "aabcd2cc-c111-41c6-85e6-cb5d9e350d08", "isActionActive": true}'), +(22, '{"_id": "05934ae338431f28bf6793b2417c5aae", "data": {"startDate": "2018-02-22", "visitCode": "opv1", "expiryDate": "2022-11-01", "alertStatus": "urgent", "scheduleName": "OPV 1", "beneficiaryType": "child"}, "type": "Action", "details": {}, "version": 0, "_rev": "1-9c72f8f01fd21ae36e84a2def4db8732", "timeStamp": 1520978413765, "actionType": "createAlert", "providerId": "biddemo", "actionTarget": "alert", "baseEntityId": "469597f0-eefe-4171-afef-f7234cbb2859", "isActionActive": true}'), +(23, '{"_id": "05934ae338431f28bf6793b2417c705e", "data": {"startDate": "2018-02-22", "visitCode": "opv1", "expiryDate": "2022-11-01", "alertStatus": "urgent", "scheduleName": "OPV 1", "beneficiaryType": "child"}, "type": "Action", "details": {}, "version": 0, "_rev": "1-f72851fdbaac0f4f091054bbf60b8ed3", "timeStamp": 1520978413880, "actionType": "createAlert", "providerId": "biddemo", "actionTarget": "alert", "baseEntityId": "aabcd2cc-c111-41c6-85e6-cb5d9e350d08", "isActionActive": true}'), +(24, '{"_id": "05934ae338431f28bf6793b2417c98f9", "data": {"startDate": "2018-02-22", "visitCode": "penta1", "expiryDate": "2022-11-01", "alertStatus": "urgent", "scheduleName": "PENTA 1", "beneficiaryType": "child"}, "type": "Action", "details": {}, "version": 0, "_rev": "1-fc9c73741eee67f6b71c84333ad6eb25", "timeStamp": 1520978413884, "actionType": "createAlert", "providerId": "biddemo", "actionTarget": "alert", "baseEntityId": "aabcd2cc-c111-41c6-85e6-cb5d9e350d08", "isActionActive": true}'), +(25, '{"_id": "05934ae338431f28bf6793b2417c7d94", "data": {"startDate": "2018-01-11", "visitCode": "bcg", "expiryDate": "2019-01-01", "alertStatus": "urgent", "scheduleName": "BCG", "beneficiaryType": "child"}, "type": "Action", "details": {}, "version": 0, "_rev": "1-ea88434f62397611c8e794eedbca74e4", "timeStamp": 1520978413894, "actionType": "createAlert", "providerId": "biddemo", "actionTarget": "alert", "baseEntityId": "aabcd2cc-c111-41c6-85e6-cb5d9e350d08", "isActionActive": true}'), +(26, '{"_id": "05934ae338431f28bf6793b2417ca6cd", "data": {"startDate": "2018-02-22", "visitCode": "pcv1", "expiryDate": "2022-11-01", "alertStatus": "urgent", "scheduleName": "PCV 1", "beneficiaryType": "child"}, "type": "Action", "details": {}, "version": 0, "_rev": "1-6db5f0e05e5e69aa5f33429f6cdc75a7", "timeStamp": 1520978413945, "actionType": "createAlert", "providerId": "biddemo", "actionTarget": "alert", "baseEntityId": "4a2a4ad9-cd29-47cb-bdb9-5b617a73b898", "isActionActive": true}'), +(27, '{"_id": "05934ae338431f28bf6793b2417d0103", "data": {"startDate": "2018-02-22", "visitCode": "rota1", "expiryDate": "2018-08-01", "alertStatus": "urgent", "scheduleName": "ROTA 1", "beneficiaryType": "child"}, "type": "Action", "details": {}, "version": 0, "_rev": "1-a28be37e4572a5e77a92461c76d0885e", "timeStamp": 1520978414164, "actionType": "createAlert", "providerId": "biddemo", "actionTarget": "alert", "baseEntityId": "4a2a4ad9-cd29-47cb-bdb9-5b617a73b898", "isActionActive": true}'), +(28, '{"_id": "05934ae338431f28bf6793b2417d1390", "data": {"startDate": "2018-02-22", "visitCode": "opv1", "expiryDate": "2022-11-01", "alertStatus": "urgent", "scheduleName": "OPV 1", "beneficiaryType": "child"}, "type": "Action", "details": {}, "version": 0, "_rev": "1-8da27b44f49e08574f5b8a7ad746a88c", "timeStamp": 1520978414184, "actionType": "createAlert", "providerId": "biddemo", "actionTarget": "alert", "baseEntityId": "4a2a4ad9-cd29-47cb-bdb9-5b617a73b898", "isActionActive": true}'), +(29, '{"_id": "05934ae338431f28bf6793b2417d0b1c", "data": {"startDate": "2018-02-22", "visitCode": "penta1", "expiryDate": "2022-11-01", "alertStatus": "urgent", "scheduleName": "PENTA 1", "beneficiaryType": "child"}, "type": "Action", "details": {}, "version": 0, "_rev": "1-87165e743ef46e7bfbdfea5d9e81d049", "timeStamp": 1520978414186, "actionType": "createAlert", "providerId": "biddemo", "actionTarget": "alert", "baseEntityId": "4a2a4ad9-cd29-47cb-bdb9-5b617a73b898", "isActionActive": true}'), +(30, '{"_id": "05934ae338431f28bf6793b2417d2ec2", "data": {"startDate": "2018-02-22", "visitCode": "penta1", "expiryDate": "2022-11-01", "alertStatus": "urgent", "scheduleName": "PENTA 1", "beneficiaryType": "child"}, "type": "Action", "details": {}, "version": 0, "_rev": "1-8506e63790993901b69708e013df5a8e", "timeStamp": 1520978414292, "actionType": "createAlert", "providerId": "biddemo", "actionTarget": "alert", "baseEntityId": "b06e0847-0d68-4f5c-9288-58bc394fe052", "isActionActive": true}'), +(31, '{"_id": "05934ae338431f28bf6793b2417d3aa0", "data": {"startDate": "2018-02-22", "visitCode": "rota1", "expiryDate": "2018-08-01", "alertStatus": "urgent", "scheduleName": "ROTA 1", "beneficiaryType": "child"}, "type": "Action", "details": {}, "version": 0, "_rev": "1-636eec945c3c237fd8e90fe854dce081", "timeStamp": 1520978414313, "actionType": "createAlert", "providerId": "biddemo", "actionTarget": "alert", "baseEntityId": "b06e0847-0d68-4f5c-9288-58bc394fe052", "isActionActive": true}'), +(32, '{"_id": "05934ae338431f28bf6793b2417db6ca", "data": {"startDate": "2018-01-11", "visitCode": "bcg", "expiryDate": "2019-01-01", "alertStatus": "urgent", "scheduleName": "BCG", "beneficiaryType": "child"}, "type": "Action", "details": {}, "version": 0, "_rev": "1-a8177920ff1fbef63a63f03851a343ee", "timeStamp": 1520978414508, "actionType": "createAlert", "providerId": "biddemo", "actionTarget": "alert", "baseEntityId": "b06e0847-0d68-4f5c-9288-58bc394fe052", "isActionActive": true}'), +(33, '{"_id": "05934ae338431f28bf6793b2417dba2d", "data": {"startDate": "2018-02-22", "visitCode": "opv1", "expiryDate": "2022-11-01", "alertStatus": "urgent", "scheduleName": "OPV 1", "beneficiaryType": "child"}, "type": "Action", "details": {}, "version": 0, "_rev": "1-51466c72f83907a175263b5750fe9b6c", "timeStamp": 1520978414513, "actionType": "createAlert", "providerId": "biddemo", "actionTarget": "alert", "baseEntityId": "b06e0847-0d68-4f5c-9288-58bc394fe052", "isActionActive": true}'), +(34, '{"_id": "05934ae338431f28bf6793b2417da475", "data": {"startDate": "2018-02-22", "visitCode": "pcv1", "expiryDate": "2022-11-01", "alertStatus": "urgent", "scheduleName": "PCV 1", "beneficiaryType": "child"}, "type": "Action", "details": {}, "version": 0, "_rev": "1-f18f7d27909a2cc3e3e27c5b4c116075", "timeStamp": 1520978414514, "actionType": "createAlert", "providerId": "biddemo", "actionTarget": "alert", "baseEntityId": "b06e0847-0d68-4f5c-9288-58bc394fe052", "isActionActive": true}'); + +INSERT INTO core.action_metadata (id, action_id, document_id, base_entity_id, server_version, provider_id, location_id, team, team_id) VALUES +(1, 1, '05934ae338431f28bf6793b241642462', '67007c17-97bb-4732-a1b8-3a0c292b5432', 1520932697689, 'biddemo', null, null, null), +(2, 2, '05934ae338431f28bf6793b2416433c9', '67007c17-97bb-4732-a1b8-3a0c292b5432', 1520932698005, 'biddemo', null, null, null), +(3, 3, '05934ae338431f28bf6793b241643a7e', '67007c17-97bb-4732-a1b8-3a0c292b5432', 1520932698821, 'biddemo', null, null, null), +(4, 4, '05934ae338431f28bf6793b241644dd7', '67007c17-97bb-4732-a1b8-3a0c292b5432', 1520932699621, 'biddemo', null, null, null), +(5, 5, '05934ae338431f28bf6793b241645535', '67007c17-97bb-4732-a1b8-3a0c292b5432', 1520932700149, 'biddemo', null, null, null), +(6, 6, '05934ae338431f28bf6793b241645f1f', '67007c17-97bb-4732-a1b8-3a0c292b5432', 1520932700973, 'biddemo', null, null, null), +(7, 7, '05934ae338431f28bf6793b2416473e0', '67007c17-97bb-4732-a1b8-3a0c292b5432', 1520932701845, 'biddemo', null, null, null), +(8, 8, '05934ae338431f28bf6793b2416481aa', '67007c17-97bb-4732-a1b8-3a0c292b5432', 1520932702653, 'biddemo', null, null, null), +(9, 9, '05934ae338431f28bf6793b241648e9d', '67007c17-97bb-4732-a1b8-3a0c292b5432', 1520932703185, 'biddemo', null, null, null), +(10, 10, '05934ae338431f28bf6793b241649473', '67007c17-97bb-4732-a1b8-3a0c292b5432', 1520932703825, 'biddemo', null, null, null), +(11, 11, '05934ae338431f28bf6793b24164a5d7', '67007c17-97bb-4732-a1b8-3a0c292b5432', 1520932704673, 'biddemo', null, null, null), +(12, 12, '05934ae338431f28bf6793b24164b4ce', '67007c17-97bb-4732-a1b8-3a0c292b5432', 1520932705277, 'biddemo', null, null, null), +(13, 13, '05934ae338431f28bf6793b24164c069', '67007c17-97bb-4732-a1b8-3a0c292b5432', 1520932705889, 'biddemo', null, null, null), +(14, 14, '05934ae338431f28bf6793b241651160', '67007c17-97bb-4732-a1b8-3a0c292b5432', 1520933247737, 'biddemo', null, null, null), +(15, 15, '05934ae338431f28bf6793b241663fcd', '86c039a2-0b68-4166-849e-f49897e3a510', 1520933431893, 'biddemo', null, null, null), +(16, 16, '05934ae338431f28bf6793b2417bfe8f', '469597f0-eefe-4171-afef-f7234cbb2859', 1520978413525, 'biddemo', null, null, null), +(17, 17, '05934ae338431f28bf6793b2417bf883', '469597f0-eefe-4171-afef-f7234cbb2859', 1520978413537, 'biddemo', null, null, null), +(18, 18, '05934ae338431f28bf6793b2417bf3c3', '469597f0-eefe-4171-afef-f7234cbb2859', 1520978413541, 'biddemo', null, null, null), +(19, 19, '05934ae338431f28bf6793b2417c671b', 'aabcd2cc-c111-41c6-85e6-cb5d9e350d08', 1520978413737, 'biddemo', null, null, null), +(20, 20, '05934ae338431f28bf6793b2417c4bae', '469597f0-eefe-4171-afef-f7234cbb2859', 1520978413764, 'biddemo', null, null, null), +(21, 21, '05934ae338431f28bf6793b2417c4d6c', 'aabcd2cc-c111-41c6-85e6-cb5d9e350d08', 1520978413764, 'biddemo', null, null, null), +(22, 22, '05934ae338431f28bf6793b2417c5aae', '469597f0-eefe-4171-afef-f7234cbb2859', 1520978413765, 'biddemo', null, null, null), +(23, 23, '05934ae338431f28bf6793b2417c705e', 'aabcd2cc-c111-41c6-85e6-cb5d9e350d08', 1520978413880, 'biddemo', null, null, null), +(24, 24, '05934ae338431f28bf6793b2417c98f9', 'aabcd2cc-c111-41c6-85e6-cb5d9e350d08', 1520978413884, 'biddemo', null, null, null), +(25, 25, '05934ae338431f28bf6793b2417c7d94', 'aabcd2cc-c111-41c6-85e6-cb5d9e350d08', 1520978413894, 'biddemo', null, null, null), +(26, 26, '05934ae338431f28bf6793b2417ca6cd', '4a2a4ad9-cd29-47cb-bdb9-5b617a73b898', 1520978413945, 'biddemo', null, null, null), +(27, 27, '05934ae338431f28bf6793b2417d0103', '4a2a4ad9-cd29-47cb-bdb9-5b617a73b898', 1520978414164, 'biddemo', null, null, null), +(28, 28, '05934ae338431f28bf6793b2417d1390', '4a2a4ad9-cd29-47cb-bdb9-5b617a73b898', 1520978414184, 'biddemo', null, null, null), +(29, 29, '05934ae338431f28bf6793b2417d0b1c', '4a2a4ad9-cd29-47cb-bdb9-5b617a73b898', 1520978414186, 'biddemo', null, null, null), +(30, 30, '05934ae338431f28bf6793b2417d2ec2', 'b06e0847-0d68-4f5c-9288-58bc394fe052', 1520978414292, 'biddemo', null, null, null), +(31, 31, '05934ae338431f28bf6793b2417d3aa0', 'b06e0847-0d68-4f5c-9288-58bc394fe052', 1520978414313, 'biddemo', null, null, null), +(32, 32, '05934ae338431f28bf6793b2417db6ca', 'b06e0847-0d68-4f5c-9288-58bc394fe052', 1520978414508, 'biddemo', null, null, null), +(33, 33, '05934ae338431f28bf6793b2417dba2d', 'b06e0847-0d68-4f5c-9288-58bc394fe052', 1520978414513, 'biddemo', null, null, null), +(34, 34, '05934ae338431f28bf6793b2417da475', 'b06e0847-0d68-4f5c-9288-58bc394fe052', 1520978414514, 'biddemo', null, null, null); \ No newline at end of file diff --git a/opensrp-core/bin/src/test/resources/test-scripts/alert.sql b/opensrp-core/bin/src/test/resources/test-scripts/alert.sql new file mode 100644 index 0000000000..9c751e43c2 --- /dev/null +++ b/opensrp-core/bin/src/test/resources/test-scripts/alert.sql @@ -0,0 +1,41 @@ +--clear data +TRUNCATE TABLE core.alert CASCADE; + +ALTER SEQUENCE core.alert_id_seq RESTART WITH 16; + +ALTER SEQUENCE core.alert_metadata_id_seq RESTART WITH 16; + +INSERT INTO core.alert (id, json) VALUES +(1, '{"_id": "a6159ce3-c93c-4339-9766-d814a10ca2db", "type": "Alert", "details": {"upcoming:end": "2018-04-30T00:00:00.000+02:00", "upcoming:start": "2018-04-20T00:00:00.000+02:00"}, "entityId": "01a12dba-d25e-4518-8da3-cfa8cf5ebf40", "isActive": true, "alertType": "notification", "startDate": "2018-04-20T00:00:00.000+02:00", "timeStamp": 1521842403899, "expiryDate": "2018-04-30T00:00:00.000+02:00", "providerId": "biddemo", "alertStatus": "upcoming", "triggerCode": "pcv2", "triggerName": "PCV 2", "triggerType": "schedule", "beneficiaryType": "vaccination"}'), +(2, '{"_id": "758aaf63-324e-4ccc-95f2-894be012dc25", "type": "Alert", "details": {"upcoming:end": "2018-04-30T00:00:00.000+02:00", "upcoming:start": "2018-04-20T00:00:00.000+02:00"}, "entityId": "01a12dba-d25e-4518-8da3-cfa8cf5ebf40", "isActive": true, "alertType": "notification", "startDate": "2018-04-20T00:00:00.000+02:00", "timeStamp": 1521842403900, "expiryDate": "2018-04-30T00:00:00.000+02:00", "providerId": "biddemo", "alertStatus": "upcoming", "triggerCode": "opv2", "triggerName": "OPV 2", "triggerType": "schedule", "beneficiaryType": "vaccination"}'), +(3, '{"_id": "f210392d-2905-458a-8301-5a7fb844c448", "type": "Alert", "details": {"upcoming:end": "2018-04-30T00:00:00.000+02:00", "upcoming:start": "2018-04-20T00:00:00.000+02:00"}, "entityId": "01a12dba-d25e-4518-8da3-cfa8cf5ebf40", "isActive": true, "alertType": "notification", "startDate": "2018-04-20T00:00:00.000+02:00", "timeStamp": 1521842403899, "expiryDate": "2018-04-30T00:00:00.000+02:00", "providerId": "biddemo", "alertStatus": "upcoming", "triggerCode": "pcv1", "triggerName": "PCV 1", "triggerType": "schedule", "beneficiaryType": "vaccination"}'), +(4, '{"_id": "52e33167-4b64-4189-bf0c-e7a916815bc9", "type": "Alert", "details": {"upcoming:end": "2018-04-30T00:00:00.000+02:00", "upcoming:start": "2018-04-20T00:00:00.000+02:00"}, "entityId": "01a12dba-d25e-4518-8da3-cfa8cf5ebf40", "isActive": true, "alertType": "notification", "startDate": "2018-04-20T00:00:00.000+02:00", "timeStamp": 1521842403837, "expiryDate": "2018-04-30T00:00:00.000+02:00", "providerId": "biddemo", "alertStatus": "upcoming", "triggerCode": "penta2", "triggerName": "PENTA 2", "triggerType": "schedule", "beneficiaryType": "vaccination"}'), +(5, '{"_id": "07a17c79-1e96-478b-ab23-a56a748df09e", "type": "Alert", "details": {"upcoming:end": "2018-04-30T00:00:00.000+02:00", "upcoming:start": "2018-04-20T00:00:00.000+02:00"}, "entityId": "01a12dba-d25e-4518-8da3-cfa8cf5ebf40", "isActive": true, "alertType": "notification", "startDate": "2018-04-20T00:00:00.000+02:00", "timeStamp": 1521842403913, "expiryDate": "2018-04-30T00:00:00.000+02:00", "providerId": "biddemo", "alertStatus": "upcoming", "triggerCode": "rota2", "triggerName": "ROTA 2", "triggerType": "schedule", "beneficiaryType": "vaccination"}'), +(6, '{"_id": "89bcc696-9491-4b03-8064-d7752b0cb12a", "type": "Alert", "details": {"urgent:end": "2022-04-20T00:00:00.000+02:00", "urgent:start": "2017-05-28T00:00:00.000+02:00"}, "entityId": "06e4d8c0-f3ff-458c-8141-53d199355c7a", "isActive": true, "alertType": "notification", "startDate": "2017-05-28T00:00:00.000+02:00", "timeStamp": 1521064813469, "expiryDate": "2022-04-20T00:00:00.000+02:00", "providerId": "DYuyi", "alertStatus": "urgent", "triggerCode": "opv3", "triggerName": "OPV 3", "triggerType": "schedule", "beneficiaryType": "vaccination"}'), +(7, '{"_id": "3aa476f0-50e3-489e-9778-5ae3dcea8640", "type": "Alert", "details": {"urgent:end": "2022-04-20T00:00:00.000+02:00", "urgent:start": "2017-05-28T00:00:00.000+02:00"}, "entityId": "06e4d8c0-f3ff-458c-8141-53d199355c7a", "isActive": true, "alertType": "notification", "startDate": "2017-05-28T00:00:00.000+02:00", "timeStamp": 1521064813617, "expiryDate": "2022-04-20T00:00:00.000+02:00", "providerId": "DYuyi", "alertStatus": "urgent", "triggerCode": "penta3", "triggerName": "PENTA 3", "triggerType": "schedule", "beneficiaryType": "vaccination"}'), +(8, '{"_id": "170c64f5-a187-4c90-b76d-09ff14d5e280", "type": "Alert", "details": {"urgent:end": "2022-04-20T00:00:00.000+02:00", "urgent:start": "2017-05-28T00:00:00.000+02:00"}, "entityId": "06e4d8c0-f3ff-458c-8141-53d199355c7a", "isActive": false, "alertType": "notification", "startDate": "2017-05-28T00:00:00.000+02:00", "timeStamp": 1521756016156, "dateClosed": "2018-03-27", "expiryDate": "2022-04-20T00:00:00.000+02:00", "providerId": "biddemo", "alertStatus": "complete", "triggerCode": "pcv3", "triggerName": "PCV 3", "triggerType": "schedule", "dateComplete": "2018-03-27", "closingPeriod": "urgent", "beneficiaryType": "vaccination"}'), +(9, '{"_id": "80242dd1-01ca-47ea-ae3c-dc0c24dd3f5f", "type": "Alert", "details": {"urgent:end": "2022-04-20T00:00:00.000+02:00", "urgent:start": "2017-05-28T00:00:00.000+02:00"}, "entityId": "06e4d8c0-f3ff-458c-8141-53d199355c7a", "isActive": true, "alertType": "notification", "startDate": "2017-05-28T00:00:00.000+02:00", "timeStamp": 1521064813385, "expiryDate": "2022-04-20T00:00:00.000+02:00", "providerId": "DYuyi", "alertStatus": "urgent", "triggerCode": "pcv3", "triggerName": "PCV 3", "triggerType": "schedule", "beneficiaryType": "vaccination"}'), +(10, '{"_id": "1b7ed001-201b-4503-a098-4b1cd509470d", "type": "Alert", "details": {"normal:end": "2018-03-23T00:00:00.000+02:00", "normal:start": "2018-03-13T00:00:00.000+02:00"}, "entityId": "7583329e-340e-4f64-8d6e-a7cbcf334455", "isActive": true, "alertType": "notification", "startDate": "2018-03-13T00:00:00.000+02:00", "timeStamp": 1520978413376, "expiryDate": "2018-03-23T00:00:00.000+02:00", "providerId": "DYuyi", "alertStatus": "normal", "triggerCode": "itn1", "triggerName": "ITN 1", "triggerType": "schedule", "beneficiaryType": "child"}'), +(11, '{"_id": "32e7d8cd-28e6-4361-9a39-bee732e61d93", "type": "Alert", "details": {"normal:end": "2018-03-23T00:00:00.000+02:00", "normal:start": "2018-03-13T00:00:00.000+02:00"}, "entityId": "7583329e-340e-4f64-8d6e-a7cbcf334455", "isActive": true, "alertType": "notification", "startDate": "2018-03-13T00:00:00.000+02:00", "timeStamp": 1520978413593, "expiryDate": "2018-03-23T00:00:00.000+02:00", "providerId": "DYuyi", "alertStatus": "normal", "triggerCode": "bcg", "triggerName": "BCG", "triggerType": "schedule", "beneficiaryType": "child"}'), +(12, '{"_id": "01741058-588c-4105-b2e4-6e5ae47f4880", "type": "Alert", "details": {"urgent:end": "2021-03-27T00:00:00.000+02:00", "urgent:start": "2017-04-06T00:00:00.000+02:00"}, "entityId": "980d55f5-60d8-4488-b75b-f511c3c839f7", "isActive": true, "alertType": "notification", "startDate": "2017-04-06T00:00:00.000+02:00", "timeStamp": 1522188003909, "expiryDate": "2021-03-27T00:00:00.000+02:00", "providerId": "biddemo", "alertStatus": "urgent", "triggerCode": "deworming1", "triggerName": "DEWORMING 1", "triggerType": "schedule", "beneficiaryType": "child"}'), +(13, '{"_id": "4ba278a4-7d91-4cae-a54d-8353c63e2940", "type": "Alert", "details": {"urgent:end": "2021-03-27T00:00:00.000+02:00", "urgent:start": "2016-10-07T00:00:00.000+02:00"}, "entityId": "980d55f5-60d8-4488-b75b-f511c3c839f7", "isActive": true, "alertType": "notification", "startDate": "2016-10-07T00:00:00.000+02:00", "timeStamp": 1522188003905, "expiryDate": "2021-03-27T00:00:00.000+02:00", "providerId": "biddemo", "alertStatus": "urgent", "triggerCode": "vita1", "triggerName": "VIT A 1", "triggerType": "schedule", "beneficiaryType": "child"}'), +(14, '{"_id": "950d34d1-a374-47aa-91ac-09a62373e624", "type": "Alert", "details": {"normal:end": "2018-07-01T00:00:00.000+02:00", "normal:start": "2018-01-01T00:00:00.000+02:00"}, "entityId": "4a2a4ad9-cd29-47cb-bdb9-5b617a73b898", "isActive": true, "alertType": "notification", "startDate": "2018-01-01T00:00:00.000+02:00", "timeStamp": 1520978414377, "expiryDate": "2018-07-01T00:00:00.000+02:00", "providerId": "biddemo", "alertStatus": "normal", "triggerCode": "vitaifc2", "triggerName": "VIT A IFC 2", "triggerType": "schedule", "beneficiaryType": "child"}'), +(15, '{"_id": "59bf074a-0415-40bb-9b15-d681613673d9", "type": "Alert", "entityId": "fe7b6350-16d2-41d0-8574-c194088705df", "isActive": false, "alertType": "notification", "startDate": "2018-02-22", "timeStamp": 1520978414781, "dateClosed": "2018-03-14", "expiryDate": "2022-11-01", "providerId": "biddemo", "alertStatus": "complete", "triggerCode": "pcv1", "triggerName": "PCV 1", "triggerType": "schedule", "dateComplete": "2018-02-12", "closingPeriod": "urgent", "beneficiaryType": "child"}'); + + +INSERT INTO core.alert_metadata (id, alert_id, document_id, base_entity_id, server_version, provider_id, location_id, team, team_id, is_active, trigger_name) VALUES +(1, 1, 'a6159ce3-c93c-4339-9766-d814a10ca2db', '01a12dba-d25e-4518-8da3-cfa8cf5ebf40', 1521842403899, 'biddemo', null, null, null, true, 'PCV 2'), +(2, 2, '758aaf63-324e-4ccc-95f2-894be012dc25', '01a12dba-d25e-4518-8da3-cfa8cf5ebf40', 1521842403900, 'biddemo', null, null, null, true, 'OPV 2'), +(3, 3, 'f210392d-2905-458a-8301-5a7fb844c448', '01a12dba-d25e-4518-8da3-cfa8cf5ebf40', 1521842403899, 'biddemo', null, null, null, true, 'PCV 1'), +(4, 4, '52e33167-4b64-4189-bf0c-e7a916815bc9', '01a12dba-d25e-4518-8da3-cfa8cf5ebf40', 1521842403837, 'biddemo', null, null, null, true, 'PENTA 2'), +(5, 5, '07a17c79-1e96-478b-ab23-a56a748df09e', '01a12dba-d25e-4518-8da3-cfa8cf5ebf40', 1521842403913, 'biddemo', null, null, null, true, 'ROTA 2'), +(6, 6, '89bcc696-9491-4b03-8064-d7752b0cb12a', '06e4d8c0-f3ff-458c-8141-53d199355c7a', 1521064813469, 'DYuyi', null, null, null, true, 'OPV 3'), +(7, 7, '3aa476f0-50e3-489e-9778-5ae3dcea8640', '06e4d8c0-f3ff-458c-8141-53d199355c7a', 1521064813617, 'DYuyi', null, null, null, true, 'PENTA 3'), +(8, 8, '170c64f5-a187-4c90-b76d-09ff14d5e280', '06e4d8c0-f3ff-458c-8141-53d199355c7a', 1521756016156, 'biddemo', null, null, null, false, 'PCV 3'), +(9, 9, '80242dd1-01ca-47ea-ae3c-dc0c24dd3f5f', '06e4d8c0-f3ff-458c-8141-53d199355c7a', 1521064813385, 'DYuyi', null, null, null, true, 'PCV 3'), +(10, 10, '1b7ed001-201b-4503-a098-4b1cd509470d', '7583329e-340e-4f64-8d6e-a7cbcf334455', 1520978413376, 'DYuyi', null, null, null, true, 'ITN 1'), +(11, 11, '32e7d8cd-28e6-4361-9a39-bee732e61d93', '7583329e-340e-4f64-8d6e-a7cbcf334455', 1520978413593, 'DYuyi', null, null, null, true, 'BCG'), +(12, 12, '01741058-588c-4105-b2e4-6e5ae47f4880', '980d55f5-60d8-4488-b75b-f511c3c839f7', 1522188003909, 'biddemo', null, null, null, true, 'DEWORMING 1'), +(13, 13, '4ba278a4-7d91-4cae-a54d-8353c63e2940', '980d55f5-60d8-4488-b75b-f511c3c839f7', 1522188003905, 'biddemo', null, null, null, true, 'VIT A 1'), +(14, 14, '950d34d1-a374-47aa-91ac-09a62373e624', '4a2a4ad9-cd29-47cb-bdb9-5b617a73b898', 1520978414377, 'biddemo', null, null, null, true, 'VIT A IFC 2'), +(15, 15, '59bf074a-0415-40bb-9b15-d681613673d9', 'fe7b6350-16d2-41d0-8574-c194088705df', 1520978414781, 'biddemo', null, null, null, false, 'PCV 1'); diff --git a/opensrp-core/bin/src/test/resources/test-scripts/app_state_token.sql b/opensrp-core/bin/src/test/resources/test-scripts/app_state_token.sql new file mode 100644 index 0000000000..e80e056e89 --- /dev/null +++ b/opensrp-core/bin/src/test/resources/test-scripts/app_state_token.sql @@ -0,0 +1,12 @@ +--clear data +TRUNCATE TABLE core.app_state_token; + +ALTER SEQUENCE core.app_state_token_id_seq RESTART WITH 6; + +--insert data +INSERT INTO core.app_state_token (id, name, description, value, last_edited_date) VALUES +(1, 'sync_schedule_tracker_by_last_update_enrollment', 'ScheduleTracker token to keep track of enrollment', '34343', 1521017416), +(2, 'sync_client_by_date_updated', 'OpenMRS data pusher token to keep track of new / updated clients', '65765', 1521217416), +(3, 'sync_client_by_date_voided', 'OpenMRS data pusher token to keep track of voided clients synced ', '122001', 1521017416), +(4, 'sync_event_by_date_updated', 'OpenMRS data pusher token to keep track of new / updated events synced ', '343232', 1521017416), +(5, 'sync_event_by_date_voided', 'OpenMRS data pusher token to keep track of voided events synced ', '23432', 1521017416); diff --git a/opensrp-core/bin/src/test/resources/test-scripts/client.sql b/opensrp-core/bin/src/test/resources/test-scripts/client.sql new file mode 100644 index 0000000000..a066b0701a --- /dev/null +++ b/opensrp-core/bin/src/test/resources/test-scripts/client.sql @@ -0,0 +1,40 @@ +--clear data +TRUNCATE TABLE core.client CASCADE; + +ALTER SEQUENCE core.client_id_seq RESTART WITH 16; + +ALTER SEQUENCE core.client_metadata_id_seq RESTART WITH 16; + +INSERT INTO core.client (id, json) VALUES +(1, '{"_id": "05934ae338431f28bf6793b24159ce5d", "type": "Client", "gender": "Male", "lastName": "Child", "_rev": "2-0b2b71f8189f101a5c4c69e44d4886f5", "addresses": [{"addressType": "usual_residence", "addressFields": {"address2": "Dre0", "address3": "78e20b3d-f25e-436f-9cb0-9a505d362f34"}}], "birthdate": "2018-03-01T03:00:00.000", "firstName": "Second", "attributes": {}, "dateEdited": "2018-03-13T00:52:58.942", "dateCreated": "2018-03-13T00:48:59.829", "identifiers": {"ZEIR_ID": "218221-0", "OPENMRS_UUID": "8796f967-2f7a-40f7-8586-d63dbc81b709"}, "baseEntityId": "287be17c-30a7-4482-8816-e2382ec502f1", "relationships": {"mother": ["22b8570a-3207-4af7-8da7-8a1c5b84d3ff"]}, "birthdateApprox": false, "deathdateApprox": false}'), +(2, '{"_id": "05934ae338431f28bf6793b24159dea7", "type": "Client", "gender": "Male", "lastName": " Child", "_rev": "2-6ccd1e9150e9055193267acc3fd311e8", "addresses": [{"addressType": "usual_residence", "addressFields": {"address2": "Rwre", "address3": "78e20b3d-f25e-436f-9cb0-9a505d362f34"}}], "birthdate": "2018-03-01T03:00:00.000", "firstName": "Third", "attributes": {}, "dateEdited": "2018-03-13T00:52:59.675", "dateCreated": "2018-03-13T00:52:01.121", "identifiers": {"ZEIR_ID": "218222-8", "OPENMRS_UUID": "99621619-688a-4f0f-b93e-68ab1b8cf49e"}, "baseEntityId": "9289b401-fbc6-4231-a59c-127dac40df74", "relationships": {"mother": ["0154839f-8766-4eda-b729-89067c7a8c5d"]}, "birthdateApprox": false, "deathdateApprox": false}'), +(3, '{"_id": "05934ae338431f28bf6793b24159ebc2", "type": "Client", "gender": "Female", "lastName": "Child", "_rev": "2-0ea77a08483ea9a0c5849cb4fd3da368", "addresses": [{"addressType": "usual_residence", "addressFields": {"address2": "Gjg", "address3": "c19431f1-566c-44ac-ad9e-dfd33eac8daa"}}], "birthdate": "2018-03-01T03:00:00.000", "firstName": "Fourth", "attributes": {}, "dateEdited": "2018-03-13T00:58:00.873", "dateCreated": "2018-03-13T00:54:42.889", "identifiers": {"ZEIR_ID": "218223-6", "OPENMRS_UUID": "07880fcb-0061-43b0-8ae8-6b52372b1a6b"}, "baseEntityId": "219655bb-a733-4d7a-8b1f-ecc5ff3af6cc", "relationships": {"mother": ["0154839f-8766-4eda-b729-89067c7a8c5d"]}, "birthdateApprox": false, "deathdateApprox": false}'), +(4, '{"_id": "05934ae338431f28bf6793b2415a0374", "type": "Client", "gender": "Female", "lastName": "Child", "_rev": "2-5ec561cece5508f14bb0381b59e40baa", "addresses": [{"addressType": "usual_residence", "addressFields": {"address2": "Er", "address3": "78e20b3d-f25e-436f-9cb0-9a505d362f34"}}], "birthdate": "2018-03-01T03:00:00.000", "firstName": "Fith", "attributes": {}, "dateEdited": "2018-03-13T02:23:03.971", "dateCreated": "2018-03-13T02:20:08.984", "identifiers": {"ZEIR_ID": "218224-4", "OPENMRS_UUID": "cf58894b-71c6-41e0-a977-7283f2411cd5"}, "baseEntityId": "94f3e8fb-2f05-4fca-8119-2b593d1962eb", "relationships": {"mother": ["3abdb25a-f151-4a95-9311-bd30bf935085"]}, "birthdateApprox": false, "deathdateApprox": false}'), +(5, '{"_id": "05934ae338431f28bf6793b24159c647", "type": "Client", "gender": "Male", "lastName": "Child", "_rev": "2-3867cacbf2a4b3736524552816381927", "addresses": [{"addressType": "usual_residence", "addressFields": {"address2": "Rewe", "address3": "78e20b3d-f25e-436f-9cb0-9a505d362f34"}}], "birthdate": "2018-01-04T03:00:00.000", "firstName": "First", "attributes": {}, "dateEdited": "2018-03-13T00:47:57.879", "dateCreated": "2018-03-13T00:42:58.436", "identifiers": {"ZEIR_ID": "218220-2", "OPENMRS_UUID": "9c4260f2-d296-4af1-b771-debda1b6cfd1"}, "baseEntityId": "33d9a17f-d729-4276-9891-b43e8b60fd12", "relationships": {"mother": ["d0ecee83-6ccd-4096-9188-f63a40fa2f63"]}, "birthdateApprox": false, "deathdateApprox": false}'), +(6, '{"_id": "05934ae338431f28bf6793b24164cbd9", "type": "Client", "gender": "Female", "lastName": "Mtini ", "_rev": "2-70add9f425fe26094fe4542bdf9a9acf", "addresses": [{"addressType": "usual_residence", "addressFields": {"address1": "Church", "address2": "Tulia Gardens ", "address3": "f940e2a3-b553-496a-80b3-091891bb5194"}}], "birthdate": "2016-04-13T03:00:00.000", "firstName": "Sally", "attributes": {"CHW_Name": "Hellen", "Home_Facility": "Happy Kids Clinic", "CHW_Phone_Number": "0964357951", "Father_NRC_Number": "721345/67/8"}, "dateEdited": "2018-03-13T12:26:53.223", "dateCreated": "2018-03-13T12:26:43.857", "identifiers": {"ZEIR_ID": "218923-1", "OPENMRS_UUID": "ab91df5d-e433-40f3-b44f-427b73c9ae2a"}, "baseEntityId": "86c039a2-0b68-4166-849e-f49897e3a510", "relationships": {"mother": ["758dab58-7629-4da9-882f-ae5110bcd240"]}, "birthdateApprox": false, "deathdateApprox": false}'), +(7, '{"_id": "05934ae338431f28bf6793b241692648", "type": "Client", "gender": "Female", "lastName": "Babbyfour", "_rev": "2-2fa38eef6330ee8753e1ea18a94512aa", "addresses": [{"addressType": "usual_residence", "addressFields": {"address2": "Gcfd", "address3": "82b4de33-a336-4671-820b-32a32ace8819"}}], "birthdate": "2018-01-01T03:00:00.000", "firstName": "Januar", "attributes": {"Home_Facility": "Happy Kids Clinic"}, "dateEdited": "2018-03-13T13:12:09.837", "dateCreated": "2018-03-13T13:11:18.453", "identifiers": {"ZEIR_ID": "218229-3", "OPENMRS_UUID": "825b4d23-a3ea-4c58-a95b-d0df2f9c1690"}, "baseEntityId": "58b33379-dab2-4f5c-8f09-6d2bd63023d8", "relationships": {"mother": ["9ac3fac4-a74c-45d5-bedb-da357cec3779"]}, "birthdateApprox": false, "deathdateApprox": false}'), +(8, '{"_id": "05934ae338431f28bf6793b241693a2f", "type": "Client", "gender": "Female", "lastName": "Babyfive", "_rev": "2-8a753553c0e0ae4ed0257bb6d686d2ea", "addresses": [{"addressType": "usual_residence", "addressFields": {"address2": "Home", "address3": "82b4de33-a336-4671-820b-32a32ace8819"}}], "birthdate": "2018-01-01T03:00:00.000", "firstName": "January", "attributes": {"Home_Facility": "Happy Kids Clinic"}, "dateEdited": "2018-03-13T13:12:11.027", "dateCreated": "2018-03-13T13:11:18.725", "identifiers": {"ZEIR_ID": "218230-1", "OPENMRS_UUID": "11a1ecf6-7d6d-4e12-8e6f-bb3cf5a3ebb8"}, "baseEntityId": "aabcd2cc-c111-41c6-85e6-cb5d9e350d08", "relationships": {"mother": ["41d1841b-4d6c-4f06-b5e8-b55907892ee6"]}, "birthdateApprox": false, "deathdateApprox": false}'), +(9, '{"_id": "05934ae338431f28bf6793b2416946b7", "type": "Client", "gender": "Female", "lastName": "Babysix", "_rev": "2-0684ed7a15c29c8bf479a36d8c5986c5", "addresses": [{"addressType": "usual_residence", "addressFields": {"address2": "Gu", "address3": "82b4de33-a336-4671-820b-32a32ace8819"}}], "birthdate": "2018-01-01T03:00:00.000", "firstName": "January ", "attributes": {"Home_Facility": "Happy Kids Clinic"}, "dateEdited": "2018-03-13T13:12:12.257", "dateCreated": "2018-03-13T13:11:19.005", "identifiers": {"ZEIR_ID": "218231-9", "OPENMRS_UUID": "eb4b258c-7558-436c-a1fe-e91d9e12f849"}, "baseEntityId": "469597f0-eefe-4171-afef-f7234cbb2859", "relationships": {"mother": ["7bce6b9a-e575-4cc6-b987-a12284912e84"]}, "birthdateApprox": false, "deathdateApprox": false}'), +(10, '{"_id": "05934ae338431f28bf6793b24167817d", "type": "Client", "gender": "Male", "lastName": "Child", "_rev": "2-9de838d2e671a8d5011cedf66143b023", "addresses": [{"addressType": "usual_residence", "addressFields": {"address2": "Guy", "address3": "78e20b3d-f25e-436f-9cb0-9a505d362f34"}}], "birthdate": "2018-03-01T03:00:00.000", "firstName": "Sixth", "attributes": {"Home_Facility": "Happy Kids Clinic"}, "dateEdited": "2018-03-13T12:57:03.225", "dateCreated": "2018-03-13T12:53:04.188", "identifiers": {"ZEIR_ID": "218225-1", "OPENMRS_UUID": "43397e39-0a11-4bb7-ba2d-3820436bef85"}, "baseEntityId": "28caef27-d1b3-497b-8a55-954f2f0f6e24", "relationships": {"mother": ["ab1eda08-2185-4d5f-9301-abb17d376ded"]}, "birthdateApprox": false, "deathdateApprox": false}'), +(11, '{"_id": "05934ae338431f28bf6793b241679500", "type": "Client", "gender": "Male", "lastName": "Baby", "_rev": "2-f7de9e0a0e63129a1e4a3016539a2194", "addresses": [{"addressType": "usual_residence", "addressFields": {"address2": "Rer", "address3": "82b4de33-a336-4671-820b-32a32ace8819"}}], "birthdate": "2018-01-01T03:00:00.000", "deathdate": "2018-02-13T03:00:00.000", "firstName": "Jan", "attributes": {"Home_Facility": "Happy Kids Clinic"}, "dateEdited": "2018-03-13T12:57:04.417", "dateCreated": "2018-03-13T12:53:04.453", "identifiers": {"ZEIR_ID": "218226-9", "OPENMRS_UUID": "7a8926a9-f35a-41ba-adbf-87712333d5c2"}, "baseEntityId": "f33c71c7-a9a4-495d-8028-b6d59e4034b3", "relationships": {"mother": ["7289296d-9ec9-450e-9389-88b5b0d329a0"]}, "birthdateApprox": false, "deathdateApprox": false}'), +(12, '{"_id": "05934ae338431f28bf6793b24167b6d1", "type": "Client", "gender": "Male", "lastName": "Babytwo", "_rev": "2-ce3c6a238b86298059c0dd792f0c0dcc", "addresses": [{"addressType": "usual_residence", "addressFields": {"address2": "Ty", "address3": "82b4de33-a336-4671-820b-32a32ace8819"}}], "birthdate": "2018-01-01T03:00:00.000", "firstName": "Janu", "attributes": {"Home_Facility": "Happy Kids Clinic"}, "dateEdited": "2018-03-13T12:57:05.652", "dateCreated": "2018-03-13T12:54:42.456", "identifiers": {"ZEIR_ID": "218227-7", "OPENMRS_UUID": "ba5d3927-414f-4796-ae1e-9b73b50a5573"}, "baseEntityId": "fe7b6350-16d2-41d0-8574-c194088705df", "relationships": {"mother": ["14715b97-f0d5-4515-813b-5698934dbf1d"]}, "birthdateApprox": false, "deathdateApprox": false}'), +(13, '{"_id": "05934ae338431f28bf6793b24162ca7e", "type": "Client", "gender": "Male", "lastName": "Owino", "_rev": "2-5d274d303daa8ff1cd5eb5604b8e60f7", "addresses": [{"addressType": "usual_residence", "addressFields": {"address2": "Kilimani", "address3": "6c814e69-ed6f-4fcc-ac2c-8406508603f2"}}], "birthdate": "2017-02-13T03:00:00.000", "firstName": "George", "attributes": {"Home_Facility": "Happy Kids Clinic", "Child_Birth_Certificate": "7865", "Child_Register_Card_Number": "4567"}, "dateEdited": "2018-03-13T11:46:46.277", "dateCreated": "2018-03-13T11:42:01.573", "identifiers": {"ZEIR_ID": "218922-3", "OPENMRS_UUID": "c5780597-3d54-4298-b39f-9d38dfd14970"}, "baseEntityId": "67007c17-97bb-4732-a1b8-3a0c292b5432", "relationships": {"mother": ["14f94928-ef60-4d1c-a6be-f46b3b844268"]}, "birthdateApprox": false, "deathdateApprox": false}'), +(14, '{"_id": "05934ae338431f28bf6793b2418380ce", "type": "Client", "gender": "Female", "lastName": "Gchf", "_rev": "2-2d194250dc94b0ed20fbb2dac28a9020", "addresses": [{"addressType": "usual_residence", "addressFields": {"address2": "Chf", "address3": "144cea61-2322-4a2c-8963-d99b52aa1406"}}], "birthdate": "1960-01-01T03:00:00.000", "firstName": "Gg", "attributes": {}, "dateEdited": "2018-03-14T07:53:06.606", "dateCreated": "2018-03-14T07:52:16.620", "identifiers": {"M_ZEIR_ID": "218232-7_mother", "OPENMRS_UUID": "2ca99239-ba6e-42d6-92a5-a889d2de50c0"}, "baseEntityId": "cc127350-c1cd-4c3a-99d4-4d632882f522", "birthdateApprox": false, "deathdateApprox": false}'), +(15, '{"_id": "05934ae338431f28bf6793b241839005", "type": "Client", "gender": "Female", "lastName": "Immunisedtwo", "_rev": "2-db28bfef08ea6a88fc4d387bbb83b369", "addresses": [{"addressType": "usual_residence", "addressFields": {"address2": "Home", "address3": "144cea61-2322-4a2c-8963-d99b52aa1406"}}], "birthdate": "2017-06-13T03:00:00.000", "firstName": "Fully", "attributes": {"Home_Facility": "Happy Kids Clinic"}, "dateEdited": "2018-03-14T07:53:07.496", "dateCreated": "2018-03-14T07:52:16.757", "identifiers": {"ZEIR_ID": "218233-5", "OPENMRS_UUID": "02d89e05-64ad-4fa3-86d9-93b669ec02c5"}, "baseEntityId": "d4eda055-60c6-44a4-ba48-61dfe6485bea", "relationships": {"mother": ["17a1f5ed-a4cd-4427-ad9f-6471f4fc963d"]}, "birthdateApprox": false, "deathdateApprox": false}'); + +INSERT INTO core.client_metadata (id, client_id, document_id, base_entity_id, relational_id, server_version, openmrs_uuid, unique_id, first_name, middle_name, last_name, birth_date) VALUES +(1, 1, '05934ae338431f28bf6793b24159ce5d', '287be17c-30a7-4482-8816-e2382ec502f1', '22b8570a-3207-4af7-8da7-8a1c5b84d3ff', 1520891339766, '8796f967-2f7a-40f7-8586-d63dbc81b709', '218221-0', 'Second', null, 'Child', '2018-03-01'), +(2, 2, '05934ae338431f28bf6793b24159dea7', '9289b401-fbc6-4231-a59c-127dac40df74', '0154839f-8766-4eda-b729-89067c7a8c5d', 1520891521078, '99621619-688a-4f0f-b93e-68ab1b8cf49e', '218222-8', 'Third', null, ' Child', '2018-03-01'), +(3, 3, '05934ae338431f28bf6793b24159ebc2', '219655bb-a733-4d7a-8b1f-ecc5ff3af6cc', '0154839f-8766-4eda-b729-89067c7a8c5d', 1520891682846, '07880fcb-0061-43b0-8ae8-6b52372b1a6b', '218223-6', 'Fourth', null, 'Child', '2018-03-01'), +(4, 4, '05934ae338431f28bf6793b2415a0374', '94f3e8fb-2f05-4fca-8119-2b593d1962eb', '3abdb25a-f151-4a95-9311-bd30bf935085', 1520896808942, 'cf58894b-71c6-41e0-a977-7283f2411cd5', '218224-4', 'Fith', null, 'Child', '2018-03-01'), +(5, 5, '05934ae338431f28bf6793b24159c647', '33d9a17f-d729-4276-9891-b43e8b60fd12', 'd0ecee83-6ccd-4096-9188-f63a40fa2f63', 1520890978382, '9c4260f2-d296-4af1-b771-debda1b6cfd1', '218220-2', 'First', null, 'Child', '2018-01-04'), +(6, 6, '05934ae338431f28bf6793b24164cbd9', '86c039a2-0b68-4166-849e-f49897e3a510', '758dab58-7629-4da9-882f-ae5110bcd240', 1520933203799, 'ab91df5d-e433-40f3-b44f-427b73c9ae2a', '218923-1', 'Sally', null, 'Mtini ', '2016-04-13'), +(7, 7, '05934ae338431f28bf6793b241692648', '58b33379-dab2-4f5c-8f09-6d2bd63023d8', '9ac3fac4-a74c-45d5-bedb-da357cec3779', 1520935878137, '825b4d23-a3ea-4c58-a95b-d0df2f9c1690', '218229-3', 'Januar', null, 'Babbyfour', '2018-01-01'), +(8, 8, '05934ae338431f28bf6793b241693a2f', 'aabcd2cc-c111-41c6-85e6-cb5d9e350d08', '41d1841b-4d6c-4f06-b5e8-b55907892ee6', 1520935878137, '11a1ecf6-7d6d-4e12-8e6f-bb3cf5a3ebb8', '218230-1', 'January', null, 'Babyfive', '2018-01-01'), +(9, 9, '05934ae338431f28bf6793b2416946b7', '469597f0-eefe-4171-afef-f7234cbb2859', '7bce6b9a-e575-4cc6-b987-a12284912e84', 1520935878137, 'eb4b258c-7558-436c-a1fe-e91d9e12f849', '218231-9', 'January ', null, 'Babysix', '2018-01-01'), +(10, 10, '05934ae338431f28bf6793b24167817d', '28caef27-d1b3-497b-8a55-954f2f0f6e24', 'ab1eda08-2185-4d5f-9301-abb17d376ded', 1520934784144, '43397e39-0a11-4bb7-ba2d-3820436bef85', '218225-1', 'Sixth', null, 'Child', '2018-03-01'), +(11, 11, '05934ae338431f28bf6793b241679500', 'f33c71c7-a9a4-495d-8028-b6d59e4034b3', '7289296d-9ec9-450e-9389-88b5b0d329a0', 1520934784145, '7a8926a9-f35a-41ba-adbf-87712333d5c2', '218226-9', 'Jan', null, 'Baby', '2018-01-01'), +(12, 12, '05934ae338431f28bf6793b24167b6d1', 'fe7b6350-16d2-41d0-8574-c194088705df', '14715b97-f0d5-4515-813b-5698934dbf1d', 1520934882395, 'ba5d3927-414f-4796-ae1e-9b73b50a5573', '218227-7', 'Janu', null, 'Babytwo', '2018-01-01'), +(13, 13, '05934ae338431f28bf6793b24162ca7e', '67007c17-97bb-4732-a1b8-3a0c292b5432', '14f94928-ef60-4d1c-a6be-f46b3b844268', 1520930521516, 'c5780597-3d54-4298-b39f-9d38dfd14970', '218922-3', 'George', null, 'Owino', '2017-02-13'), +(14, 14, '05934ae338431f28bf6793b2418380ce', 'cc127350-c1cd-4c3a-99d4-4d632882f522', null, 1521003136407, '2ca99239-ba6e-42d6-92a5-a889d2de50c0', '218232-7_mother', 'Gg', null, 'Gchf', '1960-01-01'), +(15, 15, '05934ae338431f28bf6793b241839005', 'd4eda055-60c6-44a4-ba48-61dfe6485bea', '17a1f5ed-a4cd-4427-ad9f-6471f4fc963d', 1521003136407, '02d89e05-64ad-4fa3-86d9-93b669ec02c5', '218233-5', 'Fully', null, 'Immunisedtwo', '2017-06-13'); \ No newline at end of file diff --git a/opensrp-core/bin/src/test/resources/test-scripts/error.sql b/opensrp-core/bin/src/test/resources/test-scripts/error.sql new file mode 100644 index 0000000000..d7acf4525d --- /dev/null +++ b/opensrp-core/bin/src/test/resources/test-scripts/error.sql @@ -0,0 +1,84 @@ +--clear data +TRUNCATE TABLE error.error_trace; + +ALTER SEQUENCE error.error_trace_id_seq RESTART WITH 9; + +--insert test data +INSERT INTO error.error_trace (id, document_id, date_occurred, error_type, occurred_at, stack_trace, status, record_id, date_closed, document_type, retry_url) VALUES (1, '85ed95b2-8436-4a93-9ae7-ab104d65edd7', '2018-03-14 07:53:11.152000', 'OPENMRS FAILED CLIENT PUSH', null, 'at sun.reflect.GeneratedMethodAccessor985.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:64) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:53) + at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) + at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) + at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) + at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at java.lang.Thread.run(Thread.java:748) +', null, null, null, 'org.opensrp.domain.Client', ''); +INSERT INTO error.error_trace (id, document_id, date_occurred, error_type, occurred_at, stack_trace, status, record_id, date_closed, document_type, retry_url) VALUES (2, 'd41ba935-c8f6-4d3d-8432-8e8059ae39ca', '2018-03-14 11:24:30.643000', 'OPENMRS FAILED CLIENT PUSH', null, 'at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:64) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:53) + at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) + at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) + at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) + at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at java.lang.Thread.run(Thread.java:748) +', null, null, null, 'org.opensrp.domain.Client', ''); +INSERT INTO error.error_trace (id, document_id, date_occurred, error_type, occurred_at, stack_trace, status, record_id, date_closed, document_type, retry_url) VALUES (3, 'f4bb0d37-0f08-44e2-822f-87d81983eefb', '2018-03-15 16:16:09.571000', 'OPENMRS FAILED EVENT PUSH', null, 'at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:64) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:53) + at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) + at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) + at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) + at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at java.lang.Thread.run(Thread.java:748) +', null, null, null, 'org.opensrp.domain.Event', ''); +INSERT INTO error.error_trace (id, document_id, date_occurred, error_type, occurred_at, stack_trace, status, record_id, date_closed, document_type, retry_url) VALUES (4, '8798ae98-4f71-4bbb-8391-bfbda783b2d9', '2018-03-19 16:31:47.916000', 'OPENMRS FAILED CLIENT PUSH', null, 'at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:64) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:53) + at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) + at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) + at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) + at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at java.lang.Thread.run(Thread.java:748) +', null, null, null, 'org.opensrp.domain.Client', ''); +INSERT INTO error.error_trace (id, document_id, date_occurred, error_type, occurred_at, stack_trace, status, record_id, date_closed, document_type, retry_url) VALUES (5, 'ea96c23d-bbf1-4365-bdf5-bcf56f08ce1f', '2018-03-22 15:59:30.791000', 'OPENMRS FAILED EVENT PUSH', null, 'at sun.reflect.GeneratedMethodAccessor985.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:64) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:53) + at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) + at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) + at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) + at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at java.lang.Thread.run(Thread.java:748) +', null, null, null, 'org.opensrp.domain.Event', ''); +INSERT INTO error.error_trace (id, document_id, date_occurred, error_type, occurred_at, stack_trace, status, record_id, date_closed, document_type, retry_url) VALUES (6, '911c7520-f701-419e-b225-5e21286b585b', '2018-01-11 11:14:07.655000', 'OPENMRS FAILED EVENT VALIDATION', null, 'at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:64) + at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:53) + at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) + at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) + at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) + at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at java.lang.Thread.run(Thread.java:748) +', null, null, null, 'org.opensrp.domain.Event', ''); +INSERT INTO error.error_trace (id, document_id, date_occurred, error_type, occurred_at, stack_trace, status, record_id, date_closed, document_type, retry_url) VALUES (7, '48106c03-8900-4156-a7bf-93226e1d3e58', '2018-01-03 11:20:52.467000', 'FormSubmissionProcessor', 'org.opensrp.service.formSubmission.FormSubmissionListener', '[Ljava.lang.StackTraceElement;@22cdbe2', 'solved', null, null, 'org.opensrp.form.domain.FormSubmission', null); +INSERT INTO error.error_trace (id, document_id, date_occurred, error_type, occurred_at, stack_trace, status, record_id, date_closed, document_type, retry_url) VALUES (8, '07c32814-d7d1-48a5-8320-ed80435a4606', '2018-01-03 17:06:11.166000', 'FormSubmissionProcessor', 'org.opensrp.service.formSubmission.FormSubmissionListener', '[Ljava.lang.StackTraceElement;@50ef4583', 'solved', null, null, 'org.opensrp.form.domain.FormSubmission', null); \ No newline at end of file diff --git a/opensrp-core/bin/src/test/resources/test-scripts/event.sql b/opensrp-core/bin/src/test/resources/test-scripts/event.sql new file mode 100644 index 0000000000..f2baef729c --- /dev/null +++ b/opensrp-core/bin/src/test/resources/test-scripts/event.sql @@ -0,0 +1,42 @@ +--clear data +TRUNCATE TABLE core.event CASCADE; + +ALTER SEQUENCE core.event_id_seq RESTART WITH 16; + +ALTER SEQUENCE core.event_metadata_id_seq RESTART WITH 16; + +--insert data +INSERT INTO core.event (id, json, date_deleted) VALUES +(1, '{"_id": "05934ae338431f28bf6793b2417696bf", "obs": [{"values": ["2018-03-13"], "fieldCode": "1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "fieldType": "concept", "parentCode": "162586AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "fieldDataType": "date", "formSubmissionField": "mr_1", "humanReadableValues": []}, {"values": ["1"], "fieldCode": "1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "fieldType": "concept", "parentCode": "162586AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "fieldDataType": "calculate", "formSubmissionField": "mr_1_dose", "humanReadableValues": []}], "type": "Event", "version": 1520941739448, "duration": 0, "_rev": "1-069bfb5078ff17f922c0bba799222878", "eventDate": "2018-03-13T17:42:03.326+03:00", "eventType": "Vaccination", "entityType": "vaccination", "locationId": "42b88545-7ebb-4e11-8d1a-3d3a924c8af4", "providerId": "biddemo", "dateCreated": "2018-03-19T17:27:26.477+03:00", "identifiers": {}, "baseEntityId": "ea1f9439-a663-4073-93b9-6ef2b8bca3c1", "serverVersion": 1520945634380, "formSubmissionId": "29243014-48df-4165-a82d-f4878f6a830e"}', null), +(2, '{"_id": "05934ae338431f28bf6793b24199e690", "obs": [{"values": ["2018-03-14 10:31:33"], "fieldCode": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "fieldType": "concept", "parentCode": "", "fieldDataType": "start", "formSubmissionField": "start", "humanReadableValues": []}, {"values": ["2018-03-14 10:39:56"], "fieldCode": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "fieldType": "concept", "parentCode": "", "fieldDataType": "end", "formSubmissionField": "end", "humanReadableValues": []}, {"values": ["867104020634913"], "fieldCode": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "fieldType": "concept", "parentCode": "", "fieldDataType": "deviceid", "formSubmissionField": "deviceid", "humanReadableValues": []}], "type": "Event", "version": 1521016796414, "duration": 0, "_rev": "2-615390b17f8f2f9e9aa92f5f4a8a7aaf", "eventDate": "2018-03-14T03:00:00.000+03:00", "eventType": "New Woman Registration", "dateEdited": "2018-03-14T11:39:35.826+03:00", "entityType": "mother", "locationId": "42abc582-6658-488b-922e-7be500c070f3", "providerId": "biddemo", "dateCreated": "2018-03-19T17:27:28.717+03:00", "identifiers": {"OPENMRS_UUID": "d3630a60-a1f4-4267-9225-f4cb728f4178"}, "baseEntityId": "43930c23-c787-4ddb-ab76-770f77e7b17d", "serverVersion": 1521016638453, "formSubmissionId": "6b3243e9-3d45-495c-af69-f012061def01"}', null), +(3, '{"_id": "05934ae338431f28bf6793b2419c64fb", "obs": [{"values": ["2018-03-14"], "fieldCode": "1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "fieldType": "concept", "parentCode": "36AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "fieldDataType": "date", "formSubmissionField": "measles_1", "humanReadableValues": []}, {"values": ["1"], "fieldCode": "1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "fieldType": "concept", "parentCode": "36AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "fieldDataType": "calculate", "formSubmissionField": "measles_1_dose", "humanReadableValues": []}], "type": "Event", "version": 1521033238310, "duration": 0, "_rev": "1-dff06b7575a5177c7200b08570d14f4b", "eventDate": "2018-03-14T19:09:51.379+03:00", "eventType": "Vaccination", "entityType": "vaccination", "locationId": "42b88545-7ebb-4e11-8d1a-3d3a924c8af4", "providerId": "biddemo", "dateCreated": "2018-03-19T17:27:28.750+03:00", "identifiers": {}, "baseEntityId": "ea1f9439-a663-4073-93b9-6ef2b8bca3c1", "serverVersion": 1521033533700, "formSubmissionId": "bfbfabe8-d4ae-4db2-940f-a6f126ef7829"}', null), +(4, '{"_id": "05934ae338431f28bf6793b2419c319a", "obs": [{"values": ["2018-03-13"], "fieldCode": "1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "fieldType": "concept", "parentCode": "36AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "fieldDataType": "date", "formSubmissionField": "measles_1_", "humanReadableValues": []}, {"values": ["1"], "fieldCode": "1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "fieldType": "concept", "parentCode": "36AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "fieldDataType": "calculate", "formSubmissionField": "measles_1__dose", "humanReadableValues": []}], "type": "Event", "version": 1521044035486, "duration": 0, "_rev": "3-2d669093b06c73fcd5c0fa7c4782e21d", "eventDate": "2018-03-13T22:10:00.321+03:00", "eventType": "Vaccination", "dateEdited": "2018-03-14T19:21:38.401+03:00", "entityType": "vaccination", "locationId": "42b88545-7ebb-4e11-8d1a-3d3a924c8af4", "providerId": "biddemo", "dateCreated": "2018-03-19T17:27:29.019+03:00", "identifiers": {}, "baseEntityId": "ea1f9439-a663-4073-93b9-6ef2b8bca3c1", "serverVersion": 1521044588444, "formSubmissionId": "d960046a-e2a0-4bbf-b687-d41c2a52d8c8"}', null), +(5, '{"_id": "05934ae338431f28bf6793b241bdb88c", "obs": [{"values": ["42abc582-6658-488b-922e-7be500c070f3"], "fieldCode": "Home_Facility", "fieldType": "formsubmissionField", "parentCode": "", "fieldDataType": "text", "formSubmissionField": "Home_Facility", "humanReadableValues": []}, {"values": ["2018-02-16"], "fieldCode": "163260AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "fieldType": "concept", "parentCode": "", "fieldDataType": "date", "formSubmissionField": "First_Health_Facility_Contact", "humanReadableValues": []}, {"values": ["2.5"], "fieldCode": "5916AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "fieldType": "concept", "parentCode": "", "fieldDataType": "text", "formSubmissionField": "Birth_Weight", "humanReadableValues": []}, {"values": ["1588AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"], "fieldCode": "1572AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "fieldType": "concept", "parentCode": "", "fieldDataType": "select one", "formSubmissionField": "Place_Birth", "humanReadableValues": ["Health facility"]}, {"values": ["Happy Kids Clinic"], "fieldCode": "163531AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "fieldType": "concept", "parentCode": "", "fieldDataType": "text", "formSubmissionField": "Birth_Facility_Name", "humanReadableValues": []}, {"values": ["664AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"], "fieldCode": "1396AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "fieldType": "concept", "parentCode": "", "fieldDataType": "text", "formSubmissionField": "PMTCT_Status", "humanReadableValues": ["CNE"]}, {"values": ["2018-03-16 08:57:43"], "fieldCode": "163137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "fieldType": "concept", "parentCode": "", "fieldDataType": "start", "formSubmissionField": "start", "humanReadableValues": []}, {"values": ["2018-03-16 08:59:04"], "fieldCode": "163138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "fieldType": "concept", "parentCode": "", "fieldDataType": "end", "formSubmissionField": "end", "humanReadableValues": []}, {"values": ["867104020633980"], "fieldCode": "163149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "fieldType": "concept", "parentCode": "", "fieldDataType": "deviceid", "formSubmissionField": "deviceid", "humanReadableValues": []}], "type": "Event", "version": 1521183544980, "duration": 0, "_rev": "2-04d992d294837437d5fc099fae979049", "eventDate": "2018-03-16T03:00:00.000+03:00", "eventType": "Birth Registration", "dateEdited": "2018-03-16T10:03:00.759+03:00", "entityType": "child", "locationId": "42abc582-6658-488b-922e-7be500c070f3", "providerId": "biddemo", "dateCreated": "2018-03-19T17:27:29.364+03:00", "identifiers": {"OPENMRS_UUID": "06c8644b-b560-45fd-9af5-b6b1484e3504"}, "baseEntityId": "58b33379-dab2-4f5c-8f09-6d2bd63023d8", "serverVersion": 1521183592609, "formSubmissionId": "d59504cc-09ef-4d09-9dc3-8f7eb65882fd"}', null), +(6, '{"_id": "05934ae338431f28bf6793b241bdbb60", "obs": [{"values": ["2018-01-10"], "fieldCode": "1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "fieldType": "concept", "parentCode": "783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "fieldDataType": "date", "formSubmissionField": "opv_0", "humanReadableValues": []}, {"values": ["0"], "fieldCode": "1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "fieldType": "concept", "parentCode": "783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "fieldDataType": "calculate", "formSubmissionField": "opv_0_dose", "humanReadableValues": []}], "type": "Event", "version": 1521183602537, "duration": 0, "_rev": "2-45e4b7c82520480edbc1adecec55f6ae", "eventDate": "2018-01-10T11:59:37.380+03:00", "eventType": "Vaccination", "dateEdited": "2018-03-16T10:03:00.949+03:00", "entityType": "vaccination", "locationId": "42abc582-6658-488b-922e-7be500c070f3", "providerId": "biddemo", "dateCreated": "2018-03-19T17:27:29.371+03:00", "identifiers": {"OPENMRS_UUID": "35d6a414-a379-4ada-97ee-39f680eecb91"}, "baseEntityId": "58b33379-dab2-4f5c-8f09-6d2bd63023d8", "serverVersion": 1521183593424, "formSubmissionId": "baf8e663-71a1-4a30-8d40-2f3cab45a6d7"}', null), +(7, '{"_id": "05934ae338431f28bf6793b241bdbc55", "obs": [{"values": ["2018-01-10"], "fieldCode": "1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "fieldType": "concept", "parentCode": "886AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "fieldDataType": "date", "formSubmissionField": "bcg", "humanReadableValues": []}, {"values": ["1"], "fieldCode": "1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "fieldType": "concept", "parentCode": "886AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "fieldDataType": "calculate", "formSubmissionField": "bcg_dose", "humanReadableValues": []}], "type": "Event", "version": 1521183602575, "duration": 0, "_rev": "2-1f5e07f8e65a09d5ca34cb21e6a29b41", "eventDate": "2018-01-10T11:59:41.058+03:00", "eventType": "Vaccination", "dateEdited": "2018-03-16T10:03:01.148+03:00", "entityType": "vaccination", "locationId": "42abc582-6658-488b-922e-7be500c070f3", "providerId": "biddemo", "dateCreated": "2018-03-19T17:27:29.376+03:00", "identifiers": {"OPENMRS_UUID": "94ec8561-14ab-48d1-a6d4-4ae05191f6e6"}, "baseEntityId": "58b33379-dab2-4f5c-8f09-6d2bd63023d8", "serverVersion": 1521183593424, "formSubmissionId": "014413c8-4dbf-4876-977d-0c1dfb9e4d05"}', null), +(8, '{"_id": "05934ae338431f28bf6793b241bdc231", "obs": [{"values": ["2018-02-21"], "fieldCode": "1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "fieldType": "concept", "parentCode": "1685AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "fieldDataType": "date", "formSubmissionField": "penta_1", "humanReadableValues": []}, {"values": ["1"], "fieldCode": "1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "fieldType": "concept", "parentCode": "1685AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "fieldDataType": "calculate", "formSubmissionField": "penta_1_dose", "humanReadableValues": []}], "type": "Event", "version": 1521183602635, "duration": 0, "_rev": "2-ad81df44c1f2eaba862585dd8918a16e", "eventDate": "2018-02-21T11:59:50.145+03:00", "eventType": "Vaccination", "dateEdited": "2018-03-16T10:03:01.341+03:00", "entityType": "vaccination", "locationId": "42abc582-6658-488b-922e-7be500c070f3", "providerId": "biddemo", "dateCreated": "2018-03-19T17:27:29.385+03:00", "identifiers": {"OPENMRS_UUID": "85abab15-0be3-4a9d-962d-de99a920d3cb"}, "baseEntityId": "58b33379-dab2-4f5c-8f09-6d2bd63023d8", "serverVersion": 1521183593424, "formSubmissionId": "5f1b201d-2132-4eb9-8fa1-3169a61cc50a"}', null), +(9, '{"_id": "05934ae338431f28bf6793b241bdc3df", "obs": [{"values": ["2018-02-21"], "fieldCode": "1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "fieldType": "concept", "parentCode": "783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "fieldDataType": "date", "formSubmissionField": "opv_1", "humanReadableValues": []}, {"values": ["1"], "fieldCode": "1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "fieldType": "concept", "parentCode": "783AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "fieldDataType": "calculate", "formSubmissionField": "opv_1_dose", "humanReadableValues": []}], "type": "Event", "version": 1521183602672, "duration": 0, "_rev": "2-9f892924c7e9afe675bdb9f9a3d6231f", "eventDate": "2018-02-21T11:59:55.977+03:00", "eventType": "Vaccination", "dateEdited": "2018-03-16T10:03:01.537+03:00", "entityType": "vaccination", "locationId": "42abc582-6658-488b-922e-7be500c070f3", "providerId": "biddemo", "dateCreated": "2018-03-19T17:27:29.390+03:00", "identifiers": {"OPENMRS_UUID": "28baa742-4a00-480f-9fff-12629c765cc2"}, "baseEntityId": "58b33379-dab2-4f5c-8f09-6d2bd63023d8", "team":"ATeam", "teamId":"3453hgb454-4j345n-llk345","serverVersion": 1521183593424, "formSubmissionId": "4bc04bbe-bb2f-4e4e-b123-0c6131b91fec"}', null), +(10, '{"_id": "05934ae338431f28bf6793b241bdc44a", "obs": [{"values": ["2018-02-21"], "fieldCode": "1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "fieldType": "concept", "parentCode": "159698AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "fieldDataType": "date", "formSubmissionField": "rota_1", "humanReadableValues": []}, {"values": ["1"], "fieldCode": "1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "fieldType": "concept", "parentCode": "159698AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "fieldDataType": "calculate", "formSubmissionField": "rota_1_dose", "humanReadableValues": []}], "type": "Event", "version": 1521183602735, "duration": 0, "_rev": "2-3514437b6b19290b16b49714bf0182e8", "eventDate": "2018-02-21T12:00:02.298+03:00", "eventType": "Vaccination", "dateEdited": "2018-03-16T10:03:01.729+03:00", "entityType": "vaccination", "locationId": "42abc582-6658-488b-922e-7be500c070f3", "providerId": "biddemo", "dateCreated": "2018-03-19T17:27:29.394+03:00", "identifiers": {"OPENMRS_UUID": "34701637-5c2f-4483-a05e-46df003990ef"}, "baseEntityId": "58b33379-dab2-4f5c-8f09-6d2bd63023d8","team":"ATeam", "teamId":"3453hgb454-4j345n-llk345", "serverVersion": 1521183593424, "formSubmissionId": "6947237c-5e2b-4ccd-953b-dd8b019e0484"}', null), +(11, '{"_id": "05934ae338431f28bf6793b241be69a5", "obs": [{"values": ["2018-02-21"], "fieldCode": "1410AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "fieldType": "concept", "parentCode": "162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "fieldDataType": "date", "formSubmissionField": "pcv_1", "humanReadableValues": []}, {"values": ["1"], "fieldCode": "1418AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "fieldType": "concept", "parentCode": "162342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "fieldDataType": "calculate", "formSubmissionField": "pcv_1_dose", "humanReadableValues": []}], "type": "Event", "version": 1521183849328, "duration": 0, "_rev": "2-1ef09e6758ecd9f2adaa1eb35e143a7b", "eventDate": "2018-02-21T12:00:08.788+03:00", "eventType": "Vaccination", "dateEdited": "2018-03-16T10:13:03.469+03:00", "entityType": "vaccination", "locationId": "42abc582-6658-488b-922e-7be500c070f3", "providerId": "biddemo", "dateCreated": "2018-03-19T17:27:29.398+03:00", "identifiers": {"OPENMRS_UUID": "4aecc0c1-e008-4227-938d-66db17236a3d"}, "baseEntityId": "58b33379-dab2-4f5c-8f09-6d2bd63023d8", "team":"ATeam", "teamId":"3453hgb454-4j345n-llk345","serverVersion": 1521184133098, "formSubmissionId": "d6c08393-ebde-4faa-ac94-11429c1233dd"}', null), +(12, '{"_id": "05934ae338431f28bf6793b24177a1dc", "obs": [{"values": ["8.6"], "fieldCode": "5089AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "fieldType": "concept", "parentCode": "", "fieldDataType": "decimal", "formSubmissionField": "Weight_Kgs", "humanReadableValues": []}, {"values": ["-0.3160736521259359"], "fieldCode": "162584AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "fieldType": "concept", "parentCode": "", "fieldDataType": "calculation", "formSubmissionField": "Z_Score_Weight_Age", "humanReadableValues": []}], "type": "Event", "version": 1521468856705, "duration": 0, "_rev": "65-9ed92fd61bd67d89325ee3ea35c3f3cb", "eventDate": "2018-01-13T19:37:11.954+03:00", "eventType": "Growth Monitoring", "dateEdited": "2018-03-19T17:17:15.649+03:00", "entityType": "weight", "locationId": "42b88545-7ebb-4e11-8d1a-3d3a924c8af4", "providerId": "biddemo", "dateCreated": "2018-03-19T17:28:40.255+03:00", "identifiers": {}, "baseEntityId": "ea1f9439-a663-4073-93b9-6ef2b8bca3c1", "serverVersion": 1521469045587, "formSubmissionId": "306b6dc2-fa15-4e48-9ac3-4f8044899051"}', null), +(13, '{"_id": "05934ae338431f28bf6793b241780bac", "obs": [{"values": ["11.8"], "fieldCode": "5089AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "fieldType": "concept", "parentCode": "", "fieldDataType": "decimal", "formSubmissionField": "Weight_Kgs", "humanReadableValues": []}, {"values": ["2.0903075436287146"], "fieldCode": "162584AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "fieldType": "concept", "parentCode": "", "fieldDataType": "calculation", "formSubmissionField": "Z_Score_Weight_Age", "humanReadableValues": []}], "type": "Event", "version": 1521468857114, "duration": 0, "_rev": "65-81466693915e45bc1feb1f8ccc466475", "eventDate": "2018-03-12T19:40:01.023+03:00", "eventType": "Growth Monitoring", "dateEdited": "2018-03-19T17:17:15.789+03:00", "entityType": "weight", "locationId": "42b88545-7ebb-4e11-8d1a-3d3a924c8af4", "providerId": "biddemo", "dateCreated": "2018-03-19T17:28:40.260+03:00", "identifiers": {}, "baseEntityId": "ea1f9439-a663-4073-93b9-6ef2b8bca3c1", "serverVersion": 1521469045588, "formSubmissionId": "9bd94f7b-d7f5-4e38-bc0d-2fa7eb84dad3"}', null), +(14, '{"_id": "05934ae338431f28bf6793b241781149", "obs": [{"values": ["7.6"], "fieldCode": "5089AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "fieldType": "concept", "parentCode": "", "fieldDataType": "decimal", "formSubmissionField": "Weight_Kgs", "humanReadableValues": []}, {"values": ["0.10700349151262006"], "fieldCode": "162584AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "fieldType": "concept", "parentCode": "", "fieldDataType": "calculation", "formSubmissionField": "Z_Score_Weight_Age", "humanReadableValues": []}], "type": "Event", "version": 1521468857524, "duration": 0, "_rev": "65-9a91db1bb8e76c4c8a163c282c5d7479", "eventDate": "2017-09-06T19:40:24.702+03:00", "eventType": "Growth Monitoring", "dateEdited": "2018-03-19T17:17:15.929+03:00", "entityType": "weight", "locationId": "42b88545-7ebb-4e11-8d1a-3d3a924c8af5", "providerId": "biddemo2", "dateCreated": "2018-03-19T17:28:40.264+03:00", "identifiers": {}, "baseEntityId": "ea1f9439-a663-4073-93b9-6ef2b8bca3c1", "serverVersion": 1521469045589, "formSubmissionId": "31c4a45a-09f4-4b01-abe8-a87526827df6"}', null), +(15, '{"_id": "05934ae338431f28bf6793b241781a1e", "obs": [{"values": ["9.3"], "fieldCode": "5089AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "fieldType": "concept", "parentCode": "", "fieldDataType": "decimal", "formSubmissionField": "Weight_Kgs", "humanReadableValues": []}, {"values": ["1.0535868964441777"], "fieldCode": "162584AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "fieldType": "concept", "parentCode": "", "fieldDataType": "calculation", "formSubmissionField": "Z_Score_Weight_Age", "humanReadableValues": []}], "type": "Event", "version": 1521468857912, "duration": 0, "_rev": "65-bb37dd0fda12683a31217d1157d86539", "eventDate": "2017-11-06T19:42:02.327+03:00", "eventType": "Growth Monitoring", "dateEdited": "2018-03-19T17:17:16.069+03:00", "entityType": "weight", "locationId": "42b88545-7ebb-4e11-8d1a-3d3a924c8af5", "providerId": "biddemo2", "dateCreated": "2018-03-19T17:28:40.268+03:00", "identifiers": {}, "baseEntityId": "ea1f9439-a663-4073-93b9-6ef2b8bca3c1", "serverVersion": 1521469045590, "formSubmissionId": "3f66450e-2b66-43da-9b9b-dae5fced764f"}', null); + + +INSERT INTO core.event_metadata (id, event_id, document_id, base_entity_id, form_submission_id, server_version, openmrs_uuid, event_type, event_date, entity_type ,provider_id, location_id, team, team_id, date_created, date_edited, date_deleted) VALUES +(1, 1, '05934ae338431f28bf6793b2417696bf', 'ea1f9439-a663-4073-93b9-6ef2b8bca3c1', '29243014-48df-4165-a82d-f4878f6a830e', 1520945634380, null, 'Vaccination', '2018-03-13 17:42:03.326000', 'vaccination', 'biddemo', '42b88545-7ebb-4e11-8d1a-3d3a924c8af4', null, null, '2018-03-19 17:27:26.477000', null, null), +(2, 2, '05934ae338431f28bf6793b24199e690', '43930c23-c787-4ddb-ab76-770f77e7b17d', '6b3243e9-3d45-495c-af69-f012061def01', 1521016638453, 'd3630a60-a1f4-4267-9225-f4cb728f4178', 'Vaccination', '2018-03-14 03:00:00.000000', 'mother', 'biddemo', '42abc582-6658-488b-922e-7be500c070f3', null, null, '2018-03-19 17:27:28.717000', '2018-03-14 11:39:35.826000', null), +(3, 3, '05934ae338431f28bf6793b2419c64fb', 'ea1f9439-a663-4073-93b9-6ef2b8bca3c1', 'bfbfabe8-d4ae-4db2-940f-a6f126ef7829', 1521033533700, null, 'Vaccination', '2018-03-14 19:09:51.379000', 'vaccination', 'biddemo', '42b88545-7ebb-4e11-8d1a-3d3a924c8af4', null, null, '2018-03-19 17:27:28.750000', null, null), +(4, 4, '05934ae338431f28bf6793b2419c319a', 'ea1f9439-a663-4073-93b9-6ef2b8bca3c1', 'd960046a-e2a0-4bbf-b687-d41c2a52d8c8', 1521044588444, null, 'Vaccination', '2018-03-13 22:10:00.321000', 'vaccination', 'biddemo', '42b88545-7ebb-4e11-8d1a-3d3a924c8af4', null, null, '2018-03-19 17:27:29.019000', '2018-03-14 19:21:38.401000', null), +(5, 5, '05934ae338431f28bf6793b241bdb88c', '58b33379-dab2-4f5c-8f09-6d2bd63023d8', 'd59504cc-09ef-4d09-9dc3-8f7eb65882fd', 1521183592609, '06c8644b-b560-45fd-9af5-b6b1484e3504', 'Birth Registration', '2018-03-16 03:00:00.000000', 'child', 'biddemo', '42abc582-6658-488b-922e-7be500c070f3', null, null, '2018-03-19 17:27:29.364000', '2018-03-16 10:03:00.759000', null), +(6, 6, '05934ae338431f28bf6793b241bdbb60', '58b33379-dab2-4f5c-8f09-6d2bd63023d8', 'baf8e663-71a1-4a30-8d40-2f3cab45a6d7', 1521183593424, '35d6a414-a379-4ada-97ee-39f680eecb91', 'Vaccination', '2018-01-10 11:59:37.380000', 'vaccination', 'biddemo', '42abc582-6658-488b-922e-7be500c070f3', null, null, '2018-03-19 17:27:29.371000', '2018-03-16 10:03:00.949000', null), +(7, 7, '05934ae338431f28bf6793b241bdbc55', '58b33379-dab2-4f5c-8f09-6d2bd63023d8', '014413c8-4dbf-4876-977d-0c1dfb9e4d05', 1521183593424, '94ec8561-14ab-48d1-a6d4-4ae05191f6e6', 'Vaccination', '2018-01-10 11:59:41.058000', 'vaccination', 'biddemo', '42abc582-6658-488b-922e-7be500c070f3', null, null, '2018-03-19 17:27:29.376000', '2018-03-16 10:03:01.148000', null), +(8, 8, '05934ae338431f28bf6793b241bdc231', '58b33379-dab2-4f5c-8f09-6d2bd63023d8', '5f1b201d-2132-4eb9-8fa1-3169a61cc50a', 1521183593424, '85abab15-0be3-4a9d-962d-de99a920d3cb', 'Vaccination', '2018-02-21 11:59:50.145000', 'vaccination', 'biddemo', '42abc582-6658-488b-922e-7be500c070f3', null, null, '2018-03-19 17:27:29.385000', '2018-03-16 10:03:01.341000', null), +(9, 9, '05934ae338431f28bf6793b241bdc3df', '58b33379-dab2-4f5c-8f09-6d2bd63023d8', '4bc04bbe-bb2f-4e4e-b123-0c6131b91fec', 1521183593424, '28baa742-4a00-480f-9fff-12629c765cc2', 'Vaccination', '2018-02-21 11:59:55.977000', 'vaccination', 'biddemo', '42abc582-6658-488b-922e-7be500c070f3', 'ATeam', '3453hgb454-4j345n-llk345', '2018-03-19 17:27:29.390000', '2018-03-16 10:03:01.537000', null), +(10, 10, '05934ae338431f28bf6793b241bdc44a', '58b33379-dab2-4f5c-8f09-6d2bd63023d8', '6947237c-5e2b-4ccd-953b-dd8b019e0484', 1521183593424, '34701637-5c2f-4483-a05e-46df003990ef', 'Vaccination', '2018-02-21 12:00:02.298000', 'vaccination', 'biddemo', '42abc582-6658-488b-922e-7be500c070f3', 'ATeam', '3453hgb454-4j345n-llk345', '2018-03-19 17:27:29.394000', '2018-03-16 10:03:01.729000', null), +(11, 11, '05934ae338431f28bf6793b241be69a5', '58b33379-dab2-4f5c-8f09-6d2bd63023d8', 'd6c08393-ebde-4faa-ac94-11429c1233dd', 1521184133098, '4aecc0c1-e008-4227-938d-66db17236a3d', 'Vaccination', '2018-02-21 12:00:08.788000', 'vaccination', 'biddemo', '42abc582-6658-488b-922e-7be500c070f3', 'BTeam', '3453hgb454-4j345n-llk348', '2018-03-19 17:27:29.398000', '2018-03-16 10:13:03.469000', null), +(12, 12, '05934ae338431f28bf6793b24177a1dc', 'ea1f9439-a663-4073-93b9-6ef2b8bca3c1', '306b6dc2-fa15-4e48-9ac3-4f8044899051', 1521469045587, null, 'Growth Monitoring', '2018-01-13 19:37:11.954000', 'weight', 'biddemo', '42b88545-7ebb-4e11-8d1a-3d3a924c8af4', null, null, '2018-03-19 17:28:40.255000', '2018-03-19 17:17:15.649000', null), +(13, 13, '05934ae338431f28bf6793b241780bac', 'ea1f9439-a663-4073-93b9-6ef2b8bca3c1', '9bd94f7b-d7f5-4e38-bc0d-2fa7eb84dad3', 1521469045588, null, 'Growth Monitoring', '2018-03-12 19:40:01.023000', 'weight', 'biddemo', '42b88545-7ebb-4e11-8d1a-3d3a924c8af4', null, null, '2018-03-19 17:28:40.260000', '2018-03-19 17:17:15.789000', null), +(14, 14, '05934ae338431f28bf6793b241781149', 'ea1f9439-a663-4073-93b9-6ef2b8bca3c1', '31c4a45a-09f4-4b01-abe8-a87526827df6', 1521469045589, null, 'Growth Monitoring', '2017-09-06 19:40:24.702000', 'weight', 'biddemo2', '42b88545-7ebb-4e11-8d1a-3d3a924c8af5', null, null, '2018-03-19 17:28:40.264000', '2018-03-19 17:17:15.929000', null), +(15, 15, '05934ae338431f28bf6793b241781a1e', 'ea1f9439-a663-4073-93b9-6ef2b8bca3c1', '3f66450e-2b66-43da-9b9b-dae5fced764f', 1521469045590, null, 'Growth Monitoring', '2017-11-06 19:42:02.327000', 'weight', 'biddemo2', '42b88545-7ebb-4e11-8d1a-3d3a924c8af5', null, null, '2018-03-19 17:28:40.268000', '2018-03-19 17:17:16.069000', null); \ No newline at end of file diff --git a/opensrp-core/bin/src/test/resources/test-scripts/multimedia.sql b/opensrp-core/bin/src/test/resources/test-scripts/multimedia.sql new file mode 100644 index 0000000000..c598af60e5 --- /dev/null +++ b/opensrp-core/bin/src/test/resources/test-scripts/multimedia.sql @@ -0,0 +1,11 @@ +--clear data +TRUNCATE TABLE core.multi_media; + +ALTER SEQUENCE core.multi_media_id_seq RESTART WITH 6; + +INSERT INTO core.multi_media (id, document_id, case_id, provider_id, content_type, file_path, file_category) VALUES +(1, '05934ae338431f28bf6793b241f0c5ca', '040d4f18-8140-479c-aa21-725612073490', 'biddemo', 'image/jpeg', '/opt/patient_images/040d4f18-8140-479c-aa21-725612073490.jpg', 'profilepic'), +(2, '317f8db1bb6cc4b15ecc9993a282bc2f', '3c07c42c-6aee-4eb9-8db3-0aae3eac8f6d', 'biddemo', 'image/jpeg', '/opt/patient_images/3c07c42c-6aee-4eb9-8db3-0aae3eac8f6d.jpg', 'profilepic'), +(3, '091488163b6ecd589a915372a0ad3b0d', '87dc3230-84f7-4088-b257-e8b3130ab86b', 'biddemo', 'image/jpeg', '/opt/patient_images/87dc3230-84f7-4088-b257-e8b3130ab86b.jpg', 'profilepic'), +(4, '3157f9339bf0c948dd5d12aff82111e1', '01503901-5acb-45fb-affe-839ac39d200d', 'biddemo', 'image/jpeg', '/opt/patient_images/01503901-5acb-45fb-affe-839ac39d200d.jpg', 'profilepic'), +(5, '317f8db1bb6cc4b15ecc9993a2922f47', '24eec0d8-e0ee-4f22-9d6b-3cca84bdefcf', 'tester11', 'image/jpeg', '/opt/patient_images/24eec0d8-e0ee-4f22-9d6b-3cca84bdefcf.jpg', 'profilepic'); diff --git a/opensrp-core/bin/src/test/resources/test-scripts/report.sql b/opensrp-core/bin/src/test/resources/test-scripts/report.sql new file mode 100644 index 0000000000..c7e0575cde --- /dev/null +++ b/opensrp-core/bin/src/test/resources/test-scripts/report.sql @@ -0,0 +1,22 @@ +--clear data +TRUNCATE TABLE core.report CASCADE; + +ALTER SEQUENCE core.report_id_seq RESTART WITH 6; + +ALTER SEQUENCE core.report_metadata_id_seq RESTART WITH 6; + +--insert data + +INSERT INTO core.report (id, json) VALUES +(1, '{"_id": "07271855-4018-497a-b180-6af01f0fa62b", "baseEntityId": "6654kk-mnj45-mmnfgd-l45645" , "type": "Report", "status": "ERROR", "version": 1503312366265, "duration": 0, "addresses": [], "attributes": {}, "dateEdited": "2017-08-21T13:46:32.331+03:00", "locationId": "b0781dd2-e1b1-4878-8e6c-fba488eb9fa3", "providerId": "biddemo", "reportDate": "2017-06-28T01:00:00.000+03:00", "reportType": "HIA2", "identifiers": {"HIN":"1121K"}, "serverVersion": 1503312366265, "hia2Indicators": [{"label": "RV 2 (< 1 year) at facility", "value": "2", "dhisId": "dpKLNY9JjRR", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received RV 2 dose at this facility in this month ", "indicatorCode": "CHN3-070"}, {"label": "Vitamin A supplement to infants and children 12-59 months", "value": "0", "dhisId": "JfY9vBHsyzF", "category": "Vitamin A, Deworming, and ITNs", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children age 12-59 months who received vitamin A at this facility in this month", "indicatorCode": "CHN2-070"}, {"label": "Child weighed 24-59 months", "value": "0", "dhisId": "sSxqU6qPyXr", "category": "Growth Monitoring and Nutrition", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of total children weighed aged 24-59 months who attended clinic this month", "indicatorCode": "CHN2-010"}, {"label": "RV 1 (< 1 year) at facility", "value": "2", "dhisId": "ziezVvnYWj0", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received RV 1 dose at this facility in this month ", "indicatorCode": "CHN3-065"}, {"label": "Number of days fridge non-functional", "value": "0", "dhisId": "FGJcw1TCM9D", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of days during the month that vaccine storage fridge was not functioning ", "indicatorCode": "CHN3-090"}, {"label": "Attendance child health 12-59 months (female)", "value": "0", "dhisId": "ZDSUD6VHnoh", "category": "Under 5 Clinic Attendance", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of female children aged 12 to 59 months who attended a clinic this month", "indicatorCode": "CHN1-020"}, {"label": "PCV 1 (< 1 year) at outreach", "value": "0", "dhisId": "", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received PCV 1 dose at outreach conducted by this facility in this month ", "indicatorCode": "CHN3-050-O"}, {"label": "OPV 2 (< 1 year) at outreach", "value": "0", "dhisId": "", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received OPV2 dose at outreach conducted by this facility in this month ", "indicatorCode": "CHN3-020-O"}, {"label": "IPV (< 1 year) at facility", "value": "10", "dhisId": "D2pqQ1bux6B", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received IPV dose at this facility in this month ", "indicatorCode": "CHN3-027"}, {"label": "OPV 3 (< 1 year) at facility ", "value": "0", "dhisId": "dqsYPg0F8DJ", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received OPV3 dose at this facility in this month ", "indicatorCode": "CHN3-025"}, {"label": "Weight below -3Z scores 24-59 months", "value": "0", "dhisId": "AzLJv6qTtPO", "category": "Growth Monitoring and Nutrition", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of total children age 24-59 months whose weight is below -3Z scores", "indicatorCode": "CHN2-050"}, {"label": "Attendance child health 12-59 months (total)", "value": "0", "dhisId": "sZQXZ069Vgj", "category": "Under 5 Clinic Attendance", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of Total children aged 12 to 59 months who attended clinic this month", "indicatorCode": "CHN1-021"}, {"label": "OPV 0 (< 1 year) at outreach", "value": "0", "dhisId": "", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received OPV0 dose at outreach conducted by this facility in this month ", "indicatorCode": "CHN3-010-O"}, {"label": "Not gaining weight 0-23 months", "value": "0", "dhisId": "H5cadfqRh7I", "category": "Growth Monitoring and Nutrition", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children aged 0-23 months who were weighed this month who did not gain >= 100g of weight from the last weigh-in. ", "indicatorCode": "CHN2-020"}, {"label": "BCG dose (< 1 year) at the facility", "value": "1", "dhisId": "ZTeQmMrVmNR", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received BCG dose at this facility in this month ", "indicatorCode": "CHN3-005"}, {"label": "Attendance child health (total)", "value": "43", "dhisId": "YAY7yKAkSvq", "category": "Under 5 Clinic Attendance", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of total children < 5 who attended a clinic this month ", "indicatorCode": "CHN1-025"}, {"label": "Attendance child health 12-59 months (male)", "value": "0", "dhisId": "fl4bPFJRI5j", "category": "Under 5 Clinic Attendance", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of male children aged 12 to 59 months who attended a clinic this month", "indicatorCode": "CHN1-015"}, {"label": "Total weight below -3Z scores < five years", "value": "0", "dhisId": "OM9x7oS2qke", "category": "Growth Monitoring and Nutrition", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of total children age < 5 years whose weight below -3Z scores", "indicatorCode": "CHN2-051"}, {"label": "Weight between -2Z & -3Z scores < five years", "value": "0", "dhisId": "WOZUqhR5W37", "category": "Growth Monitoring and Nutrition", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of total children age < 5 years whose weight is between -2Z and -3Z scores", "indicatorCode": "CHN2-041"}, {"label": "Weight above 2Z scores 24-59 months", "value": "0", "dhisId": "ke26q8KPQPM", "category": "Growth Monitoring and Nutrition", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of total children age 24-59 months whose weight is above 2Z scores", "indicatorCode": "CHN2-060"}, {"label": "Attendance child health < 12 months (male)", "value": "22", "dhisId": "n0uHub5ubqH", "category": "Under 5 Clinic Attendance", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of male children aged < 12 months who attended a clinic this month.", "indicatorCode": "CHN1-005"}, {"label": "Fully immunised (< 1 year) at outreach", "value": "0", "dhisId": "", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "\"Number of children < one year who have received the complete BCG", "indicatorCode": "CHN3-080-O"}, {"label": "OPV 2 (< 1 year) at facility ", "value": "2", "dhisId": "Jbxssr389B6", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received OPV2 dose at this facility in this month ", "indicatorCode": "CHN3-020"}, {"label": "Child weighed 0-23 months", "value": "0", "dhisId": "adkGrSGNt3L", "category": "Growth Monitoring and Nutrition", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of total children weighed aged 0-23 months who attended clinic this month", "indicatorCode": "CHN2-005"}, {"label": "Vitamin A supplement to infants and children 6-11 months", "value": "0", "dhisId": "DSbbltBORY3", "category": "Vitamin A, Deworming, and ITNs", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children age 6-11 months who received vitamin A at this facility in this month", "indicatorCode": "CHN2-065"}, {"label": "Deworming dose 12-59 months", "value": "0", "dhisId": "B8nBT4kGhtB", "category": "Vitamin A, Deworming, and ITNs", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children age 12-59 months who received a deworming dose at this facility in this month ", "indicatorCode": "CHN2-075"}, {"label": "Fully immunised (< 1 year) at facility", "value": "14", "dhisId": "dzllAar6RrI", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "\"Number of children < one year who have received the complete BCG", "indicatorCode": "CHN3-080"}, {"label": "Total weight above 2Z scores < five years", "value": "0", "dhisId": "Yi4grVdr9Q5", "category": "Growth Monitoring and Nutrition", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of total children age < 5 years whose weight is above 2Z scores", "indicatorCode": "CHN2-061"}, {"label": "DPT-Hib-HepB 1 (< 1 year) at facility", "value": "2", "dhisId": "N7VEEjo8AdV", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received DPT-Hib+HepB 1 dose at this facility in this month ", "indicatorCode": "CHN3-035"}, {"label": "Measles/MR 1 (< 1 year) at outreach", "value": "0", "dhisId": "", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received Measles/ MR dose at outreach conducted by this facility in this month ", "indicatorCode": "CHN3-075-O"}, {"label": "OPV 4 (< 1 year) at outreach", "value": "0", "dhisId": "", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received OPV4 dose at outreach conducted by this facility in this month ", "indicatorCode": "CHN3-030-O"}, {"label": "OPV 4 (< 1 year) at facility ", "value": "0", "dhisId": "poPXN7Wn3RL", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received OPV4 dose at this facility in this month ", "indicatorCode": "CHN3-030"}, {"label": "Weight between -2Z & -3Z scores 0-23 months", "value": "0", "dhisId": "lcpx7xdVC3z", "category": "Growth Monitoring and Nutrition", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of total children age 0-23 months whose weight is between -2Z and -3Z scores", "indicatorCode": "CHN2-035"}, {"label": "OPV 0 (< 1 year) at facility ", "value": "1", "dhisId": "rwNWKJC4dIO", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received OPV0 dose at this facility in this month ", "indicatorCode": "CHN3-010"}, {"label": "Weight below -3Z scores 0-23 months", "value": "0", "dhisId": "LpkrzZezPhP", "category": "Growth Monitoring and Nutrition", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of total children age 0-23 months whose weight is below -3Z scores", "indicatorCode": "CHN2-045"}, {"label": "Total not gaining weight age < five years", "value": "0", "dhisId": "e10sC5c4pRz", "category": "Growth Monitoring and Nutrition", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of total children aged < five years who were weighed this month and did not gain >= 100g from the last weigh-in.", "indicatorCode": "CHN2-030"}, {"label": "Attendance child health < 12 months (female)", "value": "21", "dhisId": "IWwblgpMxiS", "category": "Under 5 Clinic Attendance", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of female children aged < 12 months who attended a clinic this month.", "indicatorCode": "CHN1-010"}, {"label": "PCV 3 (< 1 year) at outreach", "value": "0", "dhisId": "", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received PCV 3 dose at outreach conducted by this facility in this month ", "indicatorCode": "CHN3-060-O"}, {"label": "RV 2 (< 1 year) at outreach", "value": "0", "dhisId": "", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received RV 2 dose at outreach conducted by this facility in this month ", "indicatorCode": "CHN3-070-O"}, {"label": "Not gaining weight 24-59 months", "value": "0", "dhisId": "xWDkbLq9kji", "category": "Growth Monitoring and Nutrition", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children aged 24-59 months who were weighed this month who did not gain >= 100g of weight from the last weigh-in. ", "indicatorCode": "CHN2-025"}, {"label": "Attendance from outside catchment area", "value": "0", "dhisId": "WFxN7txijYV", "category": "Under 5 Clinic Attendance", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of total children who attended clinic and are not part of clinics catchment area", "indicatorCode": "CHN1-030"}, {"label": "IPV (< 1 year) at outreach", "value": "10", "dhisId": "RAbXk70XDMq", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received IPV dose at outreach conducted by this facility in this month ", "indicatorCode": "CHN3-027-O"}, {"label": "Children who received insecticide treated net", "value": "0", "dhisId": "G4vWZAJ0uz7", "category": "Vitamin A, Deworming, and ITNs", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children who received insecticide treated nets at this facility in this month ", "indicatorCode": "CHN2-080"}, {"label": "Weight between -2Z & -3Z scores 24-59 months", "value": "0", "dhisId": "hi9sRtkzimM", "category": "Growth Monitoring and Nutrition", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of total children age 24-59 months whose weight is between -2Z and -3Z scores", "indicatorCode": "CHN2-040"}, {"label": "OPV 1 (< 1 year) at facility ", "value": "1", "dhisId": "J3Kd9wHj7mR", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received OPV1 dose at this facility in this month ", "indicatorCode": "CHN3-015"}, {"label": "Attendance child health < 12 months (total)", "value": "43", "dhisId": "C8vB7dH9ab4", "category": "Under 5 Clinic Attendance", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of total children aged < 12 months who attended a clinic this month.", "indicatorCode": "CHN1-011"}, {"label": "DPT-Hib-HepB 2 (< 1 year) at facility", "value": "2", "dhisId": "R2JLWtup2XR", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received DPT-Hib+HepB 2 dose at this facility in this month ", "indicatorCode": "CHN3-040"}, {"label": "RV 1 (< 1 year) at outreach", "value": "0", "dhisId": "", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received RV 1 dose at outreach conducted by this facility in this month ", "indicatorCode": "CHN3-065-O"}, {"label": "PCV 1 (< 1 year) at facilty", "value": "1", "dhisId": "dPpDhpO7GpB", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received PCV 1 dose at this facility in this month ", "indicatorCode": "CHN3-050"}, {"label": "DPT-Hib-HepB 3 (< 1 year) at facility", "value": "0", "dhisId": "ujEvTSZ0Wvn", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received DPT-Hib+HepB 3 dose at this facility in this month ", "indicatorCode": "CHN3-045"}, {"label": "Measles/MR 2 (at 18 months) at facility", "value": "0", "dhisId": "sqfX5MniMIH", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children at 18 months who received Measles/ MR 2 dose at this facility in this month ", "indicatorCode": "CHN3-085"}, {"label": "BCG dose (< 1 year) at outreach", "value": "0", "dhisId": "", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received BCG dose at outreach conducted by this facility in this month ", "indicatorCode": "CHN3-005-O"}, {"label": "DPT-Hib-HepB 2 (< 1 year) at outreach", "value": "0", "dhisId": "", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received DPT-Hib+HepB 2 dose at outreach conducted by this facility in this month ", "indicatorCode": "CHN3-040-O"}, {"label": "Weight above 2Z scores 0-23 months", "value": "0", "dhisId": "gdrQ69fCF8B", "category": "Growth Monitoring and Nutrition", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of total children age 0-23 months whose weight is above 2Z scores", "indicatorCode": "CHN2-055"}, {"label": "Total child weighed", "value": "0", "dhisId": "xIGHv5CY2fF", "category": "Growth Monitoring and Nutrition", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of total children weighed aged < 5 years who attended clinic this month", "indicatorCode": "CHN2-015"}, {"label": "DPT-Hib-HepB 1 (< 1 year) at outreach", "value": "0", "dhisId": "", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received DPT-Hib+HepB 1 dose at outreach conducted by this facility in this month ", "indicatorCode": "CHN3-035-O"}, {"label": "Measles/MR 1 (< 1 year) at facility", "value": "0", "dhisId": "zIM9ehVMkNW", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received Measles/ MR 1 dose at this facility in this month ", "indicatorCode": "CHN3-075"}, {"label": "Measles/MR 2 (at 18 months) at outreach", "value": "0", "dhisId": "", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children at 18 months who received Measles/ MR 2 dose at outreach conducted by this facility in this month ", "indicatorCode": "CHN3-085-O"}, {"label": "PCV 3 (< 1 year) at facility", "value": "0", "dhisId": "K5XarM6QLxq", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received PCV 3 dose at this facility in this month ", "indicatorCode": "CHN3-060"}, {"label": "DPT-Hib-HepB 3 (< 1 year) at outreach", "value": "0", "dhisId": "", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received DPT-Hib+HepB 3 dose at outreach conducted by this facility in this month ", "indicatorCode": "CHN3-045-O"}, {"label": "OPV 3 (< 1 year) at outreach", "value": "0", "dhisId": "", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received OPV3 dose at outreach conducted by this facility in this month ", "indicatorCode": "CHN3-025-O"}, {"label": "OPV 1 (< 1 year) at outreach", "value": "0", "dhisId": "", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received OPV1 dose at outreach conducted by this facility in this month ", "indicatorCode": "CHN3-015-O"}, {"label": "PCV 2 (< 1 year) at facilty", "value": "2", "dhisId": "AU3Zp03Atnf", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received PCV 2 dose at this facility in this month ", "indicatorCode": "CHN3-055"}, {"label": "PCV 2 (< 1 year) at outreach", "value": "0", "dhisId": "", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received PCV 2 dose at outreach conducted by this facility in this month ", "indicatorCode": "CHN3-055-O"}], "formSubmissionId": "7073cef4-b974-4910-afa7-dd2ccadba089"}'), +(2, '{"_id": "ecafd20f-c95b-4046-9355-9512e1908da4", "baseEntityId": "678343544-nhj7-jghdfgfd-mkjdkfg" ,"type": "Report", "status": "WARNING", "version": 1500056613263, "duration": 0, "addresses": [], "attributes": {}, "dateEdited": "2017-07-17T18:38:43.492+03:00", "locationId": "9e4fc064-d8e7-4fcb-942e-cbcf6524fb24", "providerId": "biddemo", "reportDate": "2017-07-14T21:23:52.478+03:00", "reportType": "HIA2", "identifiers": {"WHO_R":"5934343"}, "serverVersion": 1500056613263, "hia2Indicators": [{"label": "RV 2 (< 1 year) at facility", "value": "0", "dhisId": "dpKLNY9JjRR", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received RV 2 dose at this facility in this month ", "indicatorCode": "CHN3-070"}, {"label": "Vitamin A supplement to infants and children 12-59 months", "value": "0", "dhisId": "JfY9vBHsyzF", "category": "Vitamin A, Deworming, and ITNs", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children age 12-59 months who received vitamin A at this facility in this month", "indicatorCode": "CHN2-070"}, {"label": "Child weighed 24-59 months", "value": "0", "dhisId": "sSxqU6qPyXr", "category": "Growth Monitoring and Nutrition", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of total children weighed aged 24-59 months who attended clinic this month", "indicatorCode": "CHN2-010"}, {"label": "RV 1 (< 1 year) at facility", "value": "0", "dhisId": "ziezVvnYWj0", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received RV 1 dose at this facility in this month ", "indicatorCode": "CHN3-065"}, {"label": "Number of days fridge non-functional", "value": "0", "dhisId": "FGJcw1TCM9D", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of days during the month that vaccine storage fridge was not functioning ", "indicatorCode": "CHN3-090"}, {"label": "Attendance child health 12-59 months (female)", "value": "0", "dhisId": "ZDSUD6VHnoh", "category": "Under 5 Clinic Attendance", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of female children aged 12 to 59 months who attended a clinic this month", "indicatorCode": "CHN1-020"}, {"label": "PCV 1 (< 1 year) at outreach", "value": "0", "dhisId": "", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received PCV 1 dose at outreach conducted by this facility in this month ", "indicatorCode": "CHN3-050-O"}, {"label": "OPV 2 (< 1 year) at outreach", "value": "0", "dhisId": "", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received OPV2 dose at outreach conducted by this facility in this month ", "indicatorCode": "CHN3-020-O"}, {"label": "IPV (< 1 year) at facility", "value": "0", "dhisId": "D2pqQ1bux6B", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received IPV dose at this facility in this month ", "indicatorCode": "CHN3-027"}, {"label": "OPV 3 (< 1 year) at facility ", "value": "0", "dhisId": "dqsYPg0F8DJ", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received OPV3 dose at this facility in this month ", "indicatorCode": "CHN3-025"}, {"label": "Weight below -3Z scores 24-59 months", "value": "0", "dhisId": "AzLJv6qTtPO", "category": "Growth Monitoring and Nutrition", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of total children age 24-59 months whose weight is below -3Z scores", "indicatorCode": "CHN2-050"}, {"label": "Attendance child health 12-59 months (total)", "value": "0", "dhisId": "sZQXZ069Vgj", "category": "Under 5 Clinic Attendance", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of Total children aged 12 to 59 months who attended clinic this month", "indicatorCode": "CHN1-021"}, {"label": "OPV 0 (< 1 year) at outreach", "value": "0", "dhisId": "", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received OPV0 dose at outreach conducted by this facility in this month ", "indicatorCode": "CHN3-010-O"}, {"label": "Not gaining weight 0-23 months", "value": "0", "dhisId": "H5cadfqRh7I", "category": "Growth Monitoring and Nutrition", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children aged 0-23 months who were weighed this month who did not gain >= 100g of weight from the last weigh-in. ", "indicatorCode": "CHN2-020"}, {"label": "BCG dose (< 1 year) at the facility", "value": "0", "dhisId": "ZTeQmMrVmNR", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received BCG dose at this facility in this month ", "indicatorCode": "CHN3-005"}, {"label": "Attendance child health (total)", "value": "88", "dhisId": "YAY7yKAkSvq", "category": "Under 5 Clinic Attendance", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of total children < 5 who attended a clinic this month ", "indicatorCode": "CHN1-025"}, {"label": "Attendance child health 12-59 months (male)", "value": "0", "dhisId": "fl4bPFJRI5j", "category": "Under 5 Clinic Attendance", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of male children aged 12 to 59 months who attended a clinic this month", "indicatorCode": "CHN1-015"}, {"label": "Total weight below -3Z scores < five years", "value": "0", "dhisId": "OM9x7oS2qke", "category": "Growth Monitoring and Nutrition", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of total children age < 5 years whose weight below -3Z scores", "indicatorCode": "CHN2-051"}, {"label": "Weight between -2Z & -3Z scores < five years", "value": "0", "dhisId": "WOZUqhR5W37", "category": "Growth Monitoring and Nutrition", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of total children age < 5 years whose weight is between -2Z and -3Z scores", "indicatorCode": "CHN2-041"}, {"label": "Weight above 2Z scores 24-59 months", "value": "0", "dhisId": "ke26q8KPQPM", "category": "Growth Monitoring and Nutrition", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of total children age 24-59 months whose weight is above 2Z scores", "indicatorCode": "CHN2-060"}, {"label": "Attendance child health < 12 months (male)", "value": "54", "dhisId": "n0uHub5ubqH", "category": "Under 5 Clinic Attendance", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of male children aged < 12 months who attended a clinic this month.", "indicatorCode": "CHN1-005"}, {"label": "Fully immunised (< 1 year) at outreach", "value": "0", "dhisId": "", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "\"Number of children < one year who have received the complete BCG", "indicatorCode": "CHN3-080-O"}, {"label": "OPV 2 (< 1 year) at facility ", "value": "0", "dhisId": "Jbxssr389B6", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received OPV2 dose at this facility in this month ", "indicatorCode": "CHN3-020"}, {"label": "Child weighed 0-23 months", "value": "0", "dhisId": "adkGrSGNt3L", "category": "Growth Monitoring and Nutrition", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of total children weighed aged 0-23 months who attended clinic this month", "indicatorCode": "CHN2-005"}, {"label": "Vitamin A supplement to infants and children 6-11 months", "value": "0", "dhisId": "DSbbltBORY3", "category": "Vitamin A, Deworming, and ITNs", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children age 6-11 months who received vitamin A at this facility in this month", "indicatorCode": "CHN2-065"}, {"label": "Deworming dose 12-59 months", "value": "0", "dhisId": "B8nBT4kGhtB", "category": "Vitamin A, Deworming, and ITNs", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children age 12-59 months who received a deworming dose at this facility in this month ", "indicatorCode": "CHN2-075"}, {"label": "Fully immunised (< 1 year) at facility", "value": "0", "dhisId": "dzllAar6RrI", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "\"Number of children < one year who have received the complete BCG", "indicatorCode": "CHN3-080"}, {"label": "Total weight above 2Z scores < five years", "value": "0", "dhisId": "Yi4grVdr9Q5", "category": "Growth Monitoring and Nutrition", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of total children age < 5 years whose weight is above 2Z scores", "indicatorCode": "CHN2-061"}, {"label": "DPT-Hib-HepB 1 (< 1 year) at facility", "value": "0", "dhisId": "N7VEEjo8AdV", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received DPT-Hib+HepB 1 dose at this facility in this month ", "indicatorCode": "CHN3-035"}, {"label": "Measles/MR 1 (< 1 year) at outreach", "value": "0", "dhisId": "", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received Measles/ MR dose at outreach conducted by this facility in this month ", "indicatorCode": "CHN3-075-O"}, {"label": "OPV 4 (< 1 year) at outreach", "value": "0", "dhisId": "", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received OPV4 dose at outreach conducted by this facility in this month ", "indicatorCode": "CHN3-030-O"}, {"label": "OPV 4 (< 1 year) at facility ", "value": "0", "dhisId": "poPXN7Wn3RL", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received OPV4 dose at this facility in this month ", "indicatorCode": "CHN3-030"}, {"label": "Weight between -2Z & -3Z scores 0-23 months", "value": "0", "dhisId": "lcpx7xdVC3z", "category": "Growth Monitoring and Nutrition", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of total children age 0-23 months whose weight is between -2Z and -3Z scores", "indicatorCode": "CHN2-035"}, {"label": "OPV 0 (< 1 year) at facility ", "value": "0", "dhisId": "rwNWKJC4dIO", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received OPV0 dose at this facility in this month ", "indicatorCode": "CHN3-010"}, {"label": "Weight below -3Z scores 0-23 months", "value": "0", "dhisId": "LpkrzZezPhP", "category": "Growth Monitoring and Nutrition", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of total children age 0-23 months whose weight is below -3Z scores", "indicatorCode": "CHN2-045"}, {"label": "Total not gaining weight age < five years", "value": "0", "dhisId": "e10sC5c4pRz", "category": "Growth Monitoring and Nutrition", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of total children aged < five years who were weighed this month and did not gain >= 100g from the last weigh-in.", "indicatorCode": "CHN2-030"}, {"label": "Attendance child health < 12 months (female)", "value": "34", "dhisId": "IWwblgpMxiS", "category": "Under 5 Clinic Attendance", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of female children aged < 12 months who attended a clinic this month.", "indicatorCode": "CHN1-010"}, {"label": "PCV 3 (< 1 year) at outreach", "value": "0", "dhisId": "", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received PCV 3 dose at outreach conducted by this facility in this month ", "indicatorCode": "CHN3-060-O"}, {"label": "RV 2 (< 1 year) at outreach", "value": "0", "dhisId": "", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received RV 2 dose at outreach conducted by this facility in this month ", "indicatorCode": "CHN3-070-O"}, {"label": "Not gaining weight 24-59 months", "value": "0", "dhisId": "xWDkbLq9kji", "category": "Growth Monitoring and Nutrition", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children aged 24-59 months who were weighed this month who did not gain >= 100g of weight from the last weigh-in. ", "indicatorCode": "CHN2-025"}, {"label": "Attendance from outside catchment area", "value": "0", "dhisId": "WFxN7txijYV", "category": "Under 5 Clinic Attendance", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of total children who attended clinic and are not part of clinics catchment area", "indicatorCode": "CHN1-030"}, {"label": "IPV (< 1 year) at outreach", "value": "0", "dhisId": "RAbXk70XDMq", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received IPV dose at outreach conducted by this facility in this month ", "indicatorCode": "CHN3-027-O"}, {"label": "Children who received insecticide treated net", "value": "0", "dhisId": "G4vWZAJ0uz7", "category": "Vitamin A, Deworming, and ITNs", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children who received insecticide treated nets at this facility in this month ", "indicatorCode": "CHN2-080"}, {"label": "Weight between -2Z & -3Z scores 24-59 months", "value": "0", "dhisId": "hi9sRtkzimM", "category": "Growth Monitoring and Nutrition", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of total children age 24-59 months whose weight is between -2Z and -3Z scores", "indicatorCode": "CHN2-040"}, {"label": "OPV 1 (< 1 year) at facility ", "value": "0", "dhisId": "J3Kd9wHj7mR", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received OPV1 dose at this facility in this month ", "indicatorCode": "CHN3-015"}, {"label": "Attendance child health < 12 months (total)", "value": "88", "dhisId": "C8vB7dH9ab4", "category": "Under 5 Clinic Attendance", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of total children aged < 12 months who attended a clinic this month.", "indicatorCode": "CHN1-011"}, {"label": "DPT-Hib-HepB 2 (< 1 year) at facility", "value": "0", "dhisId": "R2JLWtup2XR", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received DPT-Hib+HepB 2 dose at this facility in this month ", "indicatorCode": "CHN3-040"}, {"label": "RV 1 (< 1 year) at outreach", "value": "0", "dhisId": "", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received RV 1 dose at outreach conducted by this facility in this month ", "indicatorCode": "CHN3-065-O"}, {"label": "PCV 1 (< 1 year) at facilty", "value": "0", "dhisId": "dPpDhpO7GpB", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received PCV 1 dose at this facility in this month ", "indicatorCode": "CHN3-050"}, {"label": "DPT-Hib-HepB 3 (< 1 year) at facility", "value": "0", "dhisId": "ujEvTSZ0Wvn", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received DPT-Hib+HepB 3 dose at this facility in this month ", "indicatorCode": "CHN3-045"}, {"label": "Measles/MR 2 (at 18 months) at facility", "value": "0", "dhisId": "sqfX5MniMIH", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children at 18 months who received Measles/ MR 2 dose at this facility in this month ", "indicatorCode": "CHN3-085"}, {"label": "BCG dose (< 1 year) at outreach", "value": "0", "dhisId": "", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received BCG dose at outreach conducted by this facility in this month ", "indicatorCode": "CHN3-005-O"}, {"label": "DPT-Hib-HepB 2 (< 1 year) at outreach", "value": "0", "dhisId": "", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received DPT-Hib+HepB 2 dose at outreach conducted by this facility in this month ", "indicatorCode": "CHN3-040-O"}, {"label": "Weight above 2Z scores 0-23 months", "value": "0", "dhisId": "gdrQ69fCF8B", "category": "Growth Monitoring and Nutrition", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of total children age 0-23 months whose weight is above 2Z scores", "indicatorCode": "CHN2-055"}, {"label": "Total child weighed", "value": "0", "dhisId": "xIGHv5CY2fF", "category": "Growth Monitoring and Nutrition", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of total children weighed aged < 5 years who attended clinic this month", "indicatorCode": "CHN2-015"}, {"label": "DPT-Hib-HepB 1 (< 1 year) at outreach", "value": "0", "dhisId": "", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received DPT-Hib+HepB 1 dose at outreach conducted by this facility in this month ", "indicatorCode": "CHN3-035-O"}, {"label": "Measles/MR 1 (< 1 year) at facility", "value": "0", "dhisId": "zIM9ehVMkNW", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received Measles/ MR 1 dose at this facility in this month ", "indicatorCode": "CHN3-075"}, {"label": "Measles/MR 2 (at 18 months) at outreach", "value": "0", "dhisId": "", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children at 18 months who received Measles/ MR 2 dose at outreach conducted by this facility in this month ", "indicatorCode": "CHN3-085-O"}, {"label": "PCV 3 (< 1 year) at facility", "value": "0", "dhisId": "K5XarM6QLxq", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received PCV 3 dose at this facility in this month ", "indicatorCode": "CHN3-060"}, {"label": "DPT-Hib-HepB 3 (< 1 year) at outreach", "value": "0", "dhisId": "", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received DPT-Hib+HepB 3 dose at outreach conducted by this facility in this month ", "indicatorCode": "CHN3-045-O"}, {"label": "OPV 3 (< 1 year) at outreach", "value": "0", "dhisId": "", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received OPV3 dose at outreach conducted by this facility in this month ", "indicatorCode": "CHN3-025-O"}, {"label": "OPV 1 (< 1 year) at outreach", "value": "0", "dhisId": "", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received OPV1 dose at outreach conducted by this facility in this month ", "indicatorCode": "CHN3-015-O"}, {"label": "PCV 2 (< 1 year) at facilty", "value": "0", "dhisId": "AU3Zp03Atnf", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received PCV 2 dose at this facility in this month ", "indicatorCode": "CHN3-055"}, {"label": "PCV 2 (< 1 year) at outreach", "value": "0", "dhisId": "", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received PCV 2 dose at outreach conducted by this facility in this month ", "indicatorCode": "CHN3-055-O"}], "formSubmissionId": "1aea74ac-b737-477a-99d3-728011fbae3f"}'), +(3, '{"_id": "c57ba49f-34b9-4986-9b87-69f48b1830c5", "type": "Report", "status": "WARNING", "version": 1500307579516, "duration": 0, "addresses": [], "attributes": {}, "dateEdited": "2017-07-17T19:06:42.787+03:00", "locationId": "9e4fc064-d8e7-4fcb-942e-cbcf6524fb24", "providerId": "biddemo", "reportDate": "2017-05-01T01:00:00.000+03:00", "reportType": "HIA2", "identifiers": {"HIN":"56757L"}, "serverVersion": 1500307579516, "hia2Indicators": [{"label": "RV 2 (< 1 year) at facility", "value": "0", "dhisId": "dpKLNY9JjRR", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received RV 2 dose at this facility in this month ", "indicatorCode": "CHN3-070"}, {"label": "Vitamin A supplement to infants and children 12-59 months", "value": "0", "dhisId": "JfY9vBHsyzF", "category": "Vitamin A, Deworming, and ITNs", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children age 12-59 months who received vitamin A at this facility in this month", "indicatorCode": "CHN2-070"}, {"label": "Child weighed 24-59 months", "value": "0", "dhisId": "sSxqU6qPyXr", "category": "Growth Monitoring and Nutrition", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of total children weighed aged 24-59 months who attended clinic this month", "indicatorCode": "CHN2-010"}, {"label": "RV 1 (< 1 year) at facility", "value": "0", "dhisId": "ziezVvnYWj0", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received RV 1 dose at this facility in this month ", "indicatorCode": "CHN3-065"}, {"label": "Number of days fridge non-functional", "value": "0", "dhisId": "FGJcw1TCM9D", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of days during the month that vaccine storage fridge was not functioning ", "indicatorCode": "CHN3-090"}, {"label": "Attendance child health 12-59 months (female)", "value": "0", "dhisId": "ZDSUD6VHnoh", "category": "Under 5 Clinic Attendance", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of female children aged 12 to 59 months who attended a clinic this month", "indicatorCode": "CHN1-020"}, {"label": "PCV 1 (< 1 year) at outreach", "value": "0", "dhisId": "", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received PCV 1 dose at outreach conducted by this facility in this month ", "indicatorCode": "CHN3-050-O"}, {"label": "OPV 2 (< 1 year) at outreach", "value": "0", "dhisId": "", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received OPV2 dose at outreach conducted by this facility in this month ", "indicatorCode": "CHN3-020-O"}, {"label": "IPV (< 1 year) at facility", "value": "0", "dhisId": "D2pqQ1bux6B", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received IPV dose at this facility in this month ", "indicatorCode": "CHN3-027"}, {"label": "OPV 3 (< 1 year) at facility ", "value": "0", "dhisId": "dqsYPg0F8DJ", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received OPV3 dose at this facility in this month ", "indicatorCode": "CHN3-025"}, {"label": "Weight below -3Z scores 24-59 months", "value": "0", "dhisId": "AzLJv6qTtPO", "category": "Growth Monitoring and Nutrition", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of total children age 24-59 months whose weight is below -3Z scores", "indicatorCode": "CHN2-050"}, {"label": "Attendance child health 12-59 months (total)", "value": "0", "dhisId": "sZQXZ069Vgj", "category": "Under 5 Clinic Attendance", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of Total children aged 12 to 59 months who attended clinic this month", "indicatorCode": "CHN1-021"}, {"label": "OPV 0 (< 1 year) at outreach", "value": "0", "dhisId": "", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received OPV0 dose at outreach conducted by this facility in this month ", "indicatorCode": "CHN3-010-O"}, {"label": "Not gaining weight 0-23 months", "value": "0", "dhisId": "H5cadfqRh7I", "category": "Growth Monitoring and Nutrition", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children aged 0-23 months who were weighed this month who did not gain >= 100g of weight from the last weigh-in. ", "indicatorCode": "CHN2-020"}, {"label": "BCG dose (< 1 year) at the facility", "value": "0", "dhisId": "ZTeQmMrVmNR", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received BCG dose at this facility in this month ", "indicatorCode": "CHN3-005"}, {"label": "Attendance child health (total)", "value": "4", "dhisId": "YAY7yKAkSvq", "category": "Under 5 Clinic Attendance", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of total children < 5 who attended a clinic this month ", "indicatorCode": "CHN1-025"}, {"label": "Attendance child health 12-59 months (male)", "value": "0", "dhisId": "fl4bPFJRI5j", "category": "Under 5 Clinic Attendance", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of male children aged 12 to 59 months who attended a clinic this month", "indicatorCode": "CHN1-015"}, {"label": "Total weight below -3Z scores < five years", "value": "0", "dhisId": "OM9x7oS2qke", "category": "Growth Monitoring and Nutrition", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of total children age < 5 years whose weight below -3Z scores", "indicatorCode": "CHN2-051"}, {"label": "Weight between -2Z & -3Z scores < five years", "value": "0", "dhisId": "WOZUqhR5W37", "category": "Growth Monitoring and Nutrition", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of total children age < 5 years whose weight is between -2Z and -3Z scores", "indicatorCode": "CHN2-041"}, {"label": "Weight above 2Z scores 24-59 months", "value": "0", "dhisId": "ke26q8KPQPM", "category": "Growth Monitoring and Nutrition", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of total children age 24-59 months whose weight is above 2Z scores", "indicatorCode": "CHN2-060"}, {"label": "Attendance child health < 12 months (male)", "value": "4", "dhisId": "n0uHub5ubqH", "category": "Under 5 Clinic Attendance", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of male children aged < 12 months who attended a clinic this month.", "indicatorCode": "CHN1-005"}, {"label": "Fully immunised (< 1 year) at outreach", "value": "0", "dhisId": "", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "\"Number of children < one year who have received the complete BCG", "indicatorCode": "CHN3-080-O"}, {"label": "OPV 2 (< 1 year) at facility ", "value": "0", "dhisId": "Jbxssr389B6", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received OPV2 dose at this facility in this month ", "indicatorCode": "CHN3-020"}, {"label": "Child weighed 0-23 months", "value": "0", "dhisId": "adkGrSGNt3L", "category": "Growth Monitoring and Nutrition", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of total children weighed aged 0-23 months who attended clinic this month", "indicatorCode": "CHN2-005"}, {"label": "Vitamin A supplement to infants and children 6-11 months", "value": "0", "dhisId": "DSbbltBORY3", "category": "Vitamin A, Deworming, and ITNs", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children age 6-11 months who received vitamin A at this facility in this month", "indicatorCode": "CHN2-065"}, {"label": "Deworming dose 12-59 months", "value": "0", "dhisId": "B8nBT4kGhtB", "category": "Vitamin A, Deworming, and ITNs", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children age 12-59 months who received a deworming dose at this facility in this month ", "indicatorCode": "CHN2-075"}, {"label": "Fully immunised (< 1 year) at facility", "value": "0", "dhisId": "dzllAar6RrI", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "\"Number of children < one year who have received the complete BCG", "indicatorCode": "CHN3-080"}, {"label": "Total weight above 2Z scores < five years", "value": "0", "dhisId": "Yi4grVdr9Q5", "category": "Growth Monitoring and Nutrition", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of total children age < 5 years whose weight is above 2Z scores", "indicatorCode": "CHN2-061"}, {"label": "DPT-Hib-HepB 1 (< 1 year) at facility", "value": "0", "dhisId": "N7VEEjo8AdV", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received DPT-Hib+HepB 1 dose at this facility in this month ", "indicatorCode": "CHN3-035"}, {"label": "Measles/MR 1 (< 1 year) at outreach", "value": "0", "dhisId": "", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received Measles/ MR dose at outreach conducted by this facility in this month ", "indicatorCode": "CHN3-075-O"}, {"label": "OPV 4 (< 1 year) at outreach", "value": "0", "dhisId": "", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received OPV4 dose at outreach conducted by this facility in this month ", "indicatorCode": "CHN3-030-O"}, {"label": "OPV 4 (< 1 year) at facility ", "value": "0", "dhisId": "poPXN7Wn3RL", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received OPV4 dose at this facility in this month ", "indicatorCode": "CHN3-030"}, {"label": "Weight between -2Z & -3Z scores 0-23 months", "value": "0", "dhisId": "lcpx7xdVC3z", "category": "Growth Monitoring and Nutrition", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of total children age 0-23 months whose weight is between -2Z and -3Z scores", "indicatorCode": "CHN2-035"}, {"label": "OPV 0 (< 1 year) at facility ", "value": "0", "dhisId": "rwNWKJC4dIO", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received OPV0 dose at this facility in this month ", "indicatorCode": "CHN3-010"}, {"label": "Weight below -3Z scores 0-23 months", "value": "0", "dhisId": "LpkrzZezPhP", "category": "Growth Monitoring and Nutrition", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of total children age 0-23 months whose weight is below -3Z scores", "indicatorCode": "CHN2-045"}, {"label": "Total not gaining weight age < five years", "value": "0", "dhisId": "e10sC5c4pRz", "category": "Growth Monitoring and Nutrition", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of total children aged < five years who were weighed this month and did not gain >= 100g from the last weigh-in.", "indicatorCode": "CHN2-030"}, {"label": "Attendance child health < 12 months (female)", "value": "0", "dhisId": "IWwblgpMxiS", "category": "Under 5 Clinic Attendance", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of female children aged < 12 months who attended a clinic this month.", "indicatorCode": "CHN1-010"}, {"label": "PCV 3 (< 1 year) at outreach", "value": "0", "dhisId": "", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received PCV 3 dose at outreach conducted by this facility in this month ", "indicatorCode": "CHN3-060-O"}, {"label": "RV 2 (< 1 year) at outreach", "value": "0", "dhisId": "", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received RV 2 dose at outreach conducted by this facility in this month ", "indicatorCode": "CHN3-070-O"}, {"label": "Not gaining weight 24-59 months", "value": "0", "dhisId": "xWDkbLq9kji", "category": "Growth Monitoring and Nutrition", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children aged 24-59 months who were weighed this month who did not gain >= 100g of weight from the last weigh-in. ", "indicatorCode": "CHN2-025"}, {"label": "Attendance from outside catchment area", "value": "0", "dhisId": "WFxN7txijYV", "category": "Under 5 Clinic Attendance", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of total children who attended clinic and are not part of clinics catchment area", "indicatorCode": "CHN1-030"}, {"label": "IPV (< 1 year) at outreach", "value": "0", "dhisId": "RAbXk70XDMq", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received IPV dose at outreach conducted by this facility in this month ", "indicatorCode": "CHN3-027-O"}, {"label": "Children who received insecticide treated net", "value": "0", "dhisId": "G4vWZAJ0uz7", "category": "Vitamin A, Deworming, and ITNs", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children who received insecticide treated nets at this facility in this month ", "indicatorCode": "CHN2-080"}, {"label": "Weight between -2Z & -3Z scores 24-59 months", "value": "0", "dhisId": "hi9sRtkzimM", "category": "Growth Monitoring and Nutrition", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of total children age 24-59 months whose weight is between -2Z and -3Z scores", "indicatorCode": "CHN2-040"}, {"label": "OPV 1 (< 1 year) at facility ", "value": "0", "dhisId": "J3Kd9wHj7mR", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received OPV1 dose at this facility in this month ", "indicatorCode": "CHN3-015"}, {"label": "Attendance child health < 12 months (total)", "value": "4", "dhisId": "C8vB7dH9ab4", "category": "Under 5 Clinic Attendance", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of total children aged < 12 months who attended a clinic this month.", "indicatorCode": "CHN1-011"}, {"label": "DPT-Hib-HepB 2 (< 1 year) at facility", "value": "0", "dhisId": "R2JLWtup2XR", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received DPT-Hib+HepB 2 dose at this facility in this month ", "indicatorCode": "CHN3-040"}, {"label": "RV 1 (< 1 year) at outreach", "value": "0", "dhisId": "", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received RV 1 dose at outreach conducted by this facility in this month ", "indicatorCode": "CHN3-065-O"}, {"label": "PCV 1 (< 1 year) at facilty", "value": "0", "dhisId": "dPpDhpO7GpB", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received PCV 1 dose at this facility in this month ", "indicatorCode": "CHN3-050"}, {"label": "DPT-Hib-HepB 3 (< 1 year) at facility", "value": "0", "dhisId": "ujEvTSZ0Wvn", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received DPT-Hib+HepB 3 dose at this facility in this month ", "indicatorCode": "CHN3-045"}, {"label": "Measles/MR 2 (at 18 months) at facility", "value": "0", "dhisId": "sqfX5MniMIH", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children at 18 months who received Measles/ MR 2 dose at this facility in this month ", "indicatorCode": "CHN3-085"}, {"label": "BCG dose (< 1 year) at outreach", "value": "0", "dhisId": "", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received BCG dose at outreach conducted by this facility in this month ", "indicatorCode": "CHN3-005-O"}, {"label": "DPT-Hib-HepB 2 (< 1 year) at outreach", "value": "0", "dhisId": "", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received DPT-Hib+HepB 2 dose at outreach conducted by this facility in this month ", "indicatorCode": "CHN3-040-O"}, {"label": "Weight above 2Z scores 0-23 months", "value": "0", "dhisId": "gdrQ69fCF8B", "category": "Growth Monitoring and Nutrition", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of total children age 0-23 months whose weight is above 2Z scores", "indicatorCode": "CHN2-055"}, {"label": "Total child weighed", "value": "0", "dhisId": "xIGHv5CY2fF", "category": "Growth Monitoring and Nutrition", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of total children weighed aged < 5 years who attended clinic this month", "indicatorCode": "CHN2-015"}, {"label": "DPT-Hib-HepB 1 (< 1 year) at outreach", "value": "0", "dhisId": "", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received DPT-Hib+HepB 1 dose at outreach conducted by this facility in this month ", "indicatorCode": "CHN3-035-O"}, {"label": "Measles/MR 1 (< 1 year) at facility", "value": "0", "dhisId": "zIM9ehVMkNW", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received Measles/ MR 1 dose at this facility in this month ", "indicatorCode": "CHN3-075"}, {"label": "Measles/MR 2 (at 18 months) at outreach", "value": "0", "dhisId": "", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children at 18 months who received Measles/ MR 2 dose at outreach conducted by this facility in this month ", "indicatorCode": "CHN3-085-O"}, {"label": "PCV 3 (< 1 year) at facility", "value": "0", "dhisId": "K5XarM6QLxq", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received PCV 3 dose at this facility in this month ", "indicatorCode": "CHN3-060"}, {"label": "DPT-Hib-HepB 3 (< 1 year) at outreach", "value": "0", "dhisId": "", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received DPT-Hib+HepB 3 dose at outreach conducted by this facility in this month ", "indicatorCode": "CHN3-045-O"}, {"label": "OPV 3 (< 1 year) at outreach", "value": "0", "dhisId": "", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received OPV3 dose at outreach conducted by this facility in this month ", "indicatorCode": "CHN3-025-O"}, {"label": "OPV 1 (< 1 year) at outreach", "value": "0", "dhisId": "", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received OPV1 dose at outreach conducted by this facility in this month ", "indicatorCode": "CHN3-015-O"}, {"label": "PCV 2 (< 1 year) at facilty", "value": "0", "dhisId": "AU3Zp03Atnf", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received PCV 2 dose at this facility in this month ", "indicatorCode": "CHN3-055"}, {"label": "PCV 2 (< 1 year) at outreach", "value": "0", "dhisId": "", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received PCV 2 dose at outreach conducted by this facility in this month ", "indicatorCode": "CHN3-055-O"}], "formSubmissionId": "88f9fe90-1e45-46b3-8056-e932574dcbd9"}'), +(4, '{"_id": "cd09a3d4-01d9-485c-a1c5-a2eb078a61be", "type": "Report", "status": "SUCCESS", "version": 1500394719661, "duration": 0, "addresses": [], "attributes": {}, "dateEdited": "2017-07-18T19:18:41.822+03:00", "locationId": "9e4fc064-d8e7-4fcb-942e-cbcf6524fb24", "providerId": "biddemo", "reportDate": "2017-06-01T01:00:00.000+03:00", "reportType": "HIA2", "identifiers": {}, "serverVersion": 1500394719661, "hia2Indicators": [{"label": "RV 2 (< 1 year) at facility", "value": "100", "dhisId": "dpKLNY9JjRR", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received RV 2 dose at this facility in this month ", "indicatorCode": "CHN3-070"}, {"label": "Vitamin A supplement to infants and children 12-59 months", "value": "100", "dhisId": "JfY9vBHsyzF", "category": "Vitamin A, Deworming, and ITNs", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children age 12-59 months who received vitamin A at this facility in this month", "indicatorCode": "CHN2-070"}, {"label": "Child weighed 24-59 months", "value": "100", "dhisId": "sSxqU6qPyXr", "category": "Growth Monitoring and Nutrition", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of total children weighed aged 24-59 months who attended clinic this month", "indicatorCode": "CHN2-010"}, {"label": "RV 1 (< 1 year) at facility", "value": "100", "dhisId": "ziezVvnYWj0", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received RV 1 dose at this facility in this month ", "indicatorCode": "CHN3-065"}, {"label": "Number of days fridge non-functional", "value": "100", "dhisId": "FGJcw1TCM9D", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of days during the month that vaccine storage fridge was not functioning ", "indicatorCode": "CHN3-090"}, {"label": "Attendance child health 12-59 months (female)", "value": "100", "dhisId": "ZDSUD6VHnoh", "category": "Under 5 Clinic Attendance", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of female children aged 12 to 59 months who attended a clinic this month", "indicatorCode": "CHN1-020"}, {"label": "PCV 1 (< 1 year) at outreach", "value": "0", "dhisId": "", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received PCV 1 dose at outreach conducted by this facility in this month ", "indicatorCode": "CHN3-050-O"}, {"label": "OPV 2 (< 1 year) at outreach", "value": "0", "dhisId": "", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received OPV2 dose at outreach conducted by this facility in this month ", "indicatorCode": "CHN3-020-O"}, {"label": "IPV (< 1 year) at facility", "value": "100", "dhisId": "D2pqQ1bux6B", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received IPV dose at this facility in this month ", "indicatorCode": "CHN3-027"}, {"label": "Weight below -3Z scores 24-59 months", "value": "100", "dhisId": "AzLJv6qTtPO", "category": "Growth Monitoring and Nutrition", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of total children age 24-59 months whose weight is below -3Z scores", "indicatorCode": "CHN2-050"}, {"label": "OPV 3 (< 1 year) at facility ", "value": "100", "dhisId": "dqsYPg0F8DJ", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received OPV3 dose at this facility in this month ", "indicatorCode": "CHN3-025"}, {"label": "Attendance child health 12-59 months (total)", "value": "200", "dhisId": "sZQXZ069Vgj", "category": "Under 5 Clinic Attendance", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of Total children aged 12 to 59 months who attended clinic this month", "indicatorCode": "CHN1-021"}, {"label": "OPV 0 (< 1 year) at outreach", "value": "0", "dhisId": "", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received OPV0 dose at outreach conducted by this facility in this month ", "indicatorCode": "CHN3-010-O"}, {"label": "Not gaining weight 0-23 months", "value": "100", "dhisId": "H5cadfqRh7I", "category": "Growth Monitoring and Nutrition", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children aged 0-23 months who were weighed this month who did not gain >= 100g of weight from the last weigh-in. ", "indicatorCode": "CHN2-020"}, {"label": "BCG dose (< 1 year) at the facility", "value": "100", "dhisId": "ZTeQmMrVmNR", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received BCG dose at this facility in this month ", "indicatorCode": "CHN3-005"}, {"label": "Attendance child health 12-59 months (male)", "value": "100", "dhisId": "fl4bPFJRI5j", "category": "Under 5 Clinic Attendance", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of male children aged 12 to 59 months who attended a clinic this month", "indicatorCode": "CHN1-015"}, {"label": "Attendance child health (total)", "value": "400", "dhisId": "YAY7yKAkSvq", "category": "Under 5 Clinic Attendance", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of total children < 5 who attended a clinic this month ", "indicatorCode": "CHN1-025"}, {"label": "Total weight below -3Z scores < five years", "value": "200", "dhisId": "OM9x7oS2qke", "category": "Growth Monitoring and Nutrition", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of total children age < 5 years whose weight below -3Z scores", "indicatorCode": "CHN2-051"}, {"label": "Weight between -2Z & -3Z scores < five years", "value": "200", "dhisId": "WOZUqhR5W37", "category": "Growth Monitoring and Nutrition", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of total children age < 5 years whose weight is between -2Z and -3Z scores", "indicatorCode": "CHN2-041"}, {"label": "Weight above 2Z scores 24-59 months", "value": "100", "dhisId": "ke26q8KPQPM", "category": "Growth Monitoring and Nutrition", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of total children age 24-59 months whose weight is above 2Z scores", "indicatorCode": "CHN2-060"}, {"label": "Attendance child health < 12 months (male)", "value": "100", "dhisId": "n0uHub5ubqH", "category": "Under 5 Clinic Attendance", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of male children aged < 12 months who attended a clinic this month.", "indicatorCode": "CHN1-005"}, {"label": "Fully immunised (< 1 year) at outreach", "value": "0", "dhisId": "", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "\"Number of children < one year who have received the complete BCG", "indicatorCode": "CHN3-080-O"}, {"label": "OPV 2 (< 1 year) at facility ", "value": "100", "dhisId": "Jbxssr389B6", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received OPV2 dose at this facility in this month ", "indicatorCode": "CHN3-020"}, {"label": "Child weighed 0-23 months", "value": "100", "dhisId": "adkGrSGNt3L", "category": "Growth Monitoring and Nutrition", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of total children weighed aged 0-23 months who attended clinic this month", "indicatorCode": "CHN2-005"}, {"label": "Vitamin A supplement to infants and children 6-11 months", "value": "100", "dhisId": "DSbbltBORY3", "category": "Vitamin A, Deworming, and ITNs", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children age 6-11 months who received vitamin A at this facility in this month", "indicatorCode": "CHN2-065"}, {"label": "Deworming dose 12-59 months", "value": "100", "dhisId": "B8nBT4kGhtB", "category": "Vitamin A, Deworming, and ITNs", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children age 12-59 months who received a deworming dose at this facility in this month ", "indicatorCode": "CHN2-075"}, {"label": "Fully immunised (< 1 year) at facility", "value": "100", "dhisId": "dzllAar6RrI", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "\"Number of children < one year who have received the complete BCG", "indicatorCode": "CHN3-080"}, {"label": "Total weight above 2Z scores < five years", "value": "200", "dhisId": "Yi4grVdr9Q5", "category": "Growth Monitoring and Nutrition", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of total children age < 5 years whose weight is above 2Z scores", "indicatorCode": "CHN2-061"}, {"label": "DPT-Hib-HepB 1 (< 1 year) at facility", "value": "100", "dhisId": "N7VEEjo8AdV", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received DPT-Hib+HepB 1 dose at this facility in this month ", "indicatorCode": "CHN3-035"}, {"label": "Measles/MR 1 (< 1 year) at outreach", "value": "0", "dhisId": "", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received Measles/ MR dose at outreach conducted by this facility in this month ", "indicatorCode": "CHN3-075-O"}, {"label": "OPV 4 (< 1 year) at facility ", "value": "100", "dhisId": "poPXN7Wn3RL", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received OPV4 dose at this facility in this month ", "indicatorCode": "CHN3-030"}, {"label": "OPV 4 (< 1 year) at outreach", "value": "0", "dhisId": "", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received OPV4 dose at outreach conducted by this facility in this month ", "indicatorCode": "CHN3-030-O"}, {"label": "Weight between -2Z & -3Z scores 0-23 months", "value": "100", "dhisId": "lcpx7xdVC3z", "category": "Growth Monitoring and Nutrition", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of total children age 0-23 months whose weight is between -2Z and -3Z scores", "indicatorCode": "CHN2-035"}, {"label": "Weight below -3Z scores 0-23 months", "value": "100", "dhisId": "LpkrzZezPhP", "category": "Growth Monitoring and Nutrition", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of total children age 0-23 months whose weight is below -3Z scores", "indicatorCode": "CHN2-045"}, {"label": "OPV 0 (< 1 year) at facility ", "value": "100", "dhisId": "rwNWKJC4dIO", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received OPV0 dose at this facility in this month ", "indicatorCode": "CHN3-010"}, {"label": "Total not gaining weight age < five years", "value": "200", "dhisId": "e10sC5c4pRz", "category": "Growth Monitoring and Nutrition", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of total children aged < five years who were weighed this month and did not gain >= 100g from the last weigh-in.", "indicatorCode": "CHN2-030"}, {"label": "Attendance child health < 12 months (female)", "value": "100", "dhisId": "IWwblgpMxiS", "category": "Under 5 Clinic Attendance", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of female children aged < 12 months who attended a clinic this month.", "indicatorCode": "CHN1-010"}, {"label": "PCV 3 (< 1 year) at outreach", "value": "0", "dhisId": "", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received PCV 3 dose at outreach conducted by this facility in this month ", "indicatorCode": "CHN3-060-O"}, {"label": "RV 2 (< 1 year) at outreach", "value": "0", "dhisId": "", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received RV 2 dose at outreach conducted by this facility in this month ", "indicatorCode": "CHN3-070-O"}, {"label": "Not gaining weight 24-59 months", "value": "100", "dhisId": "xWDkbLq9kji", "category": "Growth Monitoring and Nutrition", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children aged 24-59 months who were weighed this month who did not gain >= 100g of weight from the last weigh-in. ", "indicatorCode": "CHN2-025"}, {"label": "Attendance from outside catchment area", "value": "100", "dhisId": "WFxN7txijYV", "category": "Under 5 Clinic Attendance", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of total children who attended clinic and are not part of clinics catchment area", "indicatorCode": "CHN1-030"}, {"label": "IPV (< 1 year) at outreach", "value": "100", "dhisId": "RAbXk70XDMq", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received IPV dose at outreach conducted by this facility in this month ", "indicatorCode": "CHN3-027-O"}, {"label": "Children who received insecticide treated net", "value": "100", "dhisId": "G4vWZAJ0uz7", "category": "Vitamin A, Deworming, and ITNs", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children who received insecticide treated nets at this facility in this month ", "indicatorCode": "CHN2-080"}, {"label": "Weight between -2Z & -3Z scores 24-59 months", "value": "100", "dhisId": "hi9sRtkzimM", "category": "Growth Monitoring and Nutrition", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of total children age 24-59 months whose weight is between -2Z and -3Z scores", "indicatorCode": "CHN2-040"}, {"label": "Attendance child health < 12 months (total)", "value": "200", "dhisId": "C8vB7dH9ab4", "category": "Under 5 Clinic Attendance", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of total children aged < 12 months who attended a clinic this month.", "indicatorCode": "CHN1-011"}, {"label": "OPV 1 (< 1 year) at facility ", "value": "100", "dhisId": "J3Kd9wHj7mR", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received OPV1 dose at this facility in this month ", "indicatorCode": "CHN3-015"}, {"label": "DPT-Hib-HepB 2 (< 1 year) at facility", "value": "100", "dhisId": "R2JLWtup2XR", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received DPT-Hib+HepB 2 dose at this facility in this month ", "indicatorCode": "CHN3-040"}, {"label": "RV 1 (< 1 year) at outreach", "value": "0", "dhisId": "", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received RV 1 dose at outreach conducted by this facility in this month ", "indicatorCode": "CHN3-065-O"}, {"label": "DPT-Hib-HepB 3 (< 1 year) at facility", "value": "100", "dhisId": "ujEvTSZ0Wvn", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received DPT-Hib+HepB 3 dose at this facility in this month ", "indicatorCode": "CHN3-045"}, {"label": "PCV 1 (< 1 year) at facilty", "value": "100", "dhisId": "dPpDhpO7GpB", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received PCV 1 dose at this facility in this month ", "indicatorCode": "CHN3-050"}, {"label": "Measles/MR 2 (at 18 months) at facility", "value": "100", "dhisId": "sqfX5MniMIH", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children at 18 months who received Measles/ MR 2 dose at this facility in this month ", "indicatorCode": "CHN3-085"}, {"label": "BCG dose (< 1 year) at outreach", "value": "0", "dhisId": "", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received BCG dose at outreach conducted by this facility in this month ", "indicatorCode": "CHN3-005-O"}, {"label": "DPT-Hib-HepB 2 (< 1 year) at outreach", "value": "0", "dhisId": "", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received DPT-Hib+HepB 2 dose at outreach conducted by this facility in this month ", "indicatorCode": "CHN3-040-O"}, {"label": "Weight above 2Z scores 0-23 months", "value": "100", "dhisId": "gdrQ69fCF8B", "category": "Growth Monitoring and Nutrition", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of total children age 0-23 months whose weight is above 2Z scores", "indicatorCode": "CHN2-055"}, {"label": "Total child weighed", "value": "200", "dhisId": "xIGHv5CY2fF", "category": "Growth Monitoring and Nutrition", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of total children weighed aged < 5 years who attended clinic this month", "indicatorCode": "CHN2-015"}, {"label": "DPT-Hib-HepB 1 (< 1 year) at outreach", "value": "0", "dhisId": "", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received DPT-Hib+HepB 1 dose at outreach conducted by this facility in this month ", "indicatorCode": "CHN3-035-O"}, {"label": "Measles/MR 1 (< 1 year) at facility", "value": "100", "dhisId": "zIM9ehVMkNW", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received Measles/ MR 1 dose at this facility in this month ", "indicatorCode": "CHN3-075"}, {"label": "Measles/MR 2 (at 18 months) at outreach", "value": "0", "dhisId": "", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children at 18 months who received Measles/ MR 2 dose at outreach conducted by this facility in this month ", "indicatorCode": "CHN3-085-O"}, {"label": "PCV 3 (< 1 year) at facility", "value": "100", "dhisId": "K5XarM6QLxq", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received PCV 3 dose at this facility in this month ", "indicatorCode": "CHN3-060"}, {"label": "DPT-Hib-HepB 3 (< 1 year) at outreach", "value": "0", "dhisId": "", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received DPT-Hib+HepB 3 dose at outreach conducted by this facility in this month ", "indicatorCode": "CHN3-045-O"}, {"label": "OPV 1 (< 1 year) at outreach", "value": "0", "dhisId": "", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received OPV1 dose at outreach conducted by this facility in this month ", "indicatorCode": "CHN3-015-O"}, {"label": "OPV 3 (< 1 year) at outreach", "value": "0", "dhisId": "", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received OPV3 dose at outreach conducted by this facility in this month ", "indicatorCode": "CHN3-025-O"}, {"label": "PCV 2 (< 1 year) at facilty", "value": "100", "dhisId": "AU3Zp03Atnf", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received PCV 2 dose at this facility in this month ", "indicatorCode": "CHN3-055"}, {"label": "PCV 2 (< 1 year) at outreach", "value": "0", "dhisId": "", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received PCV 2 dose at outreach conducted by this facility in this month ", "indicatorCode": "CHN3-055-O"}], "formSubmissionId": "d78a8105-f808-488a-b67a-0c4c46845194"}'), +(5, '{"_id": "60ab7d5c-a051-4633-b0b3-f52b701cb261", "baseEntityId": "6654kk-mnj45-mmnfgd-l45645", "type": "Report", "status": "WARNING", "version": 1500445930478, "duration": 0, "addresses": [], "attributes": {}, "dateEdited": "2017-07-19T09:32:41.737+03:00", "locationId": "9e4fc064-d8e7-4fcb-942e-cbcf6524fb24", "providerId": "biddemo", "reportDate": "2017-05-01T01:00:00.000+03:00", "reportType": "HIA2", "identifiers": {"HIN":"56757L"}, "serverVersion": null, "hia2Indicators": [{"label": "RV 2 (< 1 year) at facility", "value": "0", "dhisId": "dpKLNY9JjRR", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received RV 2 dose at this facility in this month ", "indicatorCode": "CHN3-070"}, {"label": "Vitamin A supplement to infants and children 12-59 months", "value": "0", "dhisId": "JfY9vBHsyzF", "category": "Vitamin A, Deworming, and ITNs", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children age 12-59 months who received vitamin A at this facility in this month", "indicatorCode": "CHN2-070"}, {"label": "Child weighed 24-59 months", "value": "0", "dhisId": "sSxqU6qPyXr", "category": "Growth Monitoring and Nutrition", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of total children weighed aged 24-59 months who attended clinic this month", "indicatorCode": "CHN2-010"}, {"label": "RV 1 (< 1 year) at facility", "value": "0", "dhisId": "ziezVvnYWj0", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received RV 1 dose at this facility in this month ", "indicatorCode": "CHN3-065"}, {"label": "Number of days fridge non-functional", "value": "0", "dhisId": "FGJcw1TCM9D", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of days during the month that vaccine storage fridge was not functioning ", "indicatorCode": "CHN3-090"}, {"label": "Attendance child health 12-59 months (female)", "value": "0", "dhisId": "ZDSUD6VHnoh", "category": "Under 5 Clinic Attendance", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of female children aged 12 to 59 months who attended a clinic this month", "indicatorCode": "CHN1-020"}, {"label": "PCV 1 (< 1 year) at outreach", "value": "0", "dhisId": "", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received PCV 1 dose at outreach conducted by this facility in this month ", "indicatorCode": "CHN3-050-O"}, {"label": "OPV 2 (< 1 year) at outreach", "value": "0", "dhisId": "", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received OPV2 dose at outreach conducted by this facility in this month ", "indicatorCode": "CHN3-020-O"}, {"label": "IPV (< 1 year) at facility", "value": "0", "dhisId": "D2pqQ1bux6B", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received IPV dose at this facility in this month ", "indicatorCode": "CHN3-027"}, {"label": "OPV 3 (< 1 year) at facility ", "value": "0", "dhisId": "dqsYPg0F8DJ", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received OPV3 dose at this facility in this month ", "indicatorCode": "CHN3-025"}, {"label": "Weight below -3Z scores 24-59 months", "value": "0", "dhisId": "AzLJv6qTtPO", "category": "Growth Monitoring and Nutrition", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of total children age 24-59 months whose weight is below -3Z scores", "indicatorCode": "CHN2-050"}, {"label": "Attendance child health 12-59 months (total)", "value": "0", "dhisId": "sZQXZ069Vgj", "category": "Under 5 Clinic Attendance", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of Total children aged 12 to 59 months who attended clinic this month", "indicatorCode": "CHN1-021"}, {"label": "OPV 0 (< 1 year) at outreach", "value": "0", "dhisId": "", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received OPV0 dose at outreach conducted by this facility in this month ", "indicatorCode": "CHN3-010-O"}, {"label": "Not gaining weight 0-23 months", "value": "0", "dhisId": "H5cadfqRh7I", "category": "Growth Monitoring and Nutrition", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children aged 0-23 months who were weighed this month who did not gain >= 100g of weight from the last weigh-in. ", "indicatorCode": "CHN2-020"}, {"label": "BCG dose (< 1 year) at the facility", "value": "0", "dhisId": "ZTeQmMrVmNR", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received BCG dose at this facility in this month ", "indicatorCode": "CHN3-005"}, {"label": "Attendance child health (total)", "value": "1000000", "dhisId": "YAY7yKAkSvq", "category": "Under 5 Clinic Attendance", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of total children < 5 who attended a clinic this month ", "indicatorCode": "CHN1-025"}, {"label": "Attendance child health 12-59 months (male)", "value": "0", "dhisId": "fl4bPFJRI5j", "category": "Under 5 Clinic Attendance", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of male children aged 12 to 59 months who attended a clinic this month", "indicatorCode": "CHN1-015"}, {"label": "Total weight below -3Z scores < five years", "value": "0", "dhisId": "OM9x7oS2qke", "category": "Growth Monitoring and Nutrition", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of total children age < 5 years whose weight below -3Z scores", "indicatorCode": "CHN2-051"}, {"label": "Weight between -2Z & -3Z scores < five years", "value": "0", "dhisId": "WOZUqhR5W37", "category": "Growth Monitoring and Nutrition", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of total children age < 5 years whose weight is between -2Z and -3Z scores", "indicatorCode": "CHN2-041"}, {"label": "Weight above 2Z scores 24-59 months", "value": "0", "dhisId": "ke26q8KPQPM", "category": "Growth Monitoring and Nutrition", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of total children age 24-59 months whose weight is above 2Z scores", "indicatorCode": "CHN2-060"}, {"label": "Attendance child health < 12 months (male)", "value": "100000", "dhisId": "n0uHub5ubqH", "category": "Under 5 Clinic Attendance", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of male children aged < 12 months who attended a clinic this month.", "indicatorCode": "CHN1-005"}, {"label": "Fully immunised (< 1 year) at outreach", "value": "0", "dhisId": "", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "\"Number of children < one year who have received the complete BCG", "indicatorCode": "CHN3-080-O"}, {"label": "OPV 2 (< 1 year) at facility ", "value": "0", "dhisId": "Jbxssr389B6", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received OPV2 dose at this facility in this month ", "indicatorCode": "CHN3-020"}, {"label": "Child weighed 0-23 months", "value": "0", "dhisId": "adkGrSGNt3L", "category": "Growth Monitoring and Nutrition", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of total children weighed aged 0-23 months who attended clinic this month", "indicatorCode": "CHN2-005"}, {"label": "Vitamin A supplement to infants and children 6-11 months", "value": "0", "dhisId": "DSbbltBORY3", "category": "Vitamin A, Deworming, and ITNs", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children age 6-11 months who received vitamin A at this facility in this month", "indicatorCode": "CHN2-065"}, {"label": "Deworming dose 12-59 months", "value": "0", "dhisId": "B8nBT4kGhtB", "category": "Vitamin A, Deworming, and ITNs", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children age 12-59 months who received a deworming dose at this facility in this month ", "indicatorCode": "CHN2-075"}, {"label": "Fully immunised (< 1 year) at facility", "value": "0", "dhisId": "dzllAar6RrI", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "\"Number of children < one year who have received the complete BCG", "indicatorCode": "CHN3-080"}, {"label": "Total weight above 2Z scores < five years", "value": "0", "dhisId": "Yi4grVdr9Q5", "category": "Growth Monitoring and Nutrition", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of total children age < 5 years whose weight is above 2Z scores", "indicatorCode": "CHN2-061"}, {"label": "DPT-Hib-HepB 1 (< 1 year) at facility", "value": "0", "dhisId": "N7VEEjo8AdV", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received DPT-Hib+HepB 1 dose at this facility in this month ", "indicatorCode": "CHN3-035"}, {"label": "Measles/MR 1 (< 1 year) at outreach", "value": "0", "dhisId": "", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received Measles/ MR dose at outreach conducted by this facility in this month ", "indicatorCode": "CHN3-075-O"}, {"label": "OPV 4 (< 1 year) at outreach", "value": "0", "dhisId": "", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received OPV4 dose at outreach conducted by this facility in this month ", "indicatorCode": "CHN3-030-O"}, {"label": "OPV 4 (< 1 year) at facility ", "value": "0", "dhisId": "poPXN7Wn3RL", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received OPV4 dose at this facility in this month ", "indicatorCode": "CHN3-030"}, {"label": "Weight between -2Z & -3Z scores 0-23 months", "value": "0", "dhisId": "lcpx7xdVC3z", "category": "Growth Monitoring and Nutrition", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of total children age 0-23 months whose weight is between -2Z and -3Z scores", "indicatorCode": "CHN2-035"}, {"label": "OPV 0 (< 1 year) at facility ", "value": "0", "dhisId": "rwNWKJC4dIO", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received OPV0 dose at this facility in this month ", "indicatorCode": "CHN3-010"}, {"label": "Weight below -3Z scores 0-23 months", "value": "0", "dhisId": "LpkrzZezPhP", "category": "Growth Monitoring and Nutrition", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of total children age 0-23 months whose weight is below -3Z scores", "indicatorCode": "CHN2-045"}, {"label": "Total not gaining weight age < five years", "value": "0", "dhisId": "e10sC5c4pRz", "category": "Growth Monitoring and Nutrition", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of total children aged < five years who were weighed this month and did not gain >= 100g from the last weigh-in.", "indicatorCode": "CHN2-030"}, {"label": "Attendance child health < 12 months (female)", "value": "0", "dhisId": "IWwblgpMxiS", "category": "Under 5 Clinic Attendance", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of female children aged < 12 months who attended a clinic this month.", "indicatorCode": "CHN1-010"}, {"label": "PCV 3 (< 1 year) at outreach", "value": "0", "dhisId": "", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received PCV 3 dose at outreach conducted by this facility in this month ", "indicatorCode": "CHN3-060-O"}, {"label": "RV 2 (< 1 year) at outreach", "value": "0", "dhisId": "", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received RV 2 dose at outreach conducted by this facility in this month ", "indicatorCode": "CHN3-070-O"}, {"label": "Not gaining weight 24-59 months", "value": "0", "dhisId": "xWDkbLq9kji", "category": "Growth Monitoring and Nutrition", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children aged 24-59 months who were weighed this month who did not gain >= 100g of weight from the last weigh-in. ", "indicatorCode": "CHN2-025"}, {"label": "Attendance from outside catchment area", "value": "0", "dhisId": "WFxN7txijYV", "category": "Under 5 Clinic Attendance", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of total children who attended clinic and are not part of clinics catchment area", "indicatorCode": "CHN1-030"}, {"label": "IPV (< 1 year) at outreach", "value": "0", "dhisId": "RAbXk70XDMq", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received IPV dose at outreach conducted by this facility in this month ", "indicatorCode": "CHN3-027-O"}, {"label": "Children who received insecticide treated net", "value": "0", "dhisId": "G4vWZAJ0uz7", "category": "Vitamin A, Deworming, and ITNs", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children who received insecticide treated nets at this facility in this month ", "indicatorCode": "CHN2-080"}, {"label": "Weight between -2Z & -3Z scores 24-59 months", "value": "0", "dhisId": "hi9sRtkzimM", "category": "Growth Monitoring and Nutrition", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of total children age 24-59 months whose weight is between -2Z and -3Z scores", "indicatorCode": "CHN2-040"}, {"label": "OPV 1 (< 1 year) at facility ", "value": "0", "dhisId": "J3Kd9wHj7mR", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received OPV1 dose at this facility in this month ", "indicatorCode": "CHN3-015"}, {"label": "Attendance child health < 12 months (total)", "value": "10000", "dhisId": "C8vB7dH9ab4", "category": "Under 5 Clinic Attendance", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of total children aged < 12 months who attended a clinic this month.", "indicatorCode": "CHN1-011"}, {"label": "DPT-Hib-HepB 2 (< 1 year) at facility", "value": "0", "dhisId": "R2JLWtup2XR", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received DPT-Hib+HepB 2 dose at this facility in this month ", "indicatorCode": "CHN3-040"}, {"label": "RV 1 (< 1 year) at outreach", "value": "0", "dhisId": "", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received RV 1 dose at outreach conducted by this facility in this month ", "indicatorCode": "CHN3-065-O"}, {"label": "PCV 1 (< 1 year) at facilty", "value": "0", "dhisId": "dPpDhpO7GpB", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received PCV 1 dose at this facility in this month ", "indicatorCode": "CHN3-050"}, {"label": "DPT-Hib-HepB 3 (< 1 year) at facility", "value": "0", "dhisId": "ujEvTSZ0Wvn", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received DPT-Hib+HepB 3 dose at this facility in this month ", "indicatorCode": "CHN3-045"}, {"label": "Measles/MR 2 (at 18 months) at facility", "value": "0", "dhisId": "sqfX5MniMIH", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children at 18 months who received Measles/ MR 2 dose at this facility in this month ", "indicatorCode": "CHN3-085"}, {"label": "BCG dose (< 1 year) at outreach", "value": "0", "dhisId": "", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received BCG dose at outreach conducted by this facility in this month ", "indicatorCode": "CHN3-005-O"}, {"label": "DPT-Hib-HepB 2 (< 1 year) at outreach", "value": "0", "dhisId": "", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received DPT-Hib+HepB 2 dose at outreach conducted by this facility in this month ", "indicatorCode": "CHN3-040-O"}, {"label": "Weight above 2Z scores 0-23 months", "value": "0", "dhisId": "gdrQ69fCF8B", "category": "Growth Monitoring and Nutrition", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of total children age 0-23 months whose weight is above 2Z scores", "indicatorCode": "CHN2-055"}, {"label": "Total child weighed", "value": "0", "dhisId": "xIGHv5CY2fF", "category": "Growth Monitoring and Nutrition", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of total children weighed aged < 5 years who attended clinic this month", "indicatorCode": "CHN2-015"}, {"label": "DPT-Hib-HepB 1 (< 1 year) at outreach", "value": "0", "dhisId": "", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received DPT-Hib+HepB 1 dose at outreach conducted by this facility in this month ", "indicatorCode": "CHN3-035-O"}, {"label": "Measles/MR 1 (< 1 year) at facility", "value": "0", "dhisId": "zIM9ehVMkNW", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received Measles/ MR 1 dose at this facility in this month ", "indicatorCode": "CHN3-075"}, {"label": "Measles/MR 2 (at 18 months) at outreach", "value": "0", "dhisId": "", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children at 18 months who received Measles/ MR 2 dose at outreach conducted by this facility in this month ", "indicatorCode": "CHN3-085-O"}, {"label": "PCV 3 (< 1 year) at facility", "value": "0", "dhisId": "K5XarM6QLxq", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received PCV 3 dose at this facility in this month ", "indicatorCode": "CHN3-060"}, {"label": "DPT-Hib-HepB 3 (< 1 year) at outreach", "value": "0", "dhisId": "", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received DPT-Hib+HepB 3 dose at outreach conducted by this facility in this month ", "indicatorCode": "CHN3-045-O"}, {"label": "OPV 3 (< 1 year) at outreach", "value": "0", "dhisId": "", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received OPV3 dose at outreach conducted by this facility in this month ", "indicatorCode": "CHN3-025-O"}, {"label": "OPV 1 (< 1 year) at outreach", "value": "0", "dhisId": "", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received OPV1 dose at outreach conducted by this facility in this month ", "indicatorCode": "CHN3-015-O"}, {"label": "PCV 2 (< 1 year) at facilty", "value": "0", "dhisId": "AU3Zp03Atnf", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received PCV 2 dose at this facility in this month ", "indicatorCode": "CHN3-055"}, {"label": "PCV 2 (< 1 year) at outreach", "value": "0", "dhisId": "", "category": "Immunisation", "updatedAt": "1970-01-01T02:00:02.017+0200", "providerId": "biddemo", "description": "Number of children < one year who received PCV 2 dose at outreach conducted by this facility in this month ", "indicatorCode": "CHN3-055-O"}], "formSubmissionId": "03b5d0b8-4f72-4415-9909-ce03b5802c75"}'); + +INSERT INTO core.report_metadata (id, report_id, document_id, form_submission_id, base_entity_id, server_version, report_type, report_date, provider_id, location_id, team, team_id, date_edited) VALUES +(1, 1, '07271855-4018-497a-b180-6af01f0fa62b', '7073cef4-b974-4910-afa7-dd2ccadba089', '6654kk-mnj45-mmnfgd-l45645', 1503312366265, 'HIA2', '2017-06-28', 'biddemo', 'b0781dd2-e1b1-4878-8e6c-fba488eb9fa3', null, null, '2017-08-21'), +(2, 2, 'ecafd20f-c95b-4046-9355-9512e1908da4', '1aea74ac-b737-477a-99d3-728011fbae3f', '678343544-nhj7-jghdfgfd-mkjdkfg', 1500056613263, 'HIA2', '2017-07-14', 'biddemo', '9e4fc064-d8e7-4fcb-942e-cbcf6524fb24', null, null, '2017-07-17'), +(3, 3, 'c57ba49f-34b9-4986-9b87-69f48b1830c5', '88f9fe90-1e45-46b3-8056-e932574dcbd9', null, 1500307579516, 'HIA2', '2017-05-01', 'biddemo', '9e4fc064-d8e7-4fcb-942e-cbcf6524fb24', null, null, '2017-07-17'), +(4, 4, 'cd09a3d4-01d9-485c-a1c5-a2eb078a61be', 'd78a8105-f808-488a-b67a-0c4c46845194', null, 1500394719661, 'HIA2', '2017-06-01', 'biddemo', '9e4fc064-d8e7-4fcb-942e-cbcf6524fb24', null, null, '2017-07-18'), +(5, 5, '60ab7d5c-a051-4633-b0b3-f52b701cb261', '03b5d0b8-4f72-4415-9909-ce03b5802c75', '6654kk-mnj45-mmnfgd-l45645', null, 'HIA2', '2017-05-01', 'biddemo', '9e4fc064-d8e7-4fcb-942e-cbcf6524fb24', null, null, '2017-07-19'); \ No newline at end of file diff --git a/opensrp-core/bin/src/test/resources/test-scripts/stock.sql b/opensrp-core/bin/src/test/resources/test-scripts/stock.sql new file mode 100644 index 0000000000..61c159f267 --- /dev/null +++ b/opensrp-core/bin/src/test/resources/test-scripts/stock.sql @@ -0,0 +1,42 @@ +--clear data +TRUNCATE TABLE core.stock CASCADE; + +ALTER SEQUENCE core.stock_id_seq RESTART WITH 16; + +ALTER SEQUENCE core.stock_metadata_id_seq RESTART WITH 16; + +--insert data +INSERT INTO core.stock (id, json) VALUES +(1, '{"_id": "05934ae338431f28bf6793b24181ea5e", "type": "Stock", "value": -3, "to_from": "C/C", "version": 1521003030510, "_rev": "1-4f090916632e2ae10f1ef7f972aaf6d2", "identifier": 1, "providerid": "biddemo", "dateCreated": "2018-04-04T13:55:43.515+03:00", "date_created": 1520892000000, "date_updated": 1520939303991, "serverVersion": 1521003030510, "vaccine_type_id": "2", "transaction_type": "issued"}'), +(2, '{"_id": "05934ae338431f28bf6793b241974356", "type": "Stock", "value": 10, "to_from": "DHO", "version": 1521007341010, "_rev": "1-f24ec853ded69d25028985069960f71a", "identifier": 2, "providerid": "biddemo", "dateCreated": "2018-04-04T13:55:43.587+03:00", "date_created": 1518559200000, "date_updated": 1521007053945, "serverVersion": 1521007341010, "vaccine_type_id": "1", "transaction_type": "received"}'), +(3, '{"_id": "05934ae338431f28bf6793b241974f0e", "type": "Stock", "value": -1, "to_from": "C/C", "version": 1521007341010, "_rev": "1-6e7a4b9ee84403f5fa25c5d83269149b", "identifier": 3, "providerid": "biddemo", "dateCreated": "2018-04-04T13:55:43.633+03:00", "date_created": 1520892000000, "date_updated": 1521007153528, "serverVersion": 1521007341010, "vaccine_type_id": "1", "transaction_type": "issued"}'), +(4, '{"_id": "05934ae338431f28bf6793b241975c6c", "type": "Stock", "value": 12, "to_from": "Physical_recount", "version": 1521007342323, "_rev": "1-a57ae3bf0a9d652f00dc33c23e2c7a52", "identifier": 4, "providerid": "biddemo", "dateCreated": "2018-04-04T13:55:43.655+03:00", "date_created": 1518559200000, "date_updated": 1521007339163, "serverVersion": 1521007342323, "vaccine_type_id": "2", "transaction_type": "loss_adjustment"}'), +(5, '{"_id": "05934ae338431f28bf6793b241978ad9", "type": "Stock", "value": 20, "to_from": "DHO", "version": 1521009418783, "_rev": "1-1421e42faf02e9fe5a65279ee3b199c3", "identifier": 5, "providerid": "biddemo", "dateCreated": "2018-04-04T13:55:43.672+03:00", "date_created": 1521000000000, "date_updated": 1521009346585, "serverVersion": 1521009418783, "vaccine_type_id": "1", "transaction_type": "received"}'), +(6, '{"_id": "05934ae338431f28bf6793b2419a4bd9", "type": "Stock", "value": 20, "to_from": "DHO", "version": 1521022620903, "_rev": "1-aba3734a871fb2b88deab7bb7e7f3a60", "identifier": 6, "providerid": "biddemo", "dateCreated": "2018-04-04T13:55:43.683+03:00", "date_created": 1519855200000, "date_updated": 1521022504878, "serverVersion": 1521022620903, "vaccine_type_id": "1", "transaction_type": "received"}'), +(7, '{"_id": "05934ae338431f28bf6793b2419a590b", "type": "Stock", "value": -27, "to_from": "C/C", "version": 1521022620903, "_rev": "1-5f6fdd394f6c34143f07798dd7fe74b0", "identifier": 7, "providerid": "biddemo", "dateCreated": "2018-04-04T13:55:43.689+03:00", "date_created": 1520632800000, "date_updated": 1521022571660, "serverVersion": 1521022620903, "vaccine_type_id": "1", "transaction_type": "issued"}'), +(8, '{"_id": "05934ae338431f28bf6793b2419a606f", "type": "Stock", "value": 1, "to_from": "Physical_recount", "version": 1521023046990, "_rev": "1-872a0dd1e50ea9437786f69fad2d182a", "identifier": 8, "providerid": "biddemo", "dateCreated": "2018-04-04T13:55:43.693+03:00", "date_created": 1518559200000, "date_updated": 1521022962706, "serverVersion": 1521023046990, "vaccine_type_id": "1", "transaction_type": "loss_adjustment"}'), +(9, '{"_id": "05934ae338431f28bf6793b2419a6dc7", "type": "Stock", "value": 10, "to_from": "DHO", "version": 1521030501655, "_rev": "1-a3846a988777e252c6f9aba383300b78", "identifier": 9, "providerid": "biddemo", "dateCreated": "2018-04-04T13:55:43.705+03:00", "date_created": 1518559200000, "date_updated": 1521027411881, "serverVersion": 1521030501655, "vaccine_type_id": "2", "transaction_type": "received"}'), +(10, '{"_id": "05934ae338431f28bf6793b2419a72da", "type": "Stock", "value": -19, "to_from": "C/C", "version": 1521030501655, "_rev": "1-42168381f27525e3c9022fbc46358a4b", "identifier": 10, "providerid": "biddemo", "dateCreated": "2018-04-04T13:55:43.735+03:00", "date_created": 1519164000000, "date_updated": 1521027466540, "serverVersion": 1521030501655, "vaccine_type_id": "2", "transaction_type": "issued"}'), +(11, '{"_id": "05934ae338431f28bf6793b241b2daa6", "type": "Stock", "value": -7, "to_from": "C/C", "version": 1521074546344, "_rev": "1-65d5197a96e17a8febf61324fbe5d454", "identifier": 11, "providerid": "biddemo", "dateCreated": "2018-04-04T13:55:43.755+03:00", "date_created": 1521064800000, "date_updated": 1521074321594, "serverVersion": 1521074546344, "vaccine_type_id": "1", "transaction_type": "issued"}'), +(12, '{"_id": "05934ae338431f28bf6793b241b2df09", "type": "Stock", "value": -2, "to_from": "Physical_recount", "version": 1521074546344, "_rev": "1-4069d28441029c88717f71d622eab412", "identifier": 12, "providerid": "biddemo", "dateCreated": "2018-04-04T13:55:43.771+03:00", "date_created": 1521064800000, "date_updated": 1521074352741, "serverVersion": 1521074546344, "vaccine_type_id": "1", "transaction_type": "loss_adjustment"}'), +(13, '{"_id": "05934ae338431f28bf6793b241b3c445", "type": "Stock", "value": -6, "to_from": "C/C", "version": 1521112141441, "_rev": "1-509d0919039dc1b0f9180aa187a87b75", "identifier": 13, "providerid": "biddemo1", "dateCreated": "2018-04-04T13:55:43.787+03:00", "date_created": 1520632800000, "date_updated": 1521111867821, "serverVersion": 1521112141441, "vaccine_type_id": "1", "transaction_type": "issued"}'), +(14, '{"_id": "05934ae338431f28bf6793b241b3c6f9", "type": "Stock", "value": 2, "to_from": "DHO", "version": 1521112141441, "_rev": "1-7e45403108a172bd63486e35ec99ce79", "identifier": 14, "providerid": "biddemo1", "dateCreated": "2018-04-04T13:55:43.804+03:00", "date_created": 1518645600000, "date_updated": 1521111912719, "serverVersion": 1521112141441, "vaccine_type_id": "1", "transaction_type": "received"}'), +(15, '{"_id": "05934ae338431f28bf6793b241b3cd6f", "type": "Stock", "value": -55, "to_from": "C/C", "version": 1521112141441, "_rev": "1-83e0bc2abeda38e5aa282d1f8d75e6bc", "identifier": 15, "providerid": "biddemo1", "dateCreated": "2018-04-04T13:55:43.809+03:00", "date_created": 1520460000000, "date_updated": 1521111967331, "serverVersion": 1521112141441, "vaccine_type_id": "1", "transaction_type": "issued"}'); + + +INSERT INTO core.stock_metadata (id, stock_id, document_id, server_version, provider_id, location_id, team, team_id) VALUES +(1, 1, '05934ae338431f28bf6793b24181ea5e', 1521003030510, 'biddemo', null, null, null), +(2, 2, '05934ae338431f28bf6793b241974356', 1521007341010, 'biddemo', null, null, null), +(3, 3, '05934ae338431f28bf6793b241974f0e', 1521007341010, 'biddemo', null, null, null), +(4, 4, '05934ae338431f28bf6793b241975c6c', 1521007342323, 'biddemo', null, null, null), +(5, 5, '05934ae338431f28bf6793b241978ad9', 1521009418783, 'biddemo', null, null, null), +(6, 6, '05934ae338431f28bf6793b2419a4bd9', 1521022620903, 'biddemo', null, null, null), +(7, 7, '05934ae338431f28bf6793b2419a590b', 1521022620903, 'biddemo', null, null, null), +(8, 8, '05934ae338431f28bf6793b2419a606f', 1521023046990, 'biddemo', null, null, null), +(9, 9, '05934ae338431f28bf6793b2419a6dc7', 1521030501655, 'biddemo', null, null, null), +(10, 10, '05934ae338431f28bf6793b2419a72da', 1521030501655, 'biddemo', null, null, null), +(11, 11, '05934ae338431f28bf6793b241b2daa6', 1521074546344, 'biddemo', null, null, null), +(12, 12, '05934ae338431f28bf6793b241b2df09', 1521074546344, 'biddemo', null, null, null), +(13, 13, '05934ae338431f28bf6793b241b3c445', 1521112141441, 'biddemo1', null, null, null), +(14, 14, '05934ae338431f28bf6793b241b3c6f9', 1521112141441, 'biddemo1', null, null, null), +(15, 15, '05934ae338431f28bf6793b241b3cd6f', 1521112141441, 'biddemo1', null, null, null); \ No newline at end of file diff --git a/opensrp-core/bin/src/test/resources/test-scripts/view_configuration.sql b/opensrp-core/bin/src/test/resources/test-scripts/view_configuration.sql new file mode 100644 index 0000000000..9752ef53ef --- /dev/null +++ b/opensrp-core/bin/src/test/resources/test-scripts/view_configuration.sql @@ -0,0 +1,21 @@ +--clear data +TRUNCATE TABLE core.view_configuration CASCADE; + +ALTER SEQUENCE core.view_configuration_id_seq RESTART WITH 6; + +ALTER SEQUENCE core.view_configuration_metadata_id_seq RESTART WITH 6; + +--insert data +INSERT INTO core.view_configuration (id, json) VALUES +(1, '{"_id": "92141b17040021a7ce326194ff0029f7", "_rev": "19-004e54d1f1cd1b29ac681ec74cc672d2", "type": "ViewConfiguration", "metadata": {"type": "Login", "background": {"orientation": "BOTTOM_TOP"}, "showPasswordCheckbox": true}, "identifier": "login", "serverVersion": 1515152954114}'), +(2, '{"_id": "19a2e8aa6739d77a2b780199c6122867", "_rev": "60-9eaf54f5e5aa77f399f746401feaaab6", "type": "ViewConfiguration", "metadata": {"type": "Main", "language": "en", "applicationName": "TB REACH", "enableJsonViews": true}, "identifier": "main", "serverVersion": 1516890951253}'), +(3, '{"_id": "3a065d7c3354eb2bc23c8a3bc303ba20", "_rev": "2-e7c21d42edca554d9b1fb500381ded8d", "type": "ViewConfiguration", "views": [{"label": "column_patient", "visible": true, "residence": {"position": 0, "layout_weight": "2"}, "identifier": "patient"}, {"label": "column_results", "visible": true, "residence": {"position": 1, "layout_weight": "2"}, "identifier": "results"}, {"label": "column_treat", "visible": true, "residence": {"position": 3, "layout_weight": "1.5"}, "identifier": "treat"}, {"label": "column_smr_results", "visible": true, "residence": {"position": 2, "layout_weight": "1.5"}, "identifier": "smr_results"}, {"label": "column_xpert_results", "visible": true, "residence": {"position": 2, "layout_weight": "1.5"}, "identifier": "xpert_results"}, {"label": "column_diagnosis", "visible": true, "residence": {"position": 4, "layout_weight": "1.5"}, "identifier": "diagnosis"}], "metadata": {"type": "Register", "searchBarText": "Name and Participant ID", "enableSortList": false, "enableFilterList": false, "enableAdvancedSearch": true}, "identifier": "positive_register", "serverVersion": 1516605871345}'), +(4, '{"_id": "3a065d7c3354eb2bc23c8a3bc303ef62", "_rev": "4-44df2edb68f7fd2d416c3d24e0966abd", "type": "ViewConfiguration", "jsonView": {"views": [{"views": [], "widget": "org.smartregister.view.customcontrols.CustomFontTextView", "properties": [{"name": "id", "type": "ref", "value": "results_header"}, {"name": "style", "type": "ref", "value": "@style/CustomFontTextViewStyle.ClientList.Medium"}, {"name": "layout_width", "type": "dimen", "value": "0dp"}, {"name": "layout_height", "type": "dimen", "value": "wrap_content"}, {"name": "layout_alignParentRight", "type": "BOOLEAN", "value": "true"}, {"name": "layout_marginRight", "type": "dimen", "value": "7dp"}, {"name": "layout_weight", "type": "float", "value": "3.4"}, {"name": "text", "type": "ref", "value": "@string/results"}, {"name": "textAllCaps", "type": "BOOLEAN", "value": "true"}, {"name": "textColor", "type": "ref", "value": "@color/client_list_grey"}, {"name": "textSize", "type": "dimen", "value": "16sp"}]}, {"views": [], "widget": "org.smartregister.view.customcontrols.CustomFontTextView", "properties": [{"name": "id", "type": "ref", "value": "treat_header"}, {"name": "style", "type": "ref", "value": "@style/CustomFontTextViewStyle.ClientList.Medium"}, {"name": "layout_width", "type": "dimen", "value": "0dp"}, {"name": "layout_height", "type": "dimen", "value": "wrap_content"}, {"name": "layout_centerHorizontal", "type": "BOOLEAN", "value": "true"}, {"name": "layout_weight", "type": "float", "value": "2.6"}, {"name": "text", "type": "ref", "value": "@string/treat"}, {"name": "textAllCaps", "type": "BOOLEAN", "value": "true"}, {"name": "textColor", "type": "ref", "value": "@color/client_list_grey"}, {"name": "textSize", "type": "dimen", "value": "16sp"}]}, {"views": [], "widget": "org.smartregister.view.customcontrols.CustomFontTextView", "properties": [{"name": "id", "type": "ref", "value": "diagnosis_header"}, {"name": "style", "type": "ref", "value": "@style/CustomFontTextViewStyle.ClientList.Medium"}, {"name": "layout_width", "type": "dimen", "value": "0dp"}, {"name": "layout_height", "type": "dimen", "value": "wrap_content"}, {"name": "layout_centerHorizontal", "type": "BOOLEAN", "value": "true"}, {"name": "layout_weight", "type": "float", "value": "2.6"}, {"name": "text", "type": "ref", "value": "@string/diagnosis"}, {"name": "textAllCaps", "type": "BOOLEAN", "value": "true"}, {"name": "textColor", "type": "ref", "value": "@color/client_list_grey"}, {"name": "textSize", "type": "dimen", "value": "16sp"}, {"name": "visibility", "type": "string", "value": "gone"}]}], "widget": "LinearLayout", "properties": [{"name": "id", "type": "ref", "value": "register_headers"}, {"name": "layout_width", "type": "dimen", "value": "fill_parent"}, {"name": "layout_height", "type": "dimen", "value": "wrap_content"}, {"name": "background", "type": "ref", "value": "@color/client_list_header_dark_grey"}, {"name": "baselineAligned", "type": "string", "value": "false"}, {"name": "orientation", "type": "string", "value": "horizontal"}]}, "identifier": "positive_register_header", "serverVersion": 1516614392971}'), +(5, '{"_id": "d243bc5737fb389e52601cb850299541", "_rev": "46-7fa67d54ca9938f5400a2eb8fbf7a54e", "type": "ViewConfiguration", "labels": {"date": "Tarehe", "form": "Fomu", "contacts": "Anwani", "record_results": "REKODI MATOKEO", "remove_patient": "Toa Mgonjwa", "first_encounter": "Makutano ya Kwanza", "service_history": "Historia ya Huduma", "positive_results": "Matokeo ya Kudhibitishwa", "positive_patients": "Wangonjwa Wa Kudhibitishwa", "no_results_recorded": "Hakuna Matokeo", "presumptive_patients": "Wagonjwa Watakaopimwa", "in_treatment_patients": "Wagonjwa Wanaotibiwa"}, "identifier": "lang_sw", "serverVersion": 1515152954118}'); + +INSERT INTO core.view_configuration_metadata (id, view_configuration_id, document_id, identifier, server_version) VALUES +(1, 1, '92141b17040021a7ce326194ff0029f7', 'login', 1515152954114), +(2, 2, '19a2e8aa6739d77a2b780199c6122867', 'main', 1516890951253), +(3, 3, '3a065d7c3354eb2bc23c8a3bc303ba20', 'positive_register', 1516605871345), +(4, 4, '3a065d7c3354eb2bc23c8a3bc303ef62', 'positive_register_header', 1516614392971), +(5, 5, 'd243bc5737fb389e52601cb850299541', 'lang_sw', 1515152954118); \ No newline at end of file diff --git a/opensrp-core/src/main/java/org/opensrp/domain/postgres/Settings.java b/opensrp-core/src/main/java/org/opensrp/domain/postgres/Settings.java new file mode 100644 index 0000000000..931676a721 --- /dev/null +++ b/opensrp-core/src/main/java/org/opensrp/domain/postgres/Settings.java @@ -0,0 +1,69 @@ +package org.opensrp.domain.postgres; + +public class Settings { + /** + * + * This field was generated by MyBatis Generator. + * This field corresponds to the database column core.settings.id + * + * @mbg.generated Tue Sep 04 17:59:18 EAT 2018 + */ + private Long id; + + /** + * + * This field was generated by MyBatis Generator. + * This field corresponds to the database column core.settings.json + * + * @mbg.generated Tue Sep 04 17:59:18 EAT 2018 + */ + private Object json; + + /** + * This method was generated by MyBatis Generator. + * This method returns the value of the database column core.settings.id + * + * @return the value of core.settings.id + * + * @mbg.generated Tue Sep 04 17:59:18 EAT 2018 + */ + public Long getId() { + return id; + } + + /** + * This method was generated by MyBatis Generator. + * This method sets the value of the database column core.settings.id + * + * @param id the value for core.settings.id + * + * @mbg.generated Tue Sep 04 17:59:18 EAT 2018 + */ + public void setId(Long id) { + this.id = id; + } + + /** + * This method was generated by MyBatis Generator. + * This method returns the value of the database column core.settings.json + * + * @return the value of core.settings.json + * + * @mbg.generated Tue Sep 04 17:59:18 EAT 2018 + */ + public Object getJson() { + return json; + } + + /** + * This method was generated by MyBatis Generator. + * This method sets the value of the database column core.settings.json + * + * @param json the value for core.settings.json + * + * @mbg.generated Tue Sep 04 17:59:18 EAT 2018 + */ + public void setJson(Object json) { + this.json = json; + } +} \ No newline at end of file diff --git a/opensrp-core/src/main/java/org/opensrp/domain/postgres/SettingsExample.java b/opensrp-core/src/main/java/org/opensrp/domain/postgres/SettingsExample.java new file mode 100644 index 0000000000..73652f6b33 --- /dev/null +++ b/opensrp-core/src/main/java/org/opensrp/domain/postgres/SettingsExample.java @@ -0,0 +1,456 @@ +package org.opensrp.domain.postgres; + +import java.util.ArrayList; +import java.util.List; + +public class SettingsExample { + /** + * This field was generated by MyBatis Generator. + * This field corresponds to the database table core.settings + * + * @mbg.generated Tue Sep 04 17:59:18 EAT 2018 + */ + protected String orderByClause; + + /** + * This field was generated by MyBatis Generator. + * This field corresponds to the database table core.settings + * + * @mbg.generated Tue Sep 04 17:59:18 EAT 2018 + */ + protected boolean distinct; + + /** + * This field was generated by MyBatis Generator. + * This field corresponds to the database table core.settings + * + * @mbg.generated Tue Sep 04 17:59:18 EAT 2018 + */ + protected List oredCriteria; + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table core.settings + * + * @mbg.generated Tue Sep 04 17:59:18 EAT 2018 + */ + public SettingsExample() { + oredCriteria = new ArrayList(); + } + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table core.settings + * + * @mbg.generated Tue Sep 04 17:59:18 EAT 2018 + */ + public void setOrderByClause(String orderByClause) { + this.orderByClause = orderByClause; + } + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table core.settings + * + * @mbg.generated Tue Sep 04 17:59:18 EAT 2018 + */ + public String getOrderByClause() { + return orderByClause; + } + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table core.settings + * + * @mbg.generated Tue Sep 04 17:59:18 EAT 2018 + */ + public void setDistinct(boolean distinct) { + this.distinct = distinct; + } + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table core.settings + * + * @mbg.generated Tue Sep 04 17:59:18 EAT 2018 + */ + public boolean isDistinct() { + return distinct; + } + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table core.settings + * + * @mbg.generated Tue Sep 04 17:59:18 EAT 2018 + */ + public List getOredCriteria() { + return oredCriteria; + } + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table core.settings + * + * @mbg.generated Tue Sep 04 17:59:18 EAT 2018 + */ + public void or(Criteria criteria) { + oredCriteria.add(criteria); + } + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table core.settings + * + * @mbg.generated Tue Sep 04 17:59:18 EAT 2018 + */ + public Criteria or() { + Criteria criteria = createCriteriaInternal(); + oredCriteria.add(criteria); + return criteria; + } + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table core.settings + * + * @mbg.generated Tue Sep 04 17:59:18 EAT 2018 + */ + public Criteria createCriteria() { + Criteria criteria = createCriteriaInternal(); + if (oredCriteria.size() == 0) { + oredCriteria.add(criteria); + } + return criteria; + } + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table core.settings + * + * @mbg.generated Tue Sep 04 17:59:18 EAT 2018 + */ + protected Criteria createCriteriaInternal() { + Criteria criteria = new Criteria(); + return criteria; + } + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table core.settings + * + * @mbg.generated Tue Sep 04 17:59:18 EAT 2018 + */ + public void clear() { + oredCriteria.clear(); + orderByClause = null; + distinct = false; + } + + /** + * This class was generated by MyBatis Generator. + * This class corresponds to the database table core.settings + * + * @mbg.generated Tue Sep 04 17:59:18 EAT 2018 + */ + protected abstract static class GeneratedCriteria { + protected List jsonCriteria; + + protected List allCriteria; + + protected List criteria; + + protected GeneratedCriteria() { + super(); + criteria = new ArrayList(); + jsonCriteria = new ArrayList(); + } + + public List getJsonCriteria() { + return jsonCriteria; + } + + protected void addJsonCriterion(String condition, Object value, String property) { + if (value == null) { + throw new RuntimeException("Value for " + property + " cannot be null"); + } + jsonCriteria.add(new Criterion(condition, value, "org.opensrp.repository.postgres.handler.SettingTypeHandler")); + allCriteria = null; + } + + protected void addJsonCriterion(String condition, Object value1, Object value2, String property) { + if (value1 == null || value2 == null) { + throw new RuntimeException("Between values for " + property + " cannot be null"); + } + jsonCriteria.add(new Criterion(condition, value1, value2, "org.opensrp.repository.postgres.handler.SettingTypeHandler")); + allCriteria = null; + } + + public boolean isValid() { + return criteria.size() > 0 + || jsonCriteria.size() > 0; + } + + public List getAllCriteria() { + if (allCriteria == null) { + allCriteria = new ArrayList(); + allCriteria.addAll(criteria); + allCriteria.addAll(jsonCriteria); + } + return allCriteria; + } + + public List getCriteria() { + return criteria; + } + + protected void addCriterion(String condition) { + if (condition == null) { + throw new RuntimeException("Value for condition cannot be null"); + } + criteria.add(new Criterion(condition)); + allCriteria = null; + } + + protected void addCriterion(String condition, Object value, String property) { + if (value == null) { + throw new RuntimeException("Value for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value)); + allCriteria = null; + } + + protected void addCriterion(String condition, Object value1, Object value2, String property) { + if (value1 == null || value2 == null) { + throw new RuntimeException("Between values for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value1, value2)); + allCriteria = null; + } + + public Criteria andIdIsNull() { + addCriterion("id is null"); + return (Criteria) this; + } + + public Criteria andIdIsNotNull() { + addCriterion("id is not null"); + return (Criteria) this; + } + + public Criteria andIdEqualTo(Long value) { + addCriterion("id =", value, "id"); + return (Criteria) this; + } + + public Criteria andIdNotEqualTo(Long value) { + addCriterion("id <>", value, "id"); + return (Criteria) this; + } + + public Criteria andIdGreaterThan(Long value) { + addCriterion("id >", value, "id"); + return (Criteria) this; + } + + public Criteria andIdGreaterThanOrEqualTo(Long value) { + addCriterion("id >=", value, "id"); + return (Criteria) this; + } + + public Criteria andIdLessThan(Long value) { + addCriterion("id <", value, "id"); + return (Criteria) this; + } + + public Criteria andIdLessThanOrEqualTo(Long value) { + addCriterion("id <=", value, "id"); + return (Criteria) this; + } + + public Criteria andIdIn(List values) { + addCriterion("id in", values, "id"); + return (Criteria) this; + } + + public Criteria andIdNotIn(List values) { + addCriterion("id not in", values, "id"); + return (Criteria) this; + } + + public Criteria andIdBetween(Long value1, Long value2) { + addCriterion("id between", value1, value2, "id"); + return (Criteria) this; + } + + public Criteria andIdNotBetween(Long value1, Long value2) { + addCriterion("id not between", value1, value2, "id"); + return (Criteria) this; + } + + public Criteria andJsonIsNull() { + addCriterion("json is null"); + return (Criteria) this; + } + + public Criteria andJsonIsNotNull() { + addCriterion("json is not null"); + return (Criteria) this; + } + + public Criteria andJsonEqualTo(Object value) { + addJsonCriterion("json =", value, "json"); + return (Criteria) this; + } + + public Criteria andJsonNotEqualTo(Object value) { + addJsonCriterion("json <>", value, "json"); + return (Criteria) this; + } + + public Criteria andJsonGreaterThan(Object value) { + addJsonCriterion("json >", value, "json"); + return (Criteria) this; + } + + public Criteria andJsonGreaterThanOrEqualTo(Object value) { + addJsonCriterion("json >=", value, "json"); + return (Criteria) this; + } + + public Criteria andJsonLessThan(Object value) { + addJsonCriterion("json <", value, "json"); + return (Criteria) this; + } + + public Criteria andJsonLessThanOrEqualTo(Object value) { + addJsonCriterion("json <=", value, "json"); + return (Criteria) this; + } + + public Criteria andJsonIn(List values) { + addJsonCriterion("json in", values, "json"); + return (Criteria) this; + } + + public Criteria andJsonNotIn(List values) { + addJsonCriterion("json not in", values, "json"); + return (Criteria) this; + } + + public Criteria andJsonBetween(Object value1, Object value2) { + addJsonCriterion("json between", value1, value2, "json"); + return (Criteria) this; + } + + public Criteria andJsonNotBetween(Object value1, Object value2) { + addJsonCriterion("json not between", value1, value2, "json"); + return (Criteria) this; + } + } + + /** + * This class was generated by MyBatis Generator. + * This class corresponds to the database table core.settings + * + * @mbg.generated do_not_delete_during_merge Tue Sep 04 17:59:18 EAT 2018 + */ + public static class Criteria extends GeneratedCriteria { + + protected Criteria() { + super(); + } + } + + /** + * This class was generated by MyBatis Generator. + * This class corresponds to the database table core.settings + * + * @mbg.generated Tue Sep 04 17:59:18 EAT 2018 + */ + public static class Criterion { + private String condition; + + private Object value; + + private Object secondValue; + + private boolean noValue; + + private boolean singleValue; + + private boolean betweenValue; + + private boolean listValue; + + private String typeHandler; + + public String getCondition() { + return condition; + } + + public Object getValue() { + return value; + } + + public Object getSecondValue() { + return secondValue; + } + + public boolean isNoValue() { + return noValue; + } + + public boolean isSingleValue() { + return singleValue; + } + + public boolean isBetweenValue() { + return betweenValue; + } + + public boolean isListValue() { + return listValue; + } + + public String getTypeHandler() { + return typeHandler; + } + + protected Criterion(String condition) { + super(); + this.condition = condition; + this.typeHandler = null; + this.noValue = true; + } + + protected Criterion(String condition, Object value, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.typeHandler = typeHandler; + if (value instanceof List) { + this.listValue = true; + } else { + this.singleValue = true; + } + } + + protected Criterion(String condition, Object value) { + this(condition, value, null); + } + + protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.secondValue = secondValue; + this.typeHandler = typeHandler; + this.betweenValue = true; + } + + protected Criterion(String condition, Object value, Object secondValue) { + this(condition, value, secondValue, null); + } + } +} \ No newline at end of file diff --git a/opensrp-core/src/main/java/org/opensrp/domain/postgres/SettingsMetadata.java b/opensrp-core/src/main/java/org/opensrp/domain/postgres/SettingsMetadata.java new file mode 100644 index 0000000000..096680ff62 --- /dev/null +++ b/opensrp-core/src/main/java/org/opensrp/domain/postgres/SettingsMetadata.java @@ -0,0 +1,168 @@ +package org.opensrp.domain.postgres; + +public class SettingsMetadata { + /** + * + * This field was generated by MyBatis Generator. + * This field corresponds to the database column core.settings_metadata.id + * + * @mbg.generated Tue Sep 04 17:59:18 EAT 2018 + */ + private Long id; + + /** + * + * This field was generated by MyBatis Generator. + * This field corresponds to the database column core.settings_metadata.settings_id + * + * @mbg.generated Tue Sep 04 17:59:18 EAT 2018 + */ + private Long settingsId; + + /** + * + * This field was generated by MyBatis Generator. + * This field corresponds to the database column core.settings_metadata.document_id + * + * @mbg.generated Tue Sep 04 17:59:18 EAT 2018 + */ + private String documentId; + + /** + * + * This field was generated by MyBatis Generator. + * This field corresponds to the database column core.settings_metadata.identifier + * + * @mbg.generated Tue Sep 04 17:59:18 EAT 2018 + */ + private String identifier; + + /** + * + * This field was generated by MyBatis Generator. + * This field corresponds to the database column core.settings_metadata.server_version + * + * @mbg.generated Tue Sep 04 17:59:18 EAT 2018 + */ + private Long serverVersion; + + /** + * This method was generated by MyBatis Generator. + * This method returns the value of the database column core.settings_metadata.id + * + * @return the value of core.settings_metadata.id + * + * @mbg.generated Tue Sep 04 17:59:18 EAT 2018 + */ + public Long getId() { + return id; + } + + /** + * This method was generated by MyBatis Generator. + * This method sets the value of the database column core.settings_metadata.id + * + * @param id the value for core.settings_metadata.id + * + * @mbg.generated Tue Sep 04 17:59:18 EAT 2018 + */ + public void setId(Long id) { + this.id = id; + } + + /** + * This method was generated by MyBatis Generator. + * This method returns the value of the database column core.settings_metadata.settings_id + * + * @return the value of core.settings_metadata.settings_id + * + * @mbg.generated Tue Sep 04 17:59:18 EAT 2018 + */ + public Long getSettingsId() { + return settingsId; + } + + /** + * This method was generated by MyBatis Generator. + * This method sets the value of the database column core.settings_metadata.settings_id + * + * @param settingsId the value for core.settings_metadata.settings_id + * + * @mbg.generated Tue Sep 04 17:59:18 EAT 2018 + */ + public void setSettingsId(Long settingsId) { + this.settingsId = settingsId; + } + + /** + * This method was generated by MyBatis Generator. + * This method returns the value of the database column core.settings_metadata.document_id + * + * @return the value of core.settings_metadata.document_id + * + * @mbg.generated Tue Sep 04 17:59:18 EAT 2018 + */ + public String getDocumentId() { + return documentId; + } + + /** + * This method was generated by MyBatis Generator. + * This method sets the value of the database column core.settings_metadata.document_id + * + * @param documentId the value for core.settings_metadata.document_id + * + * @mbg.generated Tue Sep 04 17:59:18 EAT 2018 + */ + public void setDocumentId(String documentId) { + this.documentId = documentId; + } + + /** + * This method was generated by MyBatis Generator. + * This method returns the value of the database column core.settings_metadata.identifier + * + * @return the value of core.settings_metadata.identifier + * + * @mbg.generated Tue Sep 04 17:59:18 EAT 2018 + */ + public String getIdentifier() { + return identifier; + } + + /** + * This method was generated by MyBatis Generator. + * This method sets the value of the database column core.settings_metadata.identifier + * + * @param identifier the value for core.settings_metadata.identifier + * + * @mbg.generated Tue Sep 04 17:59:18 EAT 2018 + */ + public void setIdentifier(String identifier) { + this.identifier = identifier; + } + + /** + * This method was generated by MyBatis Generator. + * This method returns the value of the database column core.settings_metadata.server_version + * + * @return the value of core.settings_metadata.server_version + * + * @mbg.generated Tue Sep 04 17:59:18 EAT 2018 + */ + public Long getServerVersion() { + return serverVersion; + } + + /** + * This method was generated by MyBatis Generator. + * This method sets the value of the database column core.settings_metadata.server_version + * + * @param serverVersion the value for core.settings_metadata.server_version + * + * @mbg.generated Tue Sep 04 17:59:18 EAT 2018 + */ + public void setServerVersion(Long serverVersion) { + this.serverVersion = serverVersion; + } +} \ No newline at end of file diff --git a/opensrp-core/src/main/java/org/opensrp/domain/postgres/SettingsMetadataExample.java b/opensrp-core/src/main/java/org/opensrp/domain/postgres/SettingsMetadataExample.java new file mode 100644 index 0000000000..28b4fd5424 --- /dev/null +++ b/opensrp-core/src/main/java/org/opensrp/domain/postgres/SettingsMetadataExample.java @@ -0,0 +1,622 @@ +package org.opensrp.domain.postgres; + +import java.util.ArrayList; +import java.util.List; + +public class SettingsMetadataExample { + /** + * This field was generated by MyBatis Generator. + * This field corresponds to the database table core.settings_metadata + * + * @mbg.generated Tue Sep 04 17:59:18 EAT 2018 + */ + protected String orderByClause; + + /** + * This field was generated by MyBatis Generator. + * This field corresponds to the database table core.settings_metadata + * + * @mbg.generated Tue Sep 04 17:59:18 EAT 2018 + */ + protected boolean distinct; + + /** + * This field was generated by MyBatis Generator. + * This field corresponds to the database table core.settings_metadata + * + * @mbg.generated Tue Sep 04 17:59:18 EAT 2018 + */ + protected List oredCriteria; + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table core.settings_metadata + * + * @mbg.generated Tue Sep 04 17:59:18 EAT 2018 + */ + public SettingsMetadataExample() { + oredCriteria = new ArrayList(); + } + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table core.settings_metadata + * + * @mbg.generated Tue Sep 04 17:59:18 EAT 2018 + */ + public void setOrderByClause(String orderByClause) { + this.orderByClause = orderByClause; + } + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table core.settings_metadata + * + * @mbg.generated Tue Sep 04 17:59:18 EAT 2018 + */ + public String getOrderByClause() { + return orderByClause; + } + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table core.settings_metadata + * + * @mbg.generated Tue Sep 04 17:59:18 EAT 2018 + */ + public void setDistinct(boolean distinct) { + this.distinct = distinct; + } + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table core.settings_metadata + * + * @mbg.generated Tue Sep 04 17:59:18 EAT 2018 + */ + public boolean isDistinct() { + return distinct; + } + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table core.settings_metadata + * + * @mbg.generated Tue Sep 04 17:59:18 EAT 2018 + */ + public List getOredCriteria() { + return oredCriteria; + } + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table core.settings_metadata + * + * @mbg.generated Tue Sep 04 17:59:18 EAT 2018 + */ + public void or(Criteria criteria) { + oredCriteria.add(criteria); + } + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table core.settings_metadata + * + * @mbg.generated Tue Sep 04 17:59:18 EAT 2018 + */ + public Criteria or() { + Criteria criteria = createCriteriaInternal(); + oredCriteria.add(criteria); + return criteria; + } + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table core.settings_metadata + * + * @mbg.generated Tue Sep 04 17:59:18 EAT 2018 + */ + public Criteria createCriteria() { + Criteria criteria = createCriteriaInternal(); + if (oredCriteria.size() == 0) { + oredCriteria.add(criteria); + } + return criteria; + } + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table core.settings_metadata + * + * @mbg.generated Tue Sep 04 17:59:18 EAT 2018 + */ + protected Criteria createCriteriaInternal() { + Criteria criteria = new Criteria(); + return criteria; + } + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table core.settings_metadata + * + * @mbg.generated Tue Sep 04 17:59:18 EAT 2018 + */ + public void clear() { + oredCriteria.clear(); + orderByClause = null; + distinct = false; + } + + /** + * This class was generated by MyBatis Generator. + * This class corresponds to the database table core.settings_metadata + * + * @mbg.generated Tue Sep 04 17:59:18 EAT 2018 + */ + protected abstract static class GeneratedCriteria { + protected List criteria; + + protected GeneratedCriteria() { + super(); + criteria = new ArrayList(); + } + + public boolean isValid() { + return criteria.size() > 0; + } + + public List getAllCriteria() { + return criteria; + } + + public List getCriteria() { + return criteria; + } + + protected void addCriterion(String condition) { + if (condition == null) { + throw new RuntimeException("Value for condition cannot be null"); + } + criteria.add(new Criterion(condition)); + } + + protected void addCriterion(String condition, Object value, String property) { + if (value == null) { + throw new RuntimeException("Value for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value)); + } + + protected void addCriterion(String condition, Object value1, Object value2, String property) { + if (value1 == null || value2 == null) { + throw new RuntimeException("Between values for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value1, value2)); + } + + public Criteria andIdIsNull() { + addCriterion("id is null"); + return (Criteria) this; + } + + public Criteria andIdIsNotNull() { + addCriterion("id is not null"); + return (Criteria) this; + } + + public Criteria andIdEqualTo(Long value) { + addCriterion("id =", value, "id"); + return (Criteria) this; + } + + public Criteria andIdNotEqualTo(Long value) { + addCriterion("id <>", value, "id"); + return (Criteria) this; + } + + public Criteria andIdGreaterThan(Long value) { + addCriterion("id >", value, "id"); + return (Criteria) this; + } + + public Criteria andIdGreaterThanOrEqualTo(Long value) { + addCriterion("id >=", value, "id"); + return (Criteria) this; + } + + public Criteria andIdLessThan(Long value) { + addCriterion("id <", value, "id"); + return (Criteria) this; + } + + public Criteria andIdLessThanOrEqualTo(Long value) { + addCriterion("id <=", value, "id"); + return (Criteria) this; + } + + public Criteria andIdIn(List values) { + addCriterion("id in", values, "id"); + return (Criteria) this; + } + + public Criteria andIdNotIn(List values) { + addCriterion("id not in", values, "id"); + return (Criteria) this; + } + + public Criteria andIdBetween(Long value1, Long value2) { + addCriterion("id between", value1, value2, "id"); + return (Criteria) this; + } + + public Criteria andIdNotBetween(Long value1, Long value2) { + addCriterion("id not between", value1, value2, "id"); + return (Criteria) this; + } + + public Criteria andSettingsIdIsNull() { + addCriterion("settings_id is null"); + return (Criteria) this; + } + + public Criteria andSettingsIdIsNotNull() { + addCriterion("settings_id is not null"); + return (Criteria) this; + } + + public Criteria andSettingsIdEqualTo(Long value) { + addCriterion("settings_id =", value, "settingsId"); + return (Criteria) this; + } + + public Criteria andSettingsIdNotEqualTo(Long value) { + addCriterion("settings_id <>", value, "settingsId"); + return (Criteria) this; + } + + public Criteria andSettingsIdGreaterThan(Long value) { + addCriterion("settings_id >", value, "settingsId"); + return (Criteria) this; + } + + public Criteria andSettingsIdGreaterThanOrEqualTo(Long value) { + addCriterion("settings_id >=", value, "settingsId"); + return (Criteria) this; + } + + public Criteria andSettingsIdLessThan(Long value) { + addCriterion("settings_id <", value, "settingsId"); + return (Criteria) this; + } + + public Criteria andSettingsIdLessThanOrEqualTo(Long value) { + addCriterion("settings_id <=", value, "settingsId"); + return (Criteria) this; + } + + public Criteria andSettingsIdIn(List values) { + addCriterion("settings_id in", values, "settingsId"); + return (Criteria) this; + } + + public Criteria andSettingsIdNotIn(List values) { + addCriterion("settings_id not in", values, "settingsId"); + return (Criteria) this; + } + + public Criteria andSettingsIdBetween(Long value1, Long value2) { + addCriterion("settings_id between", value1, value2, "settingsId"); + return (Criteria) this; + } + + public Criteria andSettingsIdNotBetween(Long value1, Long value2) { + addCriterion("settings_id not between", value1, value2, "settingsId"); + return (Criteria) this; + } + + public Criteria andDocumentIdIsNull() { + addCriterion("document_id is null"); + return (Criteria) this; + } + + public Criteria andDocumentIdIsNotNull() { + addCriterion("document_id is not null"); + return (Criteria) this; + } + + public Criteria andDocumentIdEqualTo(String value) { + addCriterion("document_id =", value, "documentId"); + return (Criteria) this; + } + + public Criteria andDocumentIdNotEqualTo(String value) { + addCriterion("document_id <>", value, "documentId"); + return (Criteria) this; + } + + public Criteria andDocumentIdGreaterThan(String value) { + addCriterion("document_id >", value, "documentId"); + return (Criteria) this; + } + + public Criteria andDocumentIdGreaterThanOrEqualTo(String value) { + addCriterion("document_id >=", value, "documentId"); + return (Criteria) this; + } + + public Criteria andDocumentIdLessThan(String value) { + addCriterion("document_id <", value, "documentId"); + return (Criteria) this; + } + + public Criteria andDocumentIdLessThanOrEqualTo(String value) { + addCriterion("document_id <=", value, "documentId"); + return (Criteria) this; + } + + public Criteria andDocumentIdLike(String value) { + addCriterion("document_id like", value, "documentId"); + return (Criteria) this; + } + + public Criteria andDocumentIdNotLike(String value) { + addCriterion("document_id not like", value, "documentId"); + return (Criteria) this; + } + + public Criteria andDocumentIdIn(List values) { + addCriterion("document_id in", values, "documentId"); + return (Criteria) this; + } + + public Criteria andDocumentIdNotIn(List values) { + addCriterion("document_id not in", values, "documentId"); + return (Criteria) this; + } + + public Criteria andDocumentIdBetween(String value1, String value2) { + addCriterion("document_id between", value1, value2, "documentId"); + return (Criteria) this; + } + + public Criteria andDocumentIdNotBetween(String value1, String value2) { + addCriterion("document_id not between", value1, value2, "documentId"); + return (Criteria) this; + } + + public Criteria andIdentifierIsNull() { + addCriterion("identifier is null"); + return (Criteria) this; + } + + public Criteria andIdentifierIsNotNull() { + addCriterion("identifier is not null"); + return (Criteria) this; + } + + public Criteria andIdentifierEqualTo(String value) { + addCriterion("identifier =", value, "identifier"); + return (Criteria) this; + } + + public Criteria andIdentifierNotEqualTo(String value) { + addCriterion("identifier <>", value, "identifier"); + return (Criteria) this; + } + + public Criteria andIdentifierGreaterThan(String value) { + addCriterion("identifier >", value, "identifier"); + return (Criteria) this; + } + + public Criteria andIdentifierGreaterThanOrEqualTo(String value) { + addCriterion("identifier >=", value, "identifier"); + return (Criteria) this; + } + + public Criteria andIdentifierLessThan(String value) { + addCriterion("identifier <", value, "identifier"); + return (Criteria) this; + } + + public Criteria andIdentifierLessThanOrEqualTo(String value) { + addCriterion("identifier <=", value, "identifier"); + return (Criteria) this; + } + + public Criteria andIdentifierLike(String value) { + addCriterion("identifier like", value, "identifier"); + return (Criteria) this; + } + + public Criteria andIdentifierNotLike(String value) { + addCriterion("identifier not like", value, "identifier"); + return (Criteria) this; + } + + public Criteria andIdentifierIn(List values) { + addCriterion("identifier in", values, "identifier"); + return (Criteria) this; + } + + public Criteria andIdentifierNotIn(List values) { + addCriterion("identifier not in", values, "identifier"); + return (Criteria) this; + } + + public Criteria andIdentifierBetween(String value1, String value2) { + addCriterion("identifier between", value1, value2, "identifier"); + return (Criteria) this; + } + + public Criteria andIdentifierNotBetween(String value1, String value2) { + addCriterion("identifier not between", value1, value2, "identifier"); + return (Criteria) this; + } + + public Criteria andServerVersionIsNull() { + addCriterion("server_version is null"); + return (Criteria) this; + } + + public Criteria andServerVersionIsNotNull() { + addCriterion("server_version is not null"); + return (Criteria) this; + } + + public Criteria andServerVersionEqualTo(Long value) { + addCriterion("server_version =", value, "serverVersion"); + return (Criteria) this; + } + + public Criteria andServerVersionNotEqualTo(Long value) { + addCriterion("server_version <>", value, "serverVersion"); + return (Criteria) this; + } + + public Criteria andServerVersionGreaterThan(Long value) { + addCriterion("server_version >", value, "serverVersion"); + return (Criteria) this; + } + + public Criteria andServerVersionGreaterThanOrEqualTo(Long value) { + addCriterion("server_version >=", value, "serverVersion"); + return (Criteria) this; + } + + public Criteria andServerVersionLessThan(Long value) { + addCriterion("server_version <", value, "serverVersion"); + return (Criteria) this; + } + + public Criteria andServerVersionLessThanOrEqualTo(Long value) { + addCriterion("server_version <=", value, "serverVersion"); + return (Criteria) this; + } + + public Criteria andServerVersionIn(List values) { + addCriterion("server_version in", values, "serverVersion"); + return (Criteria) this; + } + + public Criteria andServerVersionNotIn(List values) { + addCriterion("server_version not in", values, "serverVersion"); + return (Criteria) this; + } + + public Criteria andServerVersionBetween(Long value1, Long value2) { + addCriterion("server_version between", value1, value2, "serverVersion"); + return (Criteria) this; + } + + public Criteria andServerVersionNotBetween(Long value1, Long value2) { + addCriterion("server_version not between", value1, value2, "serverVersion"); + return (Criteria) this; + } + } + + /** + * This class was generated by MyBatis Generator. + * This class corresponds to the database table core.settings_metadata + * + * @mbg.generated do_not_delete_during_merge Tue Sep 04 17:59:18 EAT 2018 + */ + public static class Criteria extends GeneratedCriteria { + + protected Criteria() { + super(); + } + } + + /** + * This class was generated by MyBatis Generator. + * This class corresponds to the database table core.settings_metadata + * + * @mbg.generated Tue Sep 04 17:59:18 EAT 2018 + */ + public static class Criterion { + private String condition; + + private Object value; + + private Object secondValue; + + private boolean noValue; + + private boolean singleValue; + + private boolean betweenValue; + + private boolean listValue; + + private String typeHandler; + + public String getCondition() { + return condition; + } + + public Object getValue() { + return value; + } + + public Object getSecondValue() { + return secondValue; + } + + public boolean isNoValue() { + return noValue; + } + + public boolean isSingleValue() { + return singleValue; + } + + public boolean isBetweenValue() { + return betweenValue; + } + + public boolean isListValue() { + return listValue; + } + + public String getTypeHandler() { + return typeHandler; + } + + protected Criterion(String condition) { + super(); + this.condition = condition; + this.typeHandler = null; + this.noValue = true; + } + + protected Criterion(String condition, Object value, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.typeHandler = typeHandler; + if (value instanceof List) { + this.listValue = true; + } else { + this.singleValue = true; + } + } + + protected Criterion(String condition, Object value) { + this(condition, value, null); + } + + protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.secondValue = secondValue; + this.typeHandler = typeHandler; + this.betweenValue = true; + } + + protected Criterion(String condition, Object value, Object secondValue) { + this(condition, value, secondValue, null); + } + } +} \ No newline at end of file diff --git a/opensrp-core/src/main/java/org/opensrp/domain/setting/Setting.java b/opensrp-core/src/main/java/org/opensrp/domain/setting/Setting.java new file mode 100644 index 0000000000..0c4f01111f --- /dev/null +++ b/opensrp-core/src/main/java/org/opensrp/domain/setting/Setting.java @@ -0,0 +1,144 @@ +package org.opensrp.domain.setting; + +import org.codehaus.jackson.annotate.JsonProperty; +import org.ektorp.support.TypeDiscriminator; +import org.opensrp.domain.BaseDataObject; + +@TypeDiscriminator("doc.type == 'Setting'") +public class Setting extends BaseDataObject { + + private static final long serialVersionUID = 1890883609898207738L; + + @JsonProperty + private String key; + + @JsonProperty + private String value; + + @JsonProperty + private Long timestamp; + + @JsonProperty + private String label; + + @JsonProperty + private String description; + + @JsonProperty + private String teamId; + + @JsonProperty + private String providerId; + + @JsonProperty + private String locationId; + + @JsonProperty + private String childLocationId; + + @JsonProperty + private String version; + + @JsonProperty + private Long serverVersion; + + @JsonProperty + private String type; + + public String getKey() { + return key; + } + + public void setKey(String key) { + this.key = key; + } + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } + + public Long getTimestamp() { + return timestamp; + } + + public void setTimestamp(Long timestamp) { + this.timestamp = timestamp; + } + + public String getLabel() { + return label; + } + + public void setLabel(String label) { + this.label = label; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public String getTeamId() { + return teamId; + } + + public void setTeamId(String teamId) { + this.teamId = teamId; + } + + public String getProviderId() { + return providerId; + } + + public void setProviderId(String providerId) { + this.providerId = providerId; + } + + public String getLocationId() { + return locationId; + } + + public void setLocationId(String locationId) { + this.locationId = locationId; + } + + public String getChildLocationId() { + return childLocationId; + } + + public void setChildLocationId(String childLocationId) { + this.childLocationId = childLocationId; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public Long getServerVersion() { + return serverVersion; + } + + public void setServerVersion(Long serverVersion) { + this.serverVersion = serverVersion; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + +} diff --git a/opensrp-core/src/main/java/org/opensrp/repository/SettingRepository.java b/opensrp-core/src/main/java/org/opensrp/repository/SettingRepository.java new file mode 100644 index 0000000000..4997a9944c --- /dev/null +++ b/opensrp-core/src/main/java/org/opensrp/repository/SettingRepository.java @@ -0,0 +1,14 @@ +package org.opensrp.repository; + +import java.util.List; + +import org.opensrp.domain.setting.Setting; + +public interface SettingRepository extends BaseRepository { + + List findAllSettings(); + + List findAllSettingsByVersion(Long lastSyncedServerVersion); + + List findByEmptyServerVersion(); +} diff --git a/opensrp-core/src/main/java/org/opensrp/repository/couch/SettingRepositoryImpl.java b/opensrp-core/src/main/java/org/opensrp/repository/couch/SettingRepositoryImpl.java new file mode 100644 index 0000000000..eb1e64ef47 --- /dev/null +++ b/opensrp-core/src/main/java/org/opensrp/repository/couch/SettingRepositoryImpl.java @@ -0,0 +1,55 @@ +package org.opensrp.repository.couch; + +import java.util.List; + +import org.ektorp.ComplexKey; +import org.ektorp.CouchDbConnector; +import org.ektorp.support.CouchDbRepositorySupport; +import org.ektorp.support.View; +import org.opensrp.common.AllConstants; +import org.opensrp.domain.setting.Setting; +import org.opensrp.repository.SettingRepository; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.context.annotation.Primary; +import org.springframework.stereotype.Repository; + +@Repository("couchSettingRepository") +@Primary +public class SettingRepositoryImpl extends CouchDbRepositorySupport implements SettingRepository { + + @Autowired + protected SettingRepositoryImpl(@Qualifier(AllConstants.OPENSRP_DATABASE_CONNECTOR) CouchDbConnector db) { + super(Setting.class, db); + initStandardDesignDocument(); + } + + @View(name = "all_settings", map = "function(doc) { if (doc.type==='Setting') { emit(doc.identifier); }}") + public List findAllSettings() { + return db.queryView(createQuery("all_settings").includeDocs(true), Setting.class); + } + + @View(name = "settings_by_version", map = "function(doc) { if (doc.type==='Setting') { emit([doc.serverVersion], null); }}") + public List findAllSettingsByVersion(Long lastSyncedServerVersion) { + ComplexKey startKey = ComplexKey.of(lastSyncedServerVersion); + ComplexKey endKey = ComplexKey.of(Long.MAX_VALUE); + return db.queryView( + createQuery("settings_by_version").includeDocs(true).startKey(startKey).endKey(endKey), Setting.class); + } + + /** + * Get all Settings without a server version + * + * @return settings + */ + @View(name = "settings_by_empty_server_version", map = "function(doc) { if ( doc.type == 'Setting' && !doc.serverVersion) { emit(doc._id, doc); } }") + public List findByEmptyServerVersion() { + return db.queryView(createQuery("settings_by_empty_server_version").limit(200).includeDocs(true), Setting.class); + } + + @Override + public void safeRemove(Setting entity) { + remove(entity); + } + +} diff --git a/opensrp-core/src/main/java/org/opensrp/repository/postgres/SettingRepositoryImpl.java b/opensrp-core/src/main/java/org/opensrp/repository/postgres/SettingRepositoryImpl.java new file mode 100644 index 0000000000..17ef33e8ff --- /dev/null +++ b/opensrp-core/src/main/java/org/opensrp/repository/postgres/SettingRepositoryImpl.java @@ -0,0 +1,210 @@ +package org.opensrp.repository.postgres; + +import java.util.ArrayList; +import java.util.List; +import java.util.UUID; + +import org.opensrp.domain.postgres.SettingsMetadata; +import org.opensrp.domain.postgres.SettingsMetadataExample; +import org.opensrp.domain.setting.Setting; +import org.opensrp.repository.SettingRepository; +import org.opensrp.repository.postgres.mapper.custom.CustomSettingMapper; +import org.opensrp.repository.postgres.mapper.custom.CustomSettingMetadataMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Repository; + +@Repository("settingRepositoryPostgres") +public class SettingRepositoryImpl extends BaseRepositoryImpl implements SettingRepository { + + @Autowired + private CustomSettingMapper settingMapper; + + @Autowired + private CustomSettingMetadataMapper settingMetadataMapper; + + @Override + public Setting get(String id) { + return convert(settingMetadataMapper.selectByDocumentId(id)); + } + + @Override + public void add(Setting entity) { + if (entity == null || entity.getKey() == null) { + return; + } + + if (retrievePrimaryKey(entity) != null) { //Setting already added + return; + } + + if (entity.getId() == null) + entity.setId(UUID.randomUUID().toString()); + setRevision(entity); + + org.opensrp.domain.postgres.Settings pgSetting = convert(entity, null); + if (pgSetting == null) { + return; + } + + int rowsAffected = settingMapper.insertSelectiveAndSetId(pgSetting); + if (rowsAffected < 1 || pgSetting.getId() == null) { + return; + } + + SettingsMetadata metadata = createMetadata(entity, pgSetting.getId()); + if (metadata != null) { + settingMetadataMapper.insertSelective(metadata); + } + } + + @Override + public void update(Setting entity) { + if (entity == null || entity.getId() == null || entity.getKey() == null) { + return; + } + + Long id = retrievePrimaryKey(entity); + + if (id == null) { //Setting not exists + return; + } + + setRevision(entity); + + org.opensrp.domain.postgres.Settings pgSetting = convert(entity, id); + + if (pgSetting == null) { + return; + } + + SettingsMetadata metadata = createMetadata(entity, id); + if (metadata == null) { + return; + } + + int rowsAffected = settingMapper.updateByPrimaryKey(pgSetting); + if (rowsAffected < 1) { + return; + } + + SettingsMetadataExample metadataExample = new SettingsMetadataExample(); + metadataExample.createCriteria().andSettingsIdEqualTo(id); + metadata.setId(settingMetadataMapper.selectByExample(metadataExample).get(0).getId()); + settingMetadataMapper.updateByPrimaryKey(metadata); + + } + + @Override + public List getAll() { + return convert(settingMetadataMapper.selectMany(new SettingsMetadataExample(), 0, DEFAULT_FETCH_SIZE)); + } + + @Override + public void safeRemove(Setting entity) { + if (entity == null) { + return; + } + + Long id = retrievePrimaryKey(entity); + if (id == null) { + return; + } + + SettingsMetadataExample metadataExample = new SettingsMetadataExample(); + metadataExample.createCriteria().andSettingsIdEqualTo(id); + int rowsAffected = settingMetadataMapper.deleteByExample(metadataExample); + if (rowsAffected < 1) { + return; + } + + settingMapper.deleteByPrimaryKey(id); + + } + + @Override + public List findAllSettings() { + return getAll(); + } + + @Override + public List findAllSettingsByVersion(Long lastSyncedServerVersion) { + SettingsMetadataExample metadataExample = new SettingsMetadataExample(); + metadataExample.createCriteria().andServerVersionGreaterThanOrEqualTo(lastSyncedServerVersion); + return convert(settingMetadataMapper.selectMany(metadataExample, 0, DEFAULT_FETCH_SIZE)); + } + + @Override + public List findByEmptyServerVersion() { + SettingsMetadataExample metadataExample = new SettingsMetadataExample(); + metadataExample.createCriteria().andServerVersionIsNull(); + metadataExample.or(metadataExample.createCriteria().andServerVersionEqualTo(0l)); + return convert(settingMetadataMapper.selectMany(metadataExample, 0, DEFAULT_FETCH_SIZE)); + } + + @Override + protected Long retrievePrimaryKey(Setting setting) { + if (getUniqueField(setting) == null) { + return null; + } + String documentId = setting.getId(); + + SettingsMetadataExample metadataExample = new SettingsMetadataExample(); + metadataExample.createCriteria().andDocumentIdEqualTo(documentId); + + org.opensrp.domain.postgres.Settings pgSetting = settingMetadataMapper.selectByDocumentId(documentId); + if (pgSetting == null) { + return null; + } + return pgSetting.getId(); + } + + @Override + protected Object getUniqueField(Setting setting) { + return setting == null ? null : setting.getId(); + } + + //private Methods + private Setting convert(org.opensrp.domain.postgres.Settings setting) { + if (setting == null || setting.getJson() == null || !(setting.getJson() instanceof Setting)) { + return null; + } + return (Setting) setting.getJson(); + } + + private org.opensrp.domain.postgres.Settings convert(Setting entity, Long id) { + if (entity == null) { + return null; + } + + org.opensrp.domain.postgres.Settings pgSetting = new org.opensrp.domain.postgres.Settings(); + pgSetting.setId(id); + pgSetting.setJson(entity); + + return pgSetting; + } + + private List convert(List settings) { + if (settings == null || settings.isEmpty()) { + return new ArrayList<>(); + } + + List settingValues = new ArrayList<>(); + for (org.opensrp.domain.postgres.Settings setting : settings) { + Setting convertedSetting = convert(setting); + if (convertedSetting != null) { + settingValues.add(convertedSetting); + } + } + return settingValues; + } + + private SettingsMetadata createMetadata(Setting entity, Long id) { + SettingsMetadata metadata = new SettingsMetadata(); + metadata.setSettingsId(id); + metadata.setDocumentId(entity.getId()); + metadata.setIdentifier(entity.getKey()); + metadata.setServerVersion(entity.getServerVersion()); + return metadata; + } + +} diff --git a/opensrp-core/src/main/java/org/opensrp/repository/postgres/handler/SettingTypeHandler.java b/opensrp-core/src/main/java/org/opensrp/repository/postgres/handler/SettingTypeHandler.java new file mode 100644 index 0000000000..16f3d50219 --- /dev/null +++ b/opensrp-core/src/main/java/org/opensrp/repository/postgres/handler/SettingTypeHandler.java @@ -0,0 +1,73 @@ +package org.opensrp.repository.postgres.handler; + +import java.sql.CallableStatement; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; + +import org.apache.commons.lang3.StringUtils; +import org.apache.ibatis.type.JdbcType; +import org.apache.ibatis.type.TypeHandler; +import org.opensrp.domain.setting.Setting; +import org.postgresql.util.PGobject; + +public class SettingTypeHandler extends BaseTypeHandler implements TypeHandler { + + @Override + public void setParameter(PreparedStatement ps, int i, Setting parameter, JdbcType jdbcType) throws SQLException { + try { + if (parameter != null) { + String jsonString = mapper.writeValueAsString(parameter); + PGobject jsonObject = new PGobject(); + jsonObject.setType("jsonb"); + jsonObject.setValue(jsonString); + ps.setObject(i, jsonObject); + } + } + catch (Exception e) { + throw new SQLException(e); + } + } + + @Override + public Setting getResult(ResultSet rs, String columnName) throws SQLException { + try { + String jsonString = rs.getString(columnName); + if (StringUtils.isBlank(jsonString)) { + return null; + } + return mapper.readValue(jsonString, Setting.class); + } + catch (Exception e) { + throw new SQLException(e); + } + } + + @Override + public Setting getResult(ResultSet rs, int columnIndex) throws SQLException { + try { + String jsonString = rs.getString(columnIndex); + if (StringUtils.isBlank(jsonString)) { + return null; + } + return mapper.readValue(jsonString, Setting.class); + } + catch (Exception e) { + throw new SQLException(e); + } + } + + @Override + public Setting getResult(CallableStatement cs, int columnIndex) throws SQLException { + try { + String jsonString = cs.getString(columnIndex); + if (StringUtils.isBlank(jsonString)) { + return null; + } + return mapper.readValue(jsonString, Setting.class); + } + catch (Exception e) { + throw new SQLException(e); + } + } +} diff --git a/opensrp-core/src/main/java/org/opensrp/repository/postgres/mapper/SettingsMapper.java b/opensrp-core/src/main/java/org/opensrp/repository/postgres/mapper/SettingsMapper.java new file mode 100644 index 0000000000..681d9f959a --- /dev/null +++ b/opensrp-core/src/main/java/org/opensrp/repository/postgres/mapper/SettingsMapper.java @@ -0,0 +1,96 @@ +package org.opensrp.repository.postgres.mapper; + +import java.util.List; +import org.apache.ibatis.annotations.Param; +import org.opensrp.domain.postgres.Settings; +import org.opensrp.domain.postgres.SettingsExample; + +public interface SettingsMapper { + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table core.settings + * + * @mbg.generated Tue Sep 04 17:59:18 EAT 2018 + */ + long countByExample(SettingsExample example); + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table core.settings + * + * @mbg.generated Tue Sep 04 17:59:18 EAT 2018 + */ + int deleteByExample(SettingsExample example); + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table core.settings + * + * @mbg.generated Tue Sep 04 17:59:18 EAT 2018 + */ + int deleteByPrimaryKey(Long id); + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table core.settings + * + * @mbg.generated Tue Sep 04 17:59:18 EAT 2018 + */ + int insert(Settings record); + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table core.settings + * + * @mbg.generated Tue Sep 04 17:59:18 EAT 2018 + */ + int insertSelective(Settings record); + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table core.settings + * + * @mbg.generated Tue Sep 04 17:59:18 EAT 2018 + */ + List selectByExample(SettingsExample example); + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table core.settings + * + * @mbg.generated Tue Sep 04 17:59:18 EAT 2018 + */ + Settings selectByPrimaryKey(Long id); + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table core.settings + * + * @mbg.generated Tue Sep 04 17:59:18 EAT 2018 + */ + int updateByExampleSelective(@Param("record") Settings record, @Param("example") SettingsExample example); + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table core.settings + * + * @mbg.generated Tue Sep 04 17:59:18 EAT 2018 + */ + int updateByExample(@Param("record") Settings record, @Param("example") SettingsExample example); + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table core.settings + * + * @mbg.generated Tue Sep 04 17:59:18 EAT 2018 + */ + int updateByPrimaryKeySelective(Settings record); + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table core.settings + * + * @mbg.generated Tue Sep 04 17:59:18 EAT 2018 + */ + int updateByPrimaryKey(Settings record); +} \ No newline at end of file diff --git a/opensrp-core/src/main/java/org/opensrp/repository/postgres/mapper/SettingsMetadataMapper.java b/opensrp-core/src/main/java/org/opensrp/repository/postgres/mapper/SettingsMetadataMapper.java new file mode 100644 index 0000000000..c8c53c3f16 --- /dev/null +++ b/opensrp-core/src/main/java/org/opensrp/repository/postgres/mapper/SettingsMetadataMapper.java @@ -0,0 +1,96 @@ +package org.opensrp.repository.postgres.mapper; + +import java.util.List; +import org.apache.ibatis.annotations.Param; +import org.opensrp.domain.postgres.SettingsMetadata; +import org.opensrp.domain.postgres.SettingsMetadataExample; + +public interface SettingsMetadataMapper { + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table core.settings_metadata + * + * @mbg.generated Tue Sep 04 17:59:18 EAT 2018 + */ + long countByExample(SettingsMetadataExample example); + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table core.settings_metadata + * + * @mbg.generated Tue Sep 04 17:59:18 EAT 2018 + */ + int deleteByExample(SettingsMetadataExample example); + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table core.settings_metadata + * + * @mbg.generated Tue Sep 04 17:59:18 EAT 2018 + */ + int deleteByPrimaryKey(Long id); + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table core.settings_metadata + * + * @mbg.generated Tue Sep 04 17:59:18 EAT 2018 + */ + int insert(SettingsMetadata record); + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table core.settings_metadata + * + * @mbg.generated Tue Sep 04 17:59:18 EAT 2018 + */ + int insertSelective(SettingsMetadata record); + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table core.settings_metadata + * + * @mbg.generated Tue Sep 04 17:59:18 EAT 2018 + */ + List selectByExample(SettingsMetadataExample example); + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table core.settings_metadata + * + * @mbg.generated Tue Sep 04 17:59:18 EAT 2018 + */ + SettingsMetadata selectByPrimaryKey(Long id); + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table core.settings_metadata + * + * @mbg.generated Tue Sep 04 17:59:18 EAT 2018 + */ + int updateByExampleSelective(@Param("record") SettingsMetadata record, @Param("example") SettingsMetadataExample example); + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table core.settings_metadata + * + * @mbg.generated Tue Sep 04 17:59:18 EAT 2018 + */ + int updateByExample(@Param("record") SettingsMetadata record, @Param("example") SettingsMetadataExample example); + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table core.settings_metadata + * + * @mbg.generated Tue Sep 04 17:59:18 EAT 2018 + */ + int updateByPrimaryKeySelective(SettingsMetadata record); + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table core.settings_metadata + * + * @mbg.generated Tue Sep 04 17:59:18 EAT 2018 + */ + int updateByPrimaryKey(SettingsMetadata record); +} \ No newline at end of file diff --git a/opensrp-core/src/main/java/org/opensrp/repository/postgres/mapper/custom/CustomSettingMapper.java b/opensrp-core/src/main/java/org/opensrp/repository/postgres/mapper/custom/CustomSettingMapper.java new file mode 100644 index 0000000000..337d33f287 --- /dev/null +++ b/opensrp-core/src/main/java/org/opensrp/repository/postgres/mapper/custom/CustomSettingMapper.java @@ -0,0 +1,9 @@ +package org.opensrp.repository.postgres.mapper.custom; + +import org.opensrp.domain.postgres.Settings; +import org.opensrp.repository.postgres.mapper.SettingsMapper; + +public interface CustomSettingMapper extends SettingsMapper { + + int insertSelectiveAndSetId(Settings viewConfiguration); +} diff --git a/opensrp-core/src/main/java/org/opensrp/repository/postgres/mapper/custom/CustomSettingMetadataMapper.java b/opensrp-core/src/main/java/org/opensrp/repository/postgres/mapper/custom/CustomSettingMetadataMapper.java new file mode 100644 index 0000000000..3a553ad356 --- /dev/null +++ b/opensrp-core/src/main/java/org/opensrp/repository/postgres/mapper/custom/CustomSettingMetadataMapper.java @@ -0,0 +1,17 @@ +package org.opensrp.repository.postgres.mapper.custom; + +import java.util.List; + +import org.apache.ibatis.annotations.Param; +import org.opensrp.domain.postgres.Settings; +import org.opensrp.domain.postgres.SettingsMetadataExample; +import org.opensrp.repository.postgres.mapper.SettingsMetadataMapper; + +public interface CustomSettingMetadataMapper extends SettingsMetadataMapper { + + List selectMany(@Param("example") SettingsMetadataExample settingsExample, @Param("offset") int offset, + @Param("limit") int limit); + + Settings selectByDocumentId(String documentId); + +} diff --git a/opensrp-core/src/main/java/org/opensrp/repository/postgres/mapper/custom/xml/CustomSettingsMapper.xml b/opensrp-core/src/main/java/org/opensrp/repository/postgres/mapper/custom/xml/CustomSettingsMapper.xml new file mode 100644 index 0000000000..4a4fa2402e --- /dev/null +++ b/opensrp-core/src/main/java/org/opensrp/repository/postgres/mapper/custom/xml/CustomSettingsMapper.xml @@ -0,0 +1,26 @@ + + + + + + insert into core.view_configuration + + + id, + + + json, + + + + + #{id,jdbcType=BIGINT}, + + + #{json,jdbcType=OTHER,typeHandler=org.opensrp.repository.postgres.handler.SettingsTypeHandler}, + + + + \ No newline at end of file diff --git a/opensrp-core/src/main/java/org/opensrp/repository/postgres/mapper/custom/xml/CustomSettingsMetadataMapper.xml b/opensrp-core/src/main/java/org/opensrp/repository/postgres/mapper/custom/xml/CustomSettingsMetadataMapper.xml new file mode 100644 index 0000000000..6700491ac1 --- /dev/null +++ b/opensrp-core/src/main/java/org/opensrp/repository/postgres/mapper/custom/xml/CustomSettingsMetadataMapper.xml @@ -0,0 +1,72 @@ + + + + + + v.id, v.json + + + + from core.view_configuration_metadata m + join + core.view_configuration v on m.view_configuration_id = v.id + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and + #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + + \ No newline at end of file diff --git a/opensrp-core/src/main/java/org/opensrp/repository/postgres/mapper/xml/SettingsMapper.xml b/opensrp-core/src/main/java/org/opensrp/repository/postgres/mapper/xml/SettingsMapper.xml new file mode 100644 index 0000000000..fbc2fad2d2 --- /dev/null +++ b/opensrp-core/src/main/java/org/opensrp/repository/postgres/mapper/xml/SettingsMapper.xml @@ -0,0 +1,279 @@ + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value,typeHandler=org.opensrp.repository.postgres.handler.SettingTypeHandler} + + + and ${criterion.condition} #{criterion.value,typeHandler=org.opensrp.repository.postgres.handler.SettingTypeHandler} and #{criterion.secondValue,typeHandler=org.opensrp.repository.postgres.handler.SettingTypeHandler} + + + and ${criterion.condition} + + #{listItem,typeHandler=org.opensrp.repository.postgres.handler.SettingTypeHandler} + + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value,typeHandler=org.opensrp.repository.postgres.handler.SettingTypeHandler} + + + and ${criterion.condition} #{criterion.value,typeHandler=org.opensrp.repository.postgres.handler.SettingTypeHandler} and #{criterion.secondValue,typeHandler=org.opensrp.repository.postgres.handler.SettingTypeHandler} + + + and ${criterion.condition} + + #{listItem,typeHandler=org.opensrp.repository.postgres.handler.SettingTypeHandler} + + + + + + + + + + + + id, json + + + + + + delete from core.settings + where id = #{id,jdbcType=BIGINT} + + + + delete from core.settings + + + + + + + insert into core.settings (id, json + ) + values (#{id,jdbcType=BIGINT}, #{json,jdbcType=OTHER,typeHandler=org.opensrp.repository.postgres.handler.SettingTypeHandler} + ) + + + + insert into core.settings + + + id, + + + json, + + + + + #{id,jdbcType=BIGINT}, + + + #{json,jdbcType=OTHER,typeHandler=org.opensrp.repository.postgres.handler.SettingTypeHandler}, + + + + + + + update core.settings + + + id = #{record.id,jdbcType=BIGINT}, + + + json = #{record.json,jdbcType=OTHER,typeHandler=org.opensrp.repository.postgres.handler.SettingTypeHandler}, + + + + + + + + + update core.settings + set id = #{record.id,jdbcType=BIGINT}, + json = #{record.json,jdbcType=OTHER,typeHandler=org.opensrp.repository.postgres.handler.SettingTypeHandler} + + + + + + + update core.settings + + + json = #{json,jdbcType=OTHER,typeHandler=org.opensrp.repository.postgres.handler.SettingTypeHandler}, + + + where id = #{id,jdbcType=BIGINT} + + + + update core.settings + set json = #{json,jdbcType=OTHER,typeHandler=org.opensrp.repository.postgres.handler.SettingTypeHandler} + where id = #{id,jdbcType=BIGINT} + + \ No newline at end of file diff --git a/opensrp-core/src/main/java/org/opensrp/repository/postgres/mapper/xml/SettingsMetadataMapper.xml b/opensrp-core/src/main/java/org/opensrp/repository/postgres/mapper/xml/SettingsMetadataMapper.xml new file mode 100644 index 0000000000..59d79d5202 --- /dev/null +++ b/opensrp-core/src/main/java/org/opensrp/repository/postgres/mapper/xml/SettingsMetadataMapper.xml @@ -0,0 +1,286 @@ + + + + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + + id, settings_id, document_id, identifier, server_version + + + + + + delete from core.settings_metadata + where id = #{id,jdbcType=BIGINT} + + + + delete from core.settings_metadata + + + + + + + insert into core.settings_metadata (id, settings_id, document_id, + identifier, server_version) + values (#{id,jdbcType=BIGINT}, #{settingsId,jdbcType=BIGINT}, #{documentId,jdbcType=VARCHAR}, + #{identifier,jdbcType=VARCHAR}, #{serverVersion,jdbcType=BIGINT}) + + + + insert into core.settings_metadata + + + id, + + + settings_id, + + + document_id, + + + identifier, + + + server_version, + + + + + #{id,jdbcType=BIGINT}, + + + #{settingsId,jdbcType=BIGINT}, + + + #{documentId,jdbcType=VARCHAR}, + + + #{identifier,jdbcType=VARCHAR}, + + + #{serverVersion,jdbcType=BIGINT}, + + + + + + + update core.settings_metadata + + + id = #{record.id,jdbcType=BIGINT}, + + + settings_id = #{record.settingsId,jdbcType=BIGINT}, + + + document_id = #{record.documentId,jdbcType=VARCHAR}, + + + identifier = #{record.identifier,jdbcType=VARCHAR}, + + + server_version = #{record.serverVersion,jdbcType=BIGINT}, + + + + + + + + + update core.settings_metadata + set id = #{record.id,jdbcType=BIGINT}, + settings_id = #{record.settingsId,jdbcType=BIGINT}, + document_id = #{record.documentId,jdbcType=VARCHAR}, + identifier = #{record.identifier,jdbcType=VARCHAR}, + server_version = #{record.serverVersion,jdbcType=BIGINT} + + + + + + + update core.settings_metadata + + + settings_id = #{settingsId,jdbcType=BIGINT}, + + + document_id = #{documentId,jdbcType=VARCHAR}, + + + identifier = #{identifier,jdbcType=VARCHAR}, + + + server_version = #{serverVersion,jdbcType=BIGINT}, + + + where id = #{id,jdbcType=BIGINT} + + + + update core.settings_metadata + set settings_id = #{settingsId,jdbcType=BIGINT}, + document_id = #{documentId,jdbcType=VARCHAR}, + identifier = #{identifier,jdbcType=VARCHAR}, + server_version = #{serverVersion,jdbcType=BIGINT} + where id = #{id,jdbcType=BIGINT} + + \ No newline at end of file diff --git a/opensrp-core/src/main/java/org/opensrp/service/SettingService.java b/opensrp-core/src/main/java/org/opensrp/service/SettingService.java new file mode 100644 index 0000000000..9c36d7f9d6 --- /dev/null +++ b/opensrp-core/src/main/java/org/opensrp/service/SettingService.java @@ -0,0 +1,50 @@ +package org.opensrp.service; + +import java.util.List; + +import org.opensrp.domain.setting.Setting; +import org.opensrp.repository.SettingRepository; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +@Service +public class SettingService { + + private static Logger logger = LoggerFactory.getLogger(SettingService.class.toString()); + + private SettingRepository settingRepository; + + @Autowired + public void setSettingRepository(SettingRepository settingRepository) { + this.settingRepository = settingRepository; + } + + public List findSettingsByVersion(Long lastSyncedServerVersion) { + return settingRepository.findAllSettingsByVersion(lastSyncedServerVersion); + } + + public void addServerVersion() { + try { + List settings = settingRepository.findByEmptyServerVersion(); + logger.info("RUNNING addServerVersion settings size: " + settings.size()); + long currentTimeMillis = System.currentTimeMillis(); + for (Setting setting : settings) { + try { + Thread.sleep(1); + setting.setServerVersion(currentTimeMillis); + settingRepository.update(setting); + currentTimeMillis += 1; + } + catch (InterruptedException e) { + logger.error(e.getMessage()); + } + } + } + catch (Exception e) { + logger.error(e.getMessage(), e); + } + } + +} diff --git a/opensrp-register/bin/src/main/java/org/opensrp/register/service/handler/ANCScheduleHandler.class b/opensrp-register/bin/src/main/java/org/opensrp/register/service/handler/ANCScheduleHandler.class new file mode 100644 index 0000000000000000000000000000000000000000..05ec0962900324340907b410aa54e446dca55c47 GIT binary patch literal 3144 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 literal 0 HcmV?d00001 diff --git a/opensrp-register/bin/src/main/java/org/opensrp/register/service/handler/BaseScheduleHandler.class b/opensrp-register/bin/src/main/java/org/opensrp/register/service/handler/BaseScheduleHandler.class new file mode 100644 index 0000000000000000000000000000000000000000..2c65122fe4984767cdec82c5ad0079ccc3a2c5f3 GIT binary patch literal 10060 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 literal 0 HcmV?d00001 diff --git a/opensrp-register/bin/src/main/java/org/opensrp/register/service/handler/EventsHandlerMapper.class b/opensrp-register/bin/src/main/java/org/opensrp/register/service/handler/EventsHandlerMapper.class new file mode 100644 index 0000000000000000000000000000000000000000..49781e169a07b735377cbe7d5c560e1ea2acb609 GIT binary patch literal 4751 zcmeHLTTc`*6h1|8*mVU&@qQ_ITfEG?_#}h`31o>28bA_#E1kMiooy#=XO&-OqKUp6 z|B;FD%+9j7y2-9&4MusG>9lkD^|U?T={f!U?fpjpcmRP1Lj+c=;X$2A6}(~%7HCro zbRv{BNnk`xS|?0kg=t7Gf{3Xw#`VD5nXQZmlRXYZmTflC|=cSTvfsn7|>H)M~TwmJc zkqFaRv{auv2+Y&Lz&u)C8H6^=G1r5@sZ<7mvJ}ZU90brd<6J6Xf5w{KCU9vZRZiB$ zs%l6pcVe-qly=NXtt^2P)y355H`0g@O=fsWhr)w#0^|D@wrq?xqi~88UOZDqSRFS+ zNV%>jGH$}q#Aw8=+lRDR*op)V1&cbdX7z^!QQ2OD z{#lU?k!UNOHoIN)piWap-EJa^h1Cvk)k7FPQV)sTN%auw@L)Y;E6hfRFl?JEJ=9yR zC$Z$xQJbQ(N3JOAOv-WLY3}LEvs7A|s!+T{-iAJ1ORdX{z1c0^rBXHYYe5+rXw->N zEF8kbkA}>7F>pgZTG)SQVV86q<6)H@tX=%W|H9iNinLGB-#F2VFb1bfP=GT8rpmv@ z_gN%2Ud6LwJ+1Euv&AsrA~0FioW0;TGHc7U9pT2)!tn%!t9SCPUn!=qgfZWB1!0ph_d zfw9hn!GpU5jv=ulKm-Rc@m!o_-_=;;s+ReJ~{CYCO=_q2&V9z$z^C~@m*?u7vUV7Z?=uV1(eG1 zFSd~~`5fs|7o_W5k*>hiHqx~=QZ|nqiFQG{-34hFX0Xo?TyM|u2G(!l1K{IR!Zo=C KWw?VgzV{tAASaRl literal 0 HcmV?d00001 diff --git a/opensrp-register/bin/src/main/java/org/opensrp/register/service/handler/HHScheduleHandler.class b/opensrp-register/bin/src/main/java/org/opensrp/register/service/handler/HHScheduleHandler.class new file mode 100644 index 0000000000000000000000000000000000000000..c6b758a688ea877a2a9e1b4676a2114fdbc5a4c5 GIT binary patch literal 2868 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 Yg?k!sZ^Y|;oUi3L$lC)5;B)x$Z-;F zyFbeK?QY8@tZ75=#fQ%I%-QcYXZq{+w;uqo3QY@21a`IZS|Jlr>xlJPOR8>5#yrw0 zZYkas+HlpC1OpN>@6!(#`yd`~Z!8C#Cb5q|aB~=yfkaF@dQe4ZR&wc92Fcv{ZLt`b8 zH`K4FT|4M;>T@q($Vg-69kVW{D;POv5IJWUIcE?#=R9&N)R$aSw2y|&cs**6ji1CA zs*7xx6(`M#lN#xa%bnXM!dNOpvy+CO80xV!9<;;h(6>uKWd9!^gR&`bg&Ij2HK#GR zYk3Kd1=?Yrk?OPnYuB~{ruBNkE!Zf4U;KV?t&cc#R=^{0yI~v%PZ+9`m@6#cNE?-; zUeNqDHkwpunnXVTEF$hZbT82+Ex+toa7sngm&cqkte4(p2D^4G)30@?Z4`>k2xrFv zxzc07HZ%NY$WkF2!E_ymZMY3{b*RBz0`m>`T$pkn*HV$2b}?i7N!a1)fT0!uPw`HO{z9Z5UFBT|F_9S3V+~GTE!7_n`;<~foX$l=C!-D7ds^%JK z!OKhUb?!KU`kv4luipXcrG{l7FoFLUN?^kzRI-r;)vQNmTrI&A&MJtjV}A>Ot9YV> zz5N|-f0~{73bQ|PR)TqKQyf4U7O<^nV;kdW876TpXILs=SSnzcfJbGrOCFI@-}HSv7r_i|ymj=jP+%^Vh$>{Q&^0@I@6W1h%va znvu`r<}<(VH>K(}Wx`^ulBQx^t_@R7%~YQUtf_+@3sb@4ZnNcW?6iv}YZt>+m?5x` zqX-{KcJ`mKzz~=fvfE{fK+W^=zcm8R04nRg>3zd|VR}P2HNZo%*+)F)<}rcW_0xz} z_HguR8XF$5t+>xM-xq8>j-~Mpm$4>r#amB}{Fy5jBIL}53|STC3Ctg{+EPlY8eAjJ zKi|iSX({?Fq=AeQE^-)}D2cd{{*t=RZjaHB1;R%}n)tzUzsu+{YOXQRTw|!Y#z1q8 zBh4+-P%=%CKN|Ta=uv}c>>xo^9Y;f}G%~9+GA0{ku?yaKlt^W0KGU!RLjyn42i<3M zDBB4_M1K`X25w^!g&IkHY7P_TI)w|CBHHu=Bh{gW)^#?7uk|C#E_iGqKfb=**T+m6 zIq(>|ttb&Z;D+inVG12M)<&h76tvil^%crBP2-Stc+A2E-A=X1+%KOd4k?fO@;ReE z`b+O5g6mAg`b3l3Mq!W{BkYukN;%FeBke?jcrx(CSH59mEY~^+SdvBOF?6L=K4mv3 zwOlF2FOG_{121BxCqvqi3XiRNp@oydBpb_5vnu7A?ir zgdUt_gJX97Sw;vKuEOhc;J_OMuGhVztgn!9Ez2P1JvyU!5u;t zN~E}@%s*wKbK8RiZl!T6H^Qcp(eNI!fw!Pk*WevOe!8G4n{b0p{}eyP1UsE4?WdbH zSSIA}3u=OM^IE*gOy5rV-S;d~0Rl^SVGlVbi^b0SU---HPTVaXluPDP^h&L-mw%DFSX= zrYc~Yn5kgt&XVQl6)UXpdBZYZ6`BNY*yXFjgN$?-$*S-f7X1pZt-`|-<-|gZ1m-X^ z(pVkX#ao7kB_MDK%b68$;WEtTe^sdAcNRw+?5)6+L2C}bui>+bGb;FXe}}6-EH3;C zi+^IP0@v}K%>tN#8~C2f|6O07W-aRHorm;eb_bdqOR)qJVZbewJAbf2>xC9^KsulQXWSNh#{dvX-YQ6!V Iz^AbKAI4f^T>t<8 literal 0 HcmV?d00001 diff --git a/opensrp-register/bin/src/main/java/org/opensrp/register/service/scheduling/ENCCSchedulesService.class b/opensrp-register/bin/src/main/java/org/opensrp/register/service/scheduling/ENCCSchedulesService.class new file mode 100644 index 0000000000000000000000000000000000000000..897e50e83ae940650c671d9b43129dcaad897c7a GIT binary patch literal 3943 zcmds4TW=gS6h7XjyV+@I()2<~fx4kULSY7^K9Q&r+N4954 zegMA-2_$$#;zuFQ%hcdy)C4KB>O6p#;`J&U=Er;lK%kM3iW3W`fC_yqW z4_;y788nsY_0TeykK^KPgF$Vu zUJh_u52cd_3ZH3hyztU!$KYE0Ec50kX|YR?a~;#g7A!JYJXLkmT4U$o25bKLgSP05 z8e*3xW{^r%!0^->!X3D;dC=bLBky9O1R?TNB(Fse`6^Ktj;IUA)P*DJ!c*#2dDo!h zq#qv$pY*vWG(1X)sWv&S^wg#WU=Meq_YQOn3 literal 0 HcmV?d00001 diff --git a/opensrp-register/bin/src/main/java/org/opensrp/register/service/scheduling/HHSchedulesService.class b/opensrp-register/bin/src/main/java/org/opensrp/register/service/scheduling/HHSchedulesService.class new file mode 100644 index 0000000000000000000000000000000000000000..15b6c44cb783f8de999b29adbd53669d661bff61 GIT binary patch literal 3108 zcmds3TTc@~6h2ds(iP>RD2kU6Z{VeU(HAi$1~p(7Nd!rJ@L|{<+L7tZW@fg^FYqUs zXrk}_DC61Pwn$h*(`ZB=cIS5Hn{z+s+xJgj0N@_nEklXHva?aGC8Vys6>U*7wox-N zYG>n`#fEeqZOx%=%Lr>OYGOT6Qa5VL%j@|9-FkjnhG7O18Hf@@v9|RVBhO$&nMMOG zgV8X|W{V6e9i()7CR|3Le6x#ZJ9tDk@=$8&A2FDn{}s`~CY`=aw3jVh(QWDEmcqwc z8!x;x+A%mDK2E%OCoR?qa(Kzqu?*u3#`jo#YOS%OFv*U6c%>~mquN;Kk!i(JWiULp zhHzW%0S_u0P2_cqlpsVNi)cqQkk66gsvX5uyNauJ6j$9-+#IhPbe#C(E#adk_k@P; zV^Y=6Xk?UXYLsfqWVK)HoHyBujrBac>G8eikx2Eyw~%*b+eb*~{{u4k_!P$dVH0ye(OANcMU>UA6I8&TR%5XC!?PjbpEKuW^yHFW!?`uhO z?_)5wDxISevq3F^gDb#bh&tjD1aJ&SvRN5MX&j=H3hkEQIITu#HAdqJ`tH$LiN@eF zoP0es@e!uJ(y9d0^iS!4zBBY6%jN-`g_&&c9Gs_}E<*ZNjxbw*FjI(d5iS)XTrNQ1 c1qeeVZ_4RhPo}H1zLRnS!*C65z&zag0VxgVng9R* literal 0 HcmV?d00001 diff --git a/opensrp-register/bin/src/main/java/org/opensrp/register/service/scheduling/PNCSchedulesService.class b/opensrp-register/bin/src/main/java/org/opensrp/register/service/scheduling/PNCSchedulesService.class new file mode 100644 index 0000000000000000000000000000000000000000..824cfc642dd650761c1f9d522734e904a6135e39 GIT binary patch literal 4370 zcmds4-EQ1O6h5;};$1g1Y5GH<1tx*ENn30R;f7R|qL7FPr>&Z>5|0 z$pi2pJOvU+aL+>_j_uuKqYSLIS_Q;~f5txZ%{kxsnK^&_`O9wrunu2(&>*mDbQ~s3 zq~ROZXQ9&FP-Q$dItw-L3S+qr4cC1U^U%aS-pQp%yWy)BTl>|BoBisy2Qvf~OBBga z`=Z0?yzg?&!o?&{wOt+ny* z>pZn0;k#*H7;z~1W|}I?tWc>Ta5dV@t@=S|-a*KjE!E*3ED%^YQ*~QwrJHb_c-!Bl znj0niyhCG^WI~oOG}8)k6Y~}ITL(Q(J3N*Q5oyNax2((Q3NjZAmhknu5=SgrnIHyOv{fgjak75J>+y~+c`l* z|38Qf!p30=wTd!oPcrVest~Ltw8LVn^oc{(Z*56t%ri$8Ja>qXuJ4ZZF_TUMc#Pa` zl1UK@OHH0}jRBk*tMkGNT4m$v8Wo1-X@?()ly?HUmm6DzUpY;lP?7f4TTU6qOYb~_ z-4X&l*R9TtG;96<8eH`Lot`0+EbqfLxG@hcxJlsFYIL^IR%&e&oAyG473f8t9CCfYaBn5BREA}n zX;F*^A7^Y&;3ocUG_`XI9s+LiR4Xa5e7|n*D7{w}I|6Nosuz{VQ_P^IY&d>8Y;D3l zLT=PJSWM4prz(!goawDNNth70ew0gjB&6IEk{hd141=0pxIpwj`em)%1WL${m+FOD z>`v8HlX#)tk!YH=7!xp0x62gV(JC1p{4vYxCE!KZU-(k^`x8PI|9k$f85Bj!G$wf` zaW=MFqttIoIb+gGbo|>^%%D1A!~pdpE#`S(q!|JZR!` z7XP&HYXh$0Xbwm7_je(-_5=d>3_kx0Mqqr) literal 0 HcmV?d00001 diff --git a/opensrp-register/bin/src/main/java/org/opensrp/register/thrivepk/FormSubmissionView.class b/opensrp-register/bin/src/main/java/org/opensrp/register/thrivepk/FormSubmissionView.class new file mode 100644 index 0000000000000000000000000000000000000000..775bf83163bb99d2a11602580b059a8556232742 GIT binary patch literal 3342 zcmeHJTW{Mo6h3s5DAv-ZO`By~w~kG3PA}FT`m_|mvTVTusMn+c`ee}3iN#hT1(I@> zUp8O^w)g$0VMlT}wD zn_i%ERMzBy!Jf1ZP2dtE`Zm0Ime-1lIL!R2aeDpW6c-hGRaV=(hX zD(Ti3EVjZ8T|~)G-3_f2{in_9$}WTJuL|X4hFhvHt?Z__u9SAd5wB(NS-4&}y)O;M zs|;?BV_yg(G9=T+HoYuFD)%HB+BDr4X@Lx;Hgt?0Tw*YPV&>1rXfq3!nRn&2GH7+$ z$CyVt%Vk>Gz;mO?sLX!P{pL=BJjN&$WDd_o^iK4UFOyX5L#f(FQninyTIR7v%jrry z6D~@)BM$sECjo{zNc?swe!DcS{b9y|9Wu+calFDy%_C9D#=FRmZZQHQ#&gKv?fzf7 zyuw^tNp5^lqbzrt3+@hb^qWt$!zlStSUmHV(fFFce;gqbaK}M00k@u}6r$D%>@!G@}{3sv+pU&V>2^)Zf;HiEvYv&b0J?2COg!CmTQ$LpF0Ee4lH zIX$>fJ?fCldGL_IwK{V=Xpc0=gCHV{o|a9t>g`a%w{Q~}T%fKTV2VD|Far(nXf;F6 zXK9|J@t6<|n*BfE;+uu}-{8t$v}(XL`Yv%mW0Ah+s^30*4olUuFW}1|wy!G0INS9a zwxwFOZ$6UkMlIWok7T=3!!`}y(%l-sNzHOzK34D+t#8u+2xye4?GD_76?g!T{sr2x$2Pd9ZE(-p;GVT% zo%R(sR4PkjX2T)1=!1Vsu;_Uo*jP7fted6g{@J5b@#7>Cp|I4X3D=k|R!^s)Rhmxv zS=*$-&{X#Mp^z8{OOJ^kvNW=Jwo99-vDpr?D3e)Y6URB1PG#~9(2&XOHF}($7s@Ki zs69#eze)OEr@z-b2UcLM3U^?gz*6n9LS!R0zl+~dkj6c(I}E2LlM)rOsLQm-@abaF z4uv7Gy?b>zLt%2-D%Bz15m~(DOR6`XC<0YqO0Me>GlrWIJR|V#O3_hICUWZjCa058 z!EjAs3<_rlXT!i6pa`Lk&tUnc(Gn;jnu0Q7Cx>Sd&*ktn#0xom9r2AEzKM7_hi{>0 zf@^ot-W&fn3it%ze1(<$#Rs2(ejmquh&Iat@Y+CIov`2$JVsQ2Cupaj2Ag_ywC7^@RWc literal 0 HcmV?d00001 diff --git a/opensrp-register/bin/src/main/java/org/opensrp/register/thrivepk/RegisterConstants.class b/opensrp-register/bin/src/main/java/org/opensrp/register/thrivepk/RegisterConstants.class new file mode 100644 index 0000000000000000000000000000000000000000..4432858a9746461bcb178ca86a1957d3e8b612bc GIT binary patch literal 1631 zcmeHH-A@xi5TB)mwkHUJp!mgts70ms;**~#CU z`tBcPoNFo6kobZRK6uH^?(b%HW_IT0_v7c6ZvgNLwlgqA;GNNdJ77Y($Ly53O7~n9 zacOkqYTgsZa_!o_7N% zG1d_aO=7U?m5a@a-`*|yUb|eYSBriY76~|K_-t3J+ubgKS+9EFAGRBQeQ*C`7M2MB zftj~L3j3ZwD!iK^XjgGVrLuIuY|y6`eeh2a7Ie}F z_N$QetB|Bt__IeRw>OAF5eQ379C3~5V&iliSf%NxSNSa}42@-%9|?(Zj!=Vp7Ke7y zxF@Qa|! zJx^l|r(p(B2GJB`5jzw32I9F1d=v4)1ipoMX#(FyPk3>-gYxc>{!_REaK6Io;o|+z u@bLRE4n>(nO;~Xq^@ZEwOyhNPF{qtYH*X8>F literal 0 HcmV?d00001 diff --git a/opensrp-register/bin/src/main/java/org/opensrp/register/thrivepk/Schedule.class b/opensrp-register/bin/src/main/java/org/opensrp/register/thrivepk/Schedule.class new file mode 100644 index 0000000000000000000000000000000000000000..d8ee3f74f2de0db3e71ac09c898aed7e61ee30f4 GIT binary patch literal 4723 zcmd5<-BKJy6h6HnFuQ;dBx+)!4gT#K-BE*)1VT&*mQ*cLC73F6*UU7#9p=yOo>gAM zm+;;jtF%h*^8&t&<>?tFyM$&lMGeu5*`4X>^YwTB&piF-_dfw(2{tC6Mqo)v&kdP~ z+$XHh+*o$qIN_0!i7RYRl%f{d?LDjIGB$T4j#F%s}-GDP!rtJQ-)-MUtyH z=yRWXahQmJX%R;>k?~%@Lv@EX>bpHoeeMNJ;--Xo2dvBKBKo6!d;jKsEC~ zXwiKchgr^<5Tr$M#1z@*Qkmd1`4|eNumWabdK5x0IS#5a#CD%cDSTc z;F~P56qu6d<=(I$43~$E%yXko8*+1(>-B&s^<1jceJldTrN`XesF&pVHB&v)CeDRK z11`a9Q!ov$6S!L@_N@ zT$C|!(0v1Cih5398GU!giE|bqJ4|I!q0I2>z$XO$9<5;cu&l_BRZUL>9DP*SamM~O zjkE~)X4Dr-V12o7X2@*t#q!eV6lHV8fzJv2T*4%U#0zSDnOv=xXh8VAkT?A2N^0J4 zR$3UWw+TG0j`)Aw$BJ**yBSBho%+bBlvg-VW5SL!woA!`xJ}177nfz;ZsDY!Dr|TGlHsH2uLAz@~tHB!TR)c%+5dR&_fG_cS@GmC3Xtn?V literal 0 HcmV?d00001 diff --git a/opensrp-register/bin/src/test/java/org/opensrp/register/it/CreateFormSubmissions.class b/opensrp-register/bin/src/test/java/org/opensrp/register/it/CreateFormSubmissions.class new file mode 100644 index 0000000000000000000000000000000000000000..240911d7bff7a790cbc8e765b9bf91a6819cd929 GIT binary patch literal 7383 zcmeHM?Qa`37=Ikv<)vLax))#r>J`jxed)@ z-FU?MtRYpmAtN5fDrzX+6|v^3A#`I?ai;l}R6#3g2O^Gz4C5lq5IC2%^I6z!eBXY= zT}|MPPTVJO!8r`y6Z}b&z?BC{s71iH!@h_`+vgi$C^gfDkieX?k!bluDDEM))M;_m z7cMt!8@_*-Fh<0gH4zHEj(t{Zdjw`SrN@h~NMP|`Sa+3@sswM6vp?;IipSFLbC0?* zh=iZ^OCu$5AVGYKR?0g)PCf4W42M7?=00X!PFGMb^?kk62YRUsy+S?7V~PUMfN8f! zHMZtYBUHm^Yt(Vw=(uhMReu>**0%^EsWe3pb(v8OZF4#p^(o|4(n~s_;dJl|{%47=N6~e9FNwAJf+)&D zv(hr+5z0z==s_k(a@d;~_cWn_E%CUgnn1jRzF`8SrOjkb0PXH>-^qdCR3EFgQPdr# zSq}B+G+V-uiSJ+l$YHCLAF$AqLC&WaJK9DYVxgPIat!D}aI+YKHTX!0kNo(LEy=-% zZ87vM!F>#YWASBFbyhYrJ&>^;n_<1a5>8K7N7&5h3{Fv18%nWf7JSo_(TeG%4$sPu zSb@x3Z0e7`AkHmxk)nSZXK>-GcN|1=FaHI(*~K0 zSyK03_hBWh70A;1j(}PE`IAt+mBdycD}#L%K~~b)fGV&6=jUM#E)cj_bq*@9OzNho z&=wuc-R>tro2wm$MHhi3N4m`4V@jCk{g*SkC$Jp6?Hr>##qw}D?#aaW?uJVG{$@}3 zp5oyy=9%i|L(UZTaKX~sj~ z+p1%NYjb?f*t{|8s@xLYkm*F>igGfxwR8g}?V-8;uc=G0LdcB8%CN`|Y;(L5_L7#v zB5=OTu|UT9C3PjKX3>QNIj+uT+N>~xDB9evWhO%4=acO3uo0EuV>0vne{BrYv%SI8 zO{lY`xNc6f^wTVTu)AkzeMi77L;P!%rDN0`RBV->1S&0=D3@;ulgVGsEr8QQ4@^*;{atBH%V+z{Pq4uyCvP{oS%lBAEEwPWD#9wx z-@syva1&XFvAYOgVr-N)Fp{4jaIG@IJCFBTE73kZIQRn2zge4%78q zrVrr5A=9-XlhH-S^idAejU1)|RH24452P~s%@{t(VfZbV;j>hp>u?+I3#iQ-@CAGc JU%@xf{2PQ{k&6HT literal 0 HcmV?d00001 diff --git a/opensrp-register/bin/src/test/java/org/opensrp/register/service/handler/ANCScheduleHandlerTest.class b/opensrp-register/bin/src/test/java/org/opensrp/register/service/handler/ANCScheduleHandlerTest.class new file mode 100644 index 0000000000000000000000000000000000000000..aac306445c843b7dd5cf6b07dc40361d768ff2fd GIT binary patch literal 6221 zcmeHLTXWM!6h0dgd?64>fu;e<5_)lZu^*b=2-BG~b%zw;Fxa@0CuSoZ+X7kA?5OdRB5AQwd8++?hW3!IF1%_S4)ZiUHuJ%bCu0DgT>vz!2-NP!;WXEOBu)_++Y{}eCkWmtv5u6+d)5cy+{Q- zlmY3aukP`3sntX7pzV>S9Ucn%h3F#RprcS79fj)AQK*iNLUnW$HnZjQjOHk( z-pn(ojts+(uI{Cr0lu-(n|Qt@W2ShQ`2W%xLUgA9XKqxG|+>^{SGz_{J}7a#!(z?_kIE z$)XX7$i$f=!qZ2TOUeEWJ|`bA&G%(YW>%FUl2?y)A3CUo6J9r>{RPFvWv>qm~L zvdKF#=pSn}84Zw)=%7^QavJy2ca~jg7_@ezcs8(PL?>nKh+{83FGBdU@buD9w z(qf|%uXWGgmlS)afK9r^Gx?=6n60@k#-T|W*5KAMT!VKRT&pB=3zHSBSmdu7gZ?4P zmY_i2Bq8S1wS{y|d(^q8doHCE53N(AZOH>>OgCjVOA7VVkU@FuM^phmp!8|nW>Bc;~a^<`KnY z9b{VM6T7B)L=l%ZCK9)KMDco=WYTQRz3AABmgc$`>wD5Bi3=dx1=ymPBMDT1FQ~dZHHs|2R}8MF7aR(3kHO{RLT79R z87x1FvqBRNE4Twx9i<}o5-iZ~JhckcGVdb27oY^?=zRf}|MhJhF2W`1TZz73hILq- zXun0M6m!9KdcI8(TTvUJ{41;-tginIH-C@D-KM9R4d}<|X=WiQ;P*?gCV4`~uWqo8HT$(a+#>V*Mq2{SStk B5dHuF literal 0 HcmV?d00001 diff --git a/opensrp-register/bin/src/test/java/org/opensrp/register/service/handler/BNFScheduleHandlerTest.class b/opensrp-register/bin/src/test/java/org/opensrp/register/service/handler/BNFScheduleHandlerTest.class new file mode 100644 index 0000000000000000000000000000000000000000..ee05992f32c8564af19e89eeed498b6d197df50e GIT binary patch literal 5505 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 X&^mc1zk)@2j?*rG4GZuM>HXc`Ks$9e literal 0 HcmV?d00001 diff --git a/opensrp-register/bin/src/test/java/org/opensrp/register/service/handler/HHScheduleHandlerTest.class b/opensrp-register/bin/src/test/java/org/opensrp/register/service/handler/HHScheduleHandlerTest.class new file mode 100644 index 0000000000000000000000000000000000000000..2d958186fe97cdb62754d9ac486b2476e8f87c49 GIT binary patch literal 6140 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 Tb=ZJSc#IxVp#*!d50!rb=;V0$ literal 0 HcmV?d00001 diff --git a/opensrp-register/bin/src/test/java/org/opensrp/register/service/handler/TestResourceLoader.class b/opensrp-register/bin/src/test/java/org/opensrp/register/service/handler/TestResourceLoader.class new file mode 100644 index 0000000000000000000000000000000000000000..eed28e91b2f78c890424e6a344f79a938d20f631 GIT binary patch literal 8360 zcmeHM>rxvx6h3kZYdZueBu$(2qCi_rFLp1a7ocefkd$NtGeDT>Pq7xZ()F%Kt99Xd z`VgIIXVU+Df<8c>qtm0^#Vlc4iN@`u8UL|X)~8QL=Nw7rNWcE^(-Qz#fCmng2&_la zYbYM6#$(oFjZn54VV4Jy>^3BCiAZtTh`8(tk2l&ZX!=;+Mff(4!dQCT4Ox>*2Sx}? zCJa6cT8*v!$J|o{$~;g)9c?rTOt~k`J4%Y6wM1Yn^4h!^`+SpiIKsO!>;UaHOS5g1two7{oR1SU=-UY9bIWq5^5EItY(&fV|vCiTKj zSNI7lMbUAXPP9m?mEAU{P44*&2cTW%eaBjy&Y*7VnQrUHx~*rrt!KKOq0Nv-6lJ9y zro1*)NW~AksLebT8m+F4R@V~Nt%y^pM5h}{MX?9*3_bwg{hOsRm&*M;!aMO$mrdF+3OvuFpyrA#7m&W~_t<4oF z*^z-v<7^#gP_iX*4T{Xl11ttx*U^hXS^wo&wo0;*+XiEyqOJWRx6Zq!t z9n>0(`XbA0V|W{km9B@*@pO2eUmDM!L)#eM1~YUH!wzFMy%}L2-q|C~hO5FfygCMx z@EU)D?psx2^)zvm9*`T{QjoEBF) zpdxU&Hh)$$0@Z$86FD%0cL+Jnl;Les8n?I@usZT{#0FP5R~$Wzz0Z{mYG-(s*jry8 zMPZP{1G}MK90aCoZa?AZ-kT-v?t%n^V_jiWLjv*oLL4Tl&y=WQDu4$k*Y{;x2Ybx(1O`5M?TiO12I7g8@HD(h;KARYhWg#j zI&#Jb!jnPo2&vlJ$z!L?hOT1ksxMF`Jj}}|hxP=_5~i}xWjAe2PHOyr%`BVQmoUfJ zN#0b`Jml)xXV&Do&w;P;{WE{z@4yPaVx|%~uu9-UqBaNCQHlL1&4GLPxT(c(VB^$l zZF=}4=|d4k_%OSRZzd7k0DKX}mtqIY3owdbm?dRpIV&q!S@$kx zM8+}+FJo;AYYWIsu&n+J)89^A`4O)Eg0&J{!(ZJ)k98e?$5Ir$4sRs?y$Nq2isJVO zw%jP-nl0d(E#!I!-bE>nx#nOVSxfLEdT%j literal 0 HcmV?d00001 diff --git a/opensrp-register/bin/src/test/java/org/opensrp/register/service/handler/VaccinesScheduleHandlerTest.class b/opensrp-register/bin/src/test/java/org/opensrp/register/service/handler/VaccinesScheduleHandlerTest.class new file mode 100644 index 0000000000000000000000000000000000000000..310734315f1baebcdb87278eed4de8a498f8d46d GIT binary patch literal 8939 zcmeHMUvt|;5Z_Ca_)pWO4gFsT*A%D&!3G*AG$G(73JEB7CU(r^DJb&ARx3-MyR&JY z_#V9RDVQlU@Xklz!!YbgisMe?NGPSW89&6z-R=Ffx3_ou)9#;tKl>d3=3y-bBLqr< zn+3^)EIc;4M#1Hcg49*RI?U|6axr;V!iH9_ssWus{ zGt)LW3bhUMiP2zm2Aw7!I8FZ0Y4U;7oN2+ zVj%k7lFg7YDqU(&b+KnNo9>T{tDuD94&xEhN-#nsJTgX1ihVr0ZDKR~`( zLXX(K%UOg@+EbIY6}yO#Q^B&uWYeuv6^E6$t}Em|g@{-v%|9^jK4Q-#3d#eR8vOpW{(iRK?qc z<0KVtynV)nI^IgEWeI_-&zJU8$Y$dCdBAidG(Kd%5n`IdUE6LU*L_ifD~4oMrR9Zc>^A*MJs^V=5zQ*nzgG<39tkQ;m1*KpG3(EsEO2I1DkB^G5{;fw~ zV#CiLR#gEQ?f_P9u~d(BdKiOoY^AWJo@soJKnAkM`p&}yj@^O_a1qBQJ-JKRp6YAA zf$gh(?Q7V+(bv9-_*hkkH}Ur^M3_e{2tKpF!Sv1){S{{Z@NnP7U!@J;-+TBw;Y-0i z$a#IUh;R(-7PrLUA9Q y8uzDA+|N&q`*SGn7pKO37K;1u)VP0z;Euoo?)wNV!Z-Mwz?1S7`dSf|LHh@>o=|E4 literal 0 HcmV?d00001 diff --git a/opensrp-register/bin/src/test/java/org/opensrp/register/service/scheduling/AnteNatalCareSchedulesServiceTest.class b/opensrp-register/bin/src/test/java/org/opensrp/register/service/scheduling/AnteNatalCareSchedulesServiceTest.class new file mode 100644 index 0000000000000000000000000000000000000000..bdb8d9637a9cc9fa60428a33f1a5261aac69a34c GIT binary patch literal 9114 zcmeHNZBH9V5S}#z;|mRemNadeW}$f@Qe*dpPbG>TKpn$!kWMWbp-4=dWMqu&f5fo3cb#t)MWz|gX`{N6oIK9a-g~#5ZR5V&CtjO zR>PLmazDV0FpP{aG72?=8FxGK-VoW$Lm5i*h{4qA{pSp(HzOa5FwbDV&-<2Ak(z}C zw(#q-P@#^37W&+a8nF!8fILPaL*cI+as5x=U8^U;XZU_zE#w5F=Xr#2VRa)6HSxH*W?Dg6}vjLPnCA`emJrLNY( zNMQ!GwQf(z2sD+4ZY2Cn_*8?IF_@i021&97%;@wTzRI5I)>{u_YcMmwti@}fsYgDy z#?h8SvKqKU2R(z06NyeI@y$SJ{V-MTkFq$!7ACow&c1I6B?bB5)3J#ZGMIxZIrn3p z@&CgdMj<<*ak9nebLB>!2)-94iPkC6)IyVM*lPGhWv`8)7U@u(-j&2sm(q#q>v)F& zc+RhwvzA_dPR>a*6!W%Z+EVN<{sH$&{;8g|&@aLq$6lSIGJWH#>`_U;rF=ZYwpss8 z3Hp|GD5E3Y(3Gks;gRdg?=lDAEoHzQv6PKKC8Yz$y|`2AmId<0w&T0#@>|i>5Q|Vcphs=3PoMcAAZSRC_i|WU$!Yl+U|iW4CeI)FoAi zUb<&g6{CXFC5`4;%)sfbKwX4SsI1j{XE5t_^0W0>xW(8nIf_n`eD1_*WP%kqS}GW3 zgEM%b>rpfCtu0F3J=-=bZr2+vDe3bwRtj_IGl!A0B%N$+k}&p4UPm?Sk_DV3jFW`X zR_o8LERf&p4r6!*iMH}{l4`*+%;x~%-vtO2N@p$fi!jHrSLdkGrSVnvs3b5+7=4FA z{Z6pK8R$a@`Z}aQf0tmU{ZxcmYAw<84BZ{NPt*M}%+d8d zdRwC&jPA}KaOLIV)!$(8FM2D$5?yT%px-sRT6&^_58-;d?IUWLf{*Fh;@#+taFbe& z<9?ceyPSy23AfNgTTVnPfK~XM?f_rY&!O2rpxIa8 G%YOko88s*X literal 0 HcmV?d00001 diff --git a/opensrp-register/bin/src/test/java/org/opensrp/register/service/scheduling/BNFSchedulesServiceTest.class b/opensrp-register/bin/src/test/java/org/opensrp/register/service/scheduling/BNFSchedulesServiceTest.class new file mode 100644 index 0000000000000000000000000000000000000000..92e6a73e4b8a306afc51b59151953922e1ddc76e GIT binary patch literal 4975 zcmeHL-)|E~5S~p;93Lrx&`??^ECHmXEp{vM)F7mg1`+8J5D8R$T%RZQ!g=?!yLQQ6 zR*6dOd;h4av*&XXl8w%`T#1J$a`t}Ad^?qVGN^3o7FJ=A!Q!!a>q7 zp6G5S(;SdzM$-&k`!kPf`yJ#hOj2P;C=emaRp+fw)2QujvIN5vl4CcBw7j*}8kg!c(=A|I}5T#ixCG zrR6=q#)j##3Uqgc8A+Uqh~niH29G3cSZO72tT$Z z)`>`e5iTSf)o4M=jWn$f3rU&jtbtK&vcq>AcD^vNt5QuCUZ213Vk!*-jysv?{Q;+f zXUp%$^h7r-)l?z8D1s|+eE}}RmsDD=#>ds&o-<^}y088gV@h(ny>1iDzCYLumh#i| zwm9g;!;0%jsv%#-Q>~7v7`&&~=6GZXM0=Ej>Al udnbTV>Y1O1fJZ{!gd)oERYG!Pj z|HL~INbt^&LY!HzFKx!&^~#n)YgyjwnQzXVJ@@(N-#`8WfF0N=z!HHYCH<;qN>^Wa zU9T!+vnnDMDj8KJYjUNTtSTnE+-Ftgw^*YS@UU5}AJuBdy<4V^d+$#Wr2s1gHe#s2 zL%K(&FPN_hTw|f{zd3-wb=L;8OQ4j@#Uz0n?nCAUy44>pllhSB=95mSd7B-CU9R|P z!1lsWXiswyDgvwSq3~ZK+3I~Ba{Yk7a{1mf0xLDqUzNb#y|}Ps20?t`Yd8j>9P2gNn@Kx9x|Dg`k)yK$x^6| z7kYx`+mSwVh1W=hw|StHISlJ5BzBjTGH9PYPhVjDmCqvM;Zneii)u675)Ep+pW#`R zZHqM$yGOaAov^{4^ALRyvJpEa^SS7_F;2<$CWWgULvo4IEGmT+L*j~NlgYgZLteV3 zOg*57p2EghqFnN=1)fs(ZBl-a#s}*%n}_ciZr79C!|<1jDTYB>pB-R0Jr|4KMDNG_ zBdXPVYn2S*Qeo@Npnx{q8zva@2|mS zxJF>B><$|e$6BIx?wW?hx{F!)QKx;%9>m)#YpIC6I6_+CJ(g5wY6>ZyscGrq_Cj;8&7PNf}+A@5B+$=#EzQi-YcldX3^#nX@{XtjLh0>WKke# zulWJ{O#?Pyd*6>5b|}l2HF6{wX#*I7VN0S9KOP?PT&aKl{o^kH*n+JxlnCr=<<$+> zrv94sSY4`CU4}f+Dy%Es654Q8*If04$Lrc_^Jdo?im7C`B;aTp1_*B>+U=m;Ka?_1gh~!ToJhLKIY6f?E#e}mdRRH>^^Uz6G~+$cA_4$GNDJD z4rY~?BpSbKgntfL=fhEfGWBB4i0Dx9e-@^lup_CFlu>gMa;N%K{>qg#0!SWkm6f{D z3Z&vG)YjNNLp#w`9(N^croty!x|AU-=P4w~rZJ_{5Byd7{C3}XJhYZH1p7q8g@32XQrrn^)Ux@&19kLM_Kf79VQXi+9Uvl|-OeILW2hzlYB(7|=xOy0( zTTS047Bg3eK5+^g6N#pg?vBs2zMmlD2WedJ9#8TjeVy$wB^bKcX;|`@<_+}Mr<~o} z(8xhxGEojfkbTyfYzsy_+l?>K_MB$HsZO`KMv7%)9K9g|GoAiq7EaD7XP0HdUP%zt zxarQ!Glpe7ah6(*mgt>LuUPxB@bYbqE7m?vlLm=P%FZ8isP9Yf-<=M*(qsN3W+q$E zexz2IlGydlf+?Bp?S%1zFejNph>H<~Q_ZeTIbGse>YQiT^uXDH%W!oG7U4sz5^cDn zLd}6uSVP&ig`8y}!~-CMOJxw5$29VTXU<5BcPqG@uhBJHy!;b>Eia*A2-*EyX)cJGp) zbSc4ak@m&4wD%SI7i-VxNSm{7?OD+KiwRH1{Zn>%7pA1BB3x({p-B6Zt2jB*KFrVh z0r^kd3^Sw(d`{re*->|NgTMf;T4}C`AYAn54P!A)-y>dd%-) zpA~m_WY|9h#Q)YBfrsxC*f${p^H^}jl-E8fLk(YQNU%y}_?p1A?y zLjp^CLTk)x5Ah^S!)?HK74RL65`HehLUdP#3bt19egUrzUgz<;2ut|;0X}VE4}w?c zPq_Tc>XqMN^>2JC!5aSB9)RC#_-pBr3O<7CQQODZG6$dFy~VpR9N{LmoW}hu0ryTK zE=AnZ5bbs%+Ij-oW+K|%3~2Wf&>9J7bMOUnQ-Tfn60ZQ?;n%_0e}%KJ!#Do{$Jq6_ literal 0 HcmV?d00001 diff --git a/opensrp-register/bin/src/test/java/org/opensrp/register/service/scheduling/HHSchedulesServiceTest.class b/opensrp-register/bin/src/test/java/org/opensrp/register/service/scheduling/HHSchedulesServiceTest.class new file mode 100644 index 0000000000000000000000000000000000000000..af64ed3ce265c865694fe6261101937a063da4ae GIT binary patch literal 6262 zcmeHLZEq7t5S~qf9Um!ylu+8VWl2Fw3fQg0rv{;>X{toJq!kWSeB9g(zJ>GcX?N|C zpVVJasg>IA{ZUnC&yF2(2WMMG0%TeCy?Ex?+1cHhXXfAk{`?yN?!&iLm}B4@9W*Q& z+juUzqM>xFp;AnYP8%9q(pc0DgSsmNY?vUzuoKIq)!5r>_8!nQd;cC0MimwqT+V=E zK~g^-KgYl_Sc#(Z;ta0(d5|pzwf-om8C>`GP{ekitovh;*xI8`Vr3imldd%KIL7TH zQC3)~62qY4AE@93iB%rRMB0Z8<~KHj2l#1YmXdz!Gzt#JGtDpL<-uGL5=(lwqDm0ud z8!>T$;R(k8BYOg zIu^}PCSJ_9>pD7*ze*bwY!q%47u=qt=+%BvzoB+#lf)C$qe}0$5~Z<3+C`v8bbLEH zKwpWl6h0q+N=9&omxvSxtP-Uk@LBovc3%dVy7*QC<^oh3ZKOi(VxP0wY~-ivytT=t z;hiMJXELGqLq=o)$t@Kx*6?ci_a*j>uTU8COGa_i89~HXtrqI-lu}&z{&1LMDfEO( z%y_NP1isygg)tBE9)4J619q_}ruU9&S7<3H;Z0x=Qc|`j`;Wpvl&w`74A&nAX3ru6o<#V70W;V}N+6Ru?Wks$Nr8WABRem2~jb;>yniqq9#f%~i+X6F+ibiY7PYl9KKpf`EkFAH#Q6ykEiog1LtEJRx` fK)YRlHV?N*e-3WLCS3u(p|3~wuEE!E7wZ25J|aY- literal 0 HcmV?d00001 diff --git a/opensrp-register/bin/src/test/java/org/opensrp/register/service/scheduling/PNCSchedulesServiceTest.class b/opensrp-register/bin/src/test/java/org/opensrp/register/service/scheduling/PNCSchedulesServiceTest.class new file mode 100644 index 0000000000000000000000000000000000000000..32664dcb23efd2abda8fe8f72c4a05846c425d74 GIT binary patch literal 8879 zcmeHNTW{Mo6h2JS*jBTqNtdo&x|Pkk&ILAmmpm;+fi%n307_ESX@@;3GHbJyMS-Nf z=9dlFfDPE={=@#tutWKl+KeO{Hjo;IVO*G7oEH?e>dM zG9`i*t5RPyA|AwmG?D^)XsGY0Q#h$JT4jFVNhFFq|BY8;bPGjS>WHq?69FE zD7r0L6--g&lr}u=*QrJ{_BKK}okv5pl#E(RhRIS^>^5(_5eca&Hln^~WI|6F?T%_x zlDPk-=D`H8Cd1JjWo%_mS9Iu)KXYBT7z)*bdQ_i9%qct*zcOij6Ujp+vr-?_LLpfS zwTVH`(S4iJXRh$7>F~pGETs#>c?yX=Vx=^C!d|71Z~v{&A`{?Jz)XZ{FkKf_YJ#8P zSrsk8*2wE2<%%}LDtpC4j6ldm9FmN(=mkwsi6hHx^cG`@(TpffI7s4(T8+uw2&cMq zBQcmGHE0v3uyG;LIMUq;xE4?H_r8ry)FiVHe!>tu{+V?6V`gJD5hUT1e{)?q;hZvD@wh40(rNcYVG9VE+ITay=R`9 z#pSSbIs7;)UIO=3T{MHLae;kz@3_(_Aa*KxhjG3dSMCf2s^>G}{GCBP8C=ScwDYZb z%2#kP4$o7*;Y4n5O_2}_=P4hS1d`?yr;vTJpXw6p^5-HmVP=G$aoX2>d&l#ch(IjQcKWZqJx6Vis13 zH{yQ8f;@pc7Pm6X@_2(AGc>oeduXz_mKQX!$(q~SD{Sxn;k%84(8v9K^I<}$pK>NW z>DSM4P$F>Co|WX_Yy1Gg(t8fRMco)4-rX`JuyV+i!kqR5_rMg~1N?RXKbcs--xXMn zuX2#brv%?!O?HRS5Ss;{s**}(VqYS literal 0 HcmV?d00001 diff --git a/opensrp-register/bin/src/test/java/org/opensrp/register/util/Event.class b/opensrp-register/bin/src/test/java/org/opensrp/register/util/Event.class new file mode 100644 index 0000000000000000000000000000000000000000..dc46ed3662ea037335d36d8683a2410bab055e1c GIT binary patch literal 812 zcmb7CO>Yx15FMv!lPrO>f%0*4drB&?d*Ofx;s7cVQh-BCC611Fx^daHS7UF)KSKfu z?))gkcoWnd0I7!^jqNvY-^`nzzrKD4fG6;%2OR;AJ?Si<580JksmxK4xf-pfIwLHM z4@g-POqrdo(1sp#1?;!TQrRMVzqmpj1nfOG)`S-Vb|%vc0o_+F#~us>jIOb#M2`A! zONfIHme9L$g}KzOs!geaaaPvk7A02xnM?-fOO!e4QW1k{r9Y_x1-+Dk>+y5V>bC2-*)%qrMp@~<*^|R{Z&v)WF=dW4 z>%)BkNB=jMy%mt0xrQ{pHnEGO-K^FTI09ZF-cEoHXS=Y+vDa?v4rc(#H|T#HCtqOr uqs5FkMhx(`&vCd$!2yiu(!H5TA9^_))iMUD^T#x(yWU0zMw5&?btM#zr+dI}&yq_*AX$w)VC6(%xPY z#26Ld@RT^+mbJo5)f?>X+Ns>~Cl0=C%9xKfnJ804>-oLV-Xl5|$x(B#oDB zpBaG|8$rnZNQ8#qV<(ba7_oF*qqEO_`8al5n~Nf>5V)FbaG5_gc1JI{B?(j`Yr^f= z<$dOH0yT3^GLXXY#~TF7p5x+ifsX{M2aazC2e{GPOL}S_(p2~%p6fHW+eQ?R9j2=T z$%Je(i90K%YKKlje%;0XF_M}cAD>*^bbLo{5x7uqJR`8O6WF{6*9ol6S?vfBh!Wf& zOPlcAb=37j*RdQ)qd4RO&B~9Yh%Ffinz~WFL7j-kzRh1aKH9_!T){qz zU74kB(q0@%wSrWX`O1h=;0$D?ocdjk`lt*jqw<%KYZA>pbQx$f_g#RsT(adUV|hs0 zYSkuO9&gLl{(l**7f5bRk{q|dB73v+we50@xyR#e*0EG_@VJ}=HuVDQRei^0QM7p! zVk^hrRZ>u{NwZnEQa-wI!P#17a4!F($HHaso`%Z>NKaTa(Kv7CNvHkP>^$#p_c|vc z?la*qO#GSwv)45{gW+yp8+EVSZ}0Bu@}M0LIzJ6NKlZoH=iTp@k7t(lm?`ms0SVyM)s3dg`=?z5@7r;{sk;zR@rJ3Or;Q@h58D}iQcL*^LkVSZOAa6cE}6R79%(8%Gz$VK?{6bP+cgwIZa@GuwQb7*FynA?Mq dBgIw@LIJ)+3n;)>u%RpgR^V&+2EK)d{{qPOPFnx~ literal 0 HcmV?d00001 diff --git a/opensrp-register/bin/src/test/java/org/opensrp/register/util/FormSubmissionBuilder.class b/opensrp-register/bin/src/test/java/org/opensrp/register/util/FormSubmissionBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..293df725b920fb74957442c586bec1ccc5de155d GIT binary patch literal 6023 zcmeHLTXS1A5MG%yj_q99lu{ZfRZ=KU3wD8&OOmF|wM}qb7>CU8)RE6oY?X5x9i2e_ z2mgf`n1Ofx1V4i}hSl+jV-KQM#^ySGInt3<-)eWYtJVJe+xI^Lz!H3(ha7?Xv2?16 z$Ex~_9kXgETh%b)K`f)HSxy-{Dfs5%%j|Hvj zljbw-C;}H);P1KwW@~424JAd;S|LyrL9AHda7{7610~c++C4%Rb>?#dg{BDHr|Kla z{w0?mvBXnP)3J!DHi2uJbc-pr#g9ZF6z=GdOT94yr8sHo&FX0aQ#IW5=`S)LKN8$? zW9-ywC>@Rz8ln|2l}O}uIUQWB=>;Ff!c>Z>n9E}>yKKoGPOj?B ztPyyrym&}pY%_Fu9$q6bbEbxEDML8{*Gb{mF9ONq&^zWXbwWQ99@B!*NQO<1`|&a@ z77p5+y4>-YM52f}U$GXa3uvWEW~Iuhl`7gw3)BsHOoLESpDCwJ6|U#sL}--W^=R{o zws}QwtMcb)9sa_PLaAs)T1)4*X)6@O`=Lk{eL1O&lB)fj(2}dXzClQx;M9^(y z;;2y4j-QnmsfcM3po542?Tb!@lS(Rs0t~g z+8O`%L}#I5kRGflH$%@u_d~~y4VcBkK8ph=wuxolEq;f9WyJW5!%t#-WE!* zAhD9}1yRA?yR0dTFb6j#;VMu9SIU3Pkag-fQ^UKup7>2J4;W^HI+YF`<{dIA^nW%u zrrH8?*$1_uvUr^qJCZYnY}U(*LxN2}nZW$>b6ZSp@sZHfj|h|uS@wsfl?ix<9}qaUk>5JNSzq5+ zkxE7DFaK<54l;zEiKvPVH?j_Hwfk75t^r;JP*5AfYLsk zhfj46-6#+HSRU&UG!IYu%6Fa9f|lLaRlcBgfN%a7<^c;@STZa@4lckr_HvNV+KH?! zWNk5POIbUawNo&iuA702h;}LM&mzuccscD~fmg6C;oMbt6~EW;Zwa{)Y>Pj@+?TVj ze+O^;l+w=QcRZaTuz>x^4i(&lH}S6kZ^5k$;dZ+3Q-rq-2-j1D9Ihj<2)DC!{haR@ z*3BC@6L=RYJqTK7oxN8L2)B#~@4@>$2zp-~gbxe|cZ>-4;6o$AM+StuMubn!fpE`= zuzU`LWh27MIS?Ki5mw>8Q4ebdJ!~5h9>RJL!kINq=V;G>kb@1hUk*0mGi;~v%x=LB KJcd1}LH&1&_%`1F literal 0 HcmV?d00001 diff --git a/opensrp-register/bin/src/test/java/org/opensrp/register/util/Matcher.class b/opensrp-register/bin/src/test/java/org/opensrp/register/util/Matcher.class new file mode 100644 index 0000000000000000000000000000000000000000..21dd8ed6154e46edc4ae11bcb4bd5b39d220cc8c GIT binary patch literal 1993 zcmd5-TW`}a6h7`oZ!7BNBmOd2pGq>eqb4DskDUgD9&!FDG2Wk?{w zJ3k6>oVHukgoh&fXEj!by0 zRpKb_3vIY^QX@iVml-$UssghF7BXzeV&B;t9&*$?tk22*C0%lqP(|s24SAvJ0-qtON=~eB5U2WRU=Y-R7!PINp z%1WmcC(?;UZagvZYz9VO`;(9Xw{h5C6aLeJ*7;Jh!m+e@xpC6cV7 zPt)XrtwR;AHsA`(6Ig2XPL$F&O2mHGDyiASqk5A@L#_r4#X(@PCtViqGbQYNyf|wD zp$V+_E~)1(fn}L#_?<98{)h=Y&bu^9VYi+0a=b*K))#)vOsdekmCeD%Y0Oq@FzB}N zslqJ+@@)A})c@B?5VJT{zXTo?1~*l!n4R@A;^|GnH!;914Dmi8&(01p>u^)n1tpiO zl}pO#f~ESO3WGqsFH_}Wzp)kH7`KkBX;)ws&vPnw79+Gq(G0NnXjlcjiSU{O90>}n zjAJFc_Us&>{tc?{7wcc3@dIZiXyRxwfX@PsjS&j2!6MFTa2;+SY6-tfu$(bH$(Sch oHw&2NGNw{ye;e)`+utp)zgJ*Ce{5fZm2Bq+u!iq4GEtcM4SB9;Q~&?~ literal 0 HcmV?d00001 diff --git a/opensrp-web/bin/doc/schedules/child-bcg.html b/opensrp-web/bin/doc/schedules/child-bcg.html new file mode 100644 index 0000000000..d8d57141b3 --- /dev/null +++ b/opensrp-web/bin/doc/schedules/child-bcg.html @@ -0,0 +1,14 @@ + + + + + + + +
BCG
\ No newline at end of file diff --git a/opensrp-web/bin/doc/schedules/child-boosters.html b/opensrp-web/bin/doc/schedules/child-boosters.html new file mode 100644 index 0000000000..eb5f79cb19 --- /dev/null +++ b/opensrp-web/bin/doc/schedules/child-boosters.html @@ -0,0 +1,13 @@ + + + + + + + +
Boosters
\ No newline at end of file diff --git a/opensrp-web/bin/doc/schedules/child-dpt-booster1.html b/opensrp-web/bin/doc/schedules/child-dpt-booster1.html new file mode 100644 index 0000000000..e78569dfcd --- /dev/null +++ b/opensrp-web/bin/doc/schedules/child-dpt-booster1.html @@ -0,0 +1,15 @@ + + + + + + + +
DPT Booster 1
\ No newline at end of file diff --git a/opensrp-web/bin/doc/schedules/child-dpt-booster2.html b/opensrp-web/bin/doc/schedules/child-dpt-booster2.html new file mode 100644 index 0000000000..a7400b97c4 --- /dev/null +++ b/opensrp-web/bin/doc/schedules/child-dpt-booster2.html @@ -0,0 +1,13 @@ + + + + + + + +
DPT Booster 2
\ No newline at end of file diff --git a/opensrp-web/bin/doc/schedules/child-measles-and-vitamins.html b/opensrp-web/bin/doc/schedules/child-measles-and-vitamins.html new file mode 100644 index 0000000000..5c451d9dfd --- /dev/null +++ b/opensrp-web/bin/doc/schedules/child-measles-and-vitamins.html @@ -0,0 +1,13 @@ + + + + + + + +
Measles Vaccination and Vitamin Supplements
\ No newline at end of file diff --git a/opensrp-web/bin/doc/schedules/child-measles-booster.html b/opensrp-web/bin/doc/schedules/child-measles-booster.html new file mode 100644 index 0000000000..32d48a1de2 --- /dev/null +++ b/opensrp-web/bin/doc/schedules/child-measles-booster.html @@ -0,0 +1,15 @@ + + + + + + + +
Measles Booster
\ No newline at end of file diff --git a/opensrp-web/bin/doc/schedules/child-measles-boosters.html b/opensrp-web/bin/doc/schedules/child-measles-boosters.html new file mode 100644 index 0000000000..eb5f79cb19 --- /dev/null +++ b/opensrp-web/bin/doc/schedules/child-measles-boosters.html @@ -0,0 +1,13 @@ + + + + + + + +
Boosters
\ No newline at end of file diff --git a/opensrp-web/bin/doc/schedules/child-measles.html b/opensrp-web/bin/doc/schedules/child-measles.html new file mode 100644 index 0000000000..548d91f658 --- /dev/null +++ b/opensrp-web/bin/doc/schedules/child-measles.html @@ -0,0 +1,15 @@ + + + + + + + +
Measles Vaccination
\ No newline at end of file diff --git a/opensrp-web/bin/doc/schedules/child-opv-0-and-1.html b/opensrp-web/bin/doc/schedules/child-opv-0-and-1.html new file mode 100644 index 0000000000..0be65a3469 --- /dev/null +++ b/opensrp-web/bin/doc/schedules/child-opv-0-and-1.html @@ -0,0 +1,16 @@ + + + + + + + +
OPV_0_AND_1
\ No newline at end of file diff --git a/opensrp-web/bin/doc/schedules/child-opv-0.html b/opensrp-web/bin/doc/schedules/child-opv-0.html new file mode 100644 index 0000000000..eaf217a63e --- /dev/null +++ b/opensrp-web/bin/doc/schedules/child-opv-0.html @@ -0,0 +1,13 @@ + + + + + + + +
OPV 0
\ No newline at end of file diff --git a/opensrp-web/bin/doc/schedules/child-opv-2.html b/opensrp-web/bin/doc/schedules/child-opv-2.html new file mode 100644 index 0000000000..51e4a0516c --- /dev/null +++ b/opensrp-web/bin/doc/schedules/child-opv-2.html @@ -0,0 +1,15 @@ + + + + + + + +
OPV 2
\ No newline at end of file diff --git a/opensrp-web/bin/doc/schedules/child-opv-3.html b/opensrp-web/bin/doc/schedules/child-opv-3.html new file mode 100644 index 0000000000..f10a026b75 --- /dev/null +++ b/opensrp-web/bin/doc/schedules/child-opv-3.html @@ -0,0 +1,15 @@ + + + + + + + +
OPV 3
\ No newline at end of file diff --git a/opensrp-web/bin/doc/schedules/child-opv-booster.html b/opensrp-web/bin/doc/schedules/child-opv-booster.html new file mode 100644 index 0000000000..f4155938d3 --- /dev/null +++ b/opensrp-web/bin/doc/schedules/child-opv-booster.html @@ -0,0 +1,14 @@ + + + + + + + +
OPV BOOSTER
\ No newline at end of file diff --git a/opensrp-web/bin/doc/schedules/child-pentavalent-1.html b/opensrp-web/bin/doc/schedules/child-pentavalent-1.html new file mode 100644 index 0000000000..699634a9cd --- /dev/null +++ b/opensrp-web/bin/doc/schedules/child-pentavalent-1.html @@ -0,0 +1,15 @@ + + + + + + + +
Penta 1
\ No newline at end of file diff --git a/opensrp-web/bin/doc/schedules/child-pentavalent-2.html b/opensrp-web/bin/doc/schedules/child-pentavalent-2.html new file mode 100644 index 0000000000..d9e7f87a59 --- /dev/null +++ b/opensrp-web/bin/doc/schedules/child-pentavalent-2.html @@ -0,0 +1,15 @@ + + + + + + + +
Penta 2
\ No newline at end of file diff --git a/opensrp-web/bin/doc/schedules/child-pentavalent-3.html b/opensrp-web/bin/doc/schedules/child-pentavalent-3.html new file mode 100644 index 0000000000..1705245e67 --- /dev/null +++ b/opensrp-web/bin/doc/schedules/child-pentavalent-3.html @@ -0,0 +1,15 @@ + + + + + + + +
Penta 3
\ No newline at end of file diff --git a/opensrp-web/bin/doc/schedules/ec-condom-refill.html b/opensrp-web/bin/doc/schedules/ec-condom-refill.html new file mode 100644 index 0000000000..8a83db543d --- /dev/null +++ b/opensrp-web/bin/doc/schedules/ec-condom-refill.html @@ -0,0 +1,14 @@ + + + + + + + +
Condom Refill
\ No newline at end of file diff --git a/opensrp-web/bin/doc/schedules/ec-dmpa-injectable-refill.html b/opensrp-web/bin/doc/schedules/ec-dmpa-injectable-refill.html new file mode 100644 index 0000000000..72ebc0e632 --- /dev/null +++ b/opensrp-web/bin/doc/schedules/ec-dmpa-injectable-refill.html @@ -0,0 +1,15 @@ + + + + + + + +
DMPA Injectable Refill
\ No newline at end of file diff --git a/opensrp-web/bin/doc/schedules/ec-female-sterilization-followup.html b/opensrp-web/bin/doc/schedules/ec-female-sterilization-followup.html new file mode 100644 index 0000000000..c52b19e054 --- /dev/null +++ b/opensrp-web/bin/doc/schedules/ec-female-sterilization-followup.html @@ -0,0 +1,18 @@ + + + + + + + +
Female sterilization Followup
\ No newline at end of file diff --git a/opensrp-web/bin/doc/schedules/ec-fp-followup.html b/opensrp-web/bin/doc/schedules/ec-fp-followup.html new file mode 100644 index 0000000000..908fa4f97a --- /dev/null +++ b/opensrp-web/bin/doc/schedules/ec-fp-followup.html @@ -0,0 +1,15 @@ + + + + + + + +
FP Followup
\ No newline at end of file diff --git a/opensrp-web/bin/doc/schedules/ec-fp-referral-followup.html b/opensrp-web/bin/doc/schedules/ec-fp-referral-followup.html new file mode 100644 index 0000000000..52112b8014 --- /dev/null +++ b/opensrp-web/bin/doc/schedules/ec-fp-referral-followup.html @@ -0,0 +1,15 @@ + + + + + + + +
FP Referral Followup
\ No newline at end of file diff --git a/opensrp-web/bin/doc/schedules/ec-iud-followup.html b/opensrp-web/bin/doc/schedules/ec-iud-followup.html new file mode 100644 index 0000000000..ae097fd105 --- /dev/null +++ b/opensrp-web/bin/doc/schedules/ec-iud-followup.html @@ -0,0 +1,17 @@ + + + + + + + +
IUD Followup
\ No newline at end of file diff --git a/opensrp-web/bin/doc/schedules/ec-male-sterilization-followup.html b/opensrp-web/bin/doc/schedules/ec-male-sterilization-followup.html new file mode 100644 index 0000000000..1def8a7b24 --- /dev/null +++ b/opensrp-web/bin/doc/schedules/ec-male-sterilization-followup.html @@ -0,0 +1,16 @@ + + + + + + + +
Male sterilization Followup
\ No newline at end of file diff --git a/opensrp-web/bin/doc/schedules/ec-ocp-refill.html b/opensrp-web/bin/doc/schedules/ec-ocp-refill.html new file mode 100644 index 0000000000..33b829ab3c --- /dev/null +++ b/opensrp-web/bin/doc/schedules/ec-ocp-refill.html @@ -0,0 +1,14 @@ + + + + + + + +
OCP Refill
\ No newline at end of file diff --git a/opensrp-web/bin/doc/schedules/mother-anc-normal.html b/opensrp-web/bin/doc/schedules/mother-anc-normal.html new file mode 100644 index 0000000000..ded2c7b40c --- /dev/null +++ b/opensrp-web/bin/doc/schedules/mother-anc-normal.html @@ -0,0 +1,20 @@ + + + + + + + +
Ante Natal Care - Normal
\ No newline at end of file diff --git a/opensrp-web/bin/doc/schedules/mother-auto-close-pnc.html b/opensrp-web/bin/doc/schedules/mother-auto-close-pnc.html new file mode 100644 index 0000000000..f68f37353d --- /dev/null +++ b/opensrp-web/bin/doc/schedules/mother-auto-close-pnc.html @@ -0,0 +1,13 @@ + + + + + + + +
Auto Close PNC
\ No newline at end of file diff --git a/opensrp-web/bin/doc/schedules/mother-delivery-plan.html b/opensrp-web/bin/doc/schedules/mother-delivery-plan.html new file mode 100644 index 0000000000..8c03bba037 --- /dev/null +++ b/opensrp-web/bin/doc/schedules/mother-delivery-plan.html @@ -0,0 +1,15 @@ + + + + + + + +
Delivery Plan
\ No newline at end of file diff --git a/opensrp-web/bin/doc/schedules/mother-expected-date-of-delivery.html b/opensrp-web/bin/doc/schedules/mother-expected-date-of-delivery.html new file mode 100644 index 0000000000..f535d238d8 --- /dev/null +++ b/opensrp-web/bin/doc/schedules/mother-expected-date-of-delivery.html @@ -0,0 +1,14 @@ + + + + + + + +
Expected Date Of Delivery
\ No newline at end of file diff --git a/opensrp-web/bin/doc/schedules/mother-hb-followup-test.html b/opensrp-web/bin/doc/schedules/mother-hb-followup-test.html new file mode 100644 index 0000000000..64e7a535d3 --- /dev/null +++ b/opensrp-web/bin/doc/schedules/mother-hb-followup-test.html @@ -0,0 +1,15 @@ + + + + + + + +
Hb Followup Test
\ No newline at end of file diff --git a/opensrp-web/bin/doc/schedules/mother-hb-test-1.html b/opensrp-web/bin/doc/schedules/mother-hb-test-1.html new file mode 100644 index 0000000000..a56da1b2a5 --- /dev/null +++ b/opensrp-web/bin/doc/schedules/mother-hb-test-1.html @@ -0,0 +1,14 @@ + + + + + + + +
Hb Test 1
\ No newline at end of file diff --git a/opensrp-web/bin/doc/schedules/mother-hb-test-2.html b/opensrp-web/bin/doc/schedules/mother-hb-test-2.html new file mode 100644 index 0000000000..24059b2638 --- /dev/null +++ b/opensrp-web/bin/doc/schedules/mother-hb-test-2.html @@ -0,0 +1,14 @@ + + + + + + + +
Hb Test 2
\ No newline at end of file diff --git a/opensrp-web/bin/doc/schedules/mother-hb-test.html b/opensrp-web/bin/doc/schedules/mother-hb-test.html new file mode 100644 index 0000000000..9fe880353d --- /dev/null +++ b/opensrp-web/bin/doc/schedules/mother-hb-test.html @@ -0,0 +1,16 @@ + + + + + + + +
Hb Test
\ No newline at end of file diff --git a/opensrp-web/bin/doc/schedules/mother-ifa-1.html b/opensrp-web/bin/doc/schedules/mother-ifa-1.html new file mode 100644 index 0000000000..cee835a781 --- /dev/null +++ b/opensrp-web/bin/doc/schedules/mother-ifa-1.html @@ -0,0 +1,15 @@ + + + + + + + +
IFA 1
\ No newline at end of file diff --git a/opensrp-web/bin/doc/schedules/mother-ifa-2.html b/opensrp-web/bin/doc/schedules/mother-ifa-2.html new file mode 100644 index 0000000000..683db4c9f2 --- /dev/null +++ b/opensrp-web/bin/doc/schedules/mother-ifa-2.html @@ -0,0 +1,15 @@ + + + + + + + +
IFA 2
\ No newline at end of file diff --git a/opensrp-web/bin/doc/schedules/mother-ifa-3.html b/opensrp-web/bin/doc/schedules/mother-ifa-3.html new file mode 100644 index 0000000000..dcd7eec5e1 --- /dev/null +++ b/opensrp-web/bin/doc/schedules/mother-ifa-3.html @@ -0,0 +1,15 @@ + + + + + + + +
IFA 3
\ No newline at end of file diff --git a/opensrp-web/bin/doc/schedules/mother-lab-reminder.html b/opensrp-web/bin/doc/schedules/mother-lab-reminder.html new file mode 100644 index 0000000000..56543c8f3b --- /dev/null +++ b/opensrp-web/bin/doc/schedules/mother-lab-reminder.html @@ -0,0 +1,14 @@ + + + + + + + +
Lab Reminders
\ No newline at end of file diff --git a/opensrp-web/bin/doc/schedules/mother-pnc-close.html b/opensrp-web/bin/doc/schedules/mother-pnc-close.html new file mode 100644 index 0000000000..0ccd845389 --- /dev/null +++ b/opensrp-web/bin/doc/schedules/mother-pnc-close.html @@ -0,0 +1,13 @@ + + + + + + + +
PNC Close
\ No newline at end of file diff --git a/opensrp-web/bin/doc/schedules/mother-tt-1.html b/opensrp-web/bin/doc/schedules/mother-tt-1.html new file mode 100644 index 0000000000..8df4942742 --- /dev/null +++ b/opensrp-web/bin/doc/schedules/mother-tt-1.html @@ -0,0 +1,14 @@ + + + + + + + +
TT 1
\ No newline at end of file diff --git a/opensrp-web/bin/doc/schedules/mother-tt-2.html b/opensrp-web/bin/doc/schedules/mother-tt-2.html new file mode 100644 index 0000000000..fe10de47d5 --- /dev/null +++ b/opensrp-web/bin/doc/schedules/mother-tt-2.html @@ -0,0 +1,15 @@ + + + + + + + +
TT 2
\ No newline at end of file diff --git a/opensrp-web/bin/doc/schedules/schedule.js b/opensrp-web/bin/doc/schedules/schedule.js new file mode 100644 index 0000000000..7208abee18 --- /dev/null +++ b/opensrp-web/bin/doc/schedules/schedule.js @@ -0,0 +1,126 @@ +function Colors() { + var colors = ["#FEE766", "#0C85C4", "#269650", "#955E3A", "#3C3C22", "#B2AD1B", "#F0FA1E", "#FA321E", "#7E07A9", "#95DFF3", "#EC7AD0", "#26FF00"]; + var nextColorIndex = 0; + + return { + next: function() { + if (nextColorIndex >= colors.length) nextColorIndex = 0; + nextColorIndex++; + + return colors[nextColorIndex - 1]; + } + } +}; + +function Schedule(numberOfTimelinesToDraw) { + var firstDay = new Date(2012, 0, 1).getTime(); + + var leftMargin = 25; + var numberOfWeeksPerTimeline = 20; + var widthOfEachWeek = 60; + var heigthOfEachTimeline = 250; + + var MILLIS_PER_DAY = 86400 * 1000; + var MILLIS_PER_TIMELINE = (MILLIS_PER_DAY * 7 * numberOfWeeksPerTimeline); + + var colors = new Colors(); + var paper = Raphael(0, 0, leftMargin + (numberOfWeeksPerTimeline * widthOfEachWeek) + 100, numberOfTimelinesToDraw * heigthOfEachTimeline + 300); + + + var previouslySeenIdentifier = ""; + var stepNumber = 0; + var legendIndex = 0; + + var textStartingAt = function(startX, startY, text) { + var text = paper.text(startX, startY, text); + var textBox = text.getBBox(1); + return text.translate((textBox.width / 2), 0); + }; + + var drawTimeline = function(weekOffset, yOffset) { + var xEndOfTimeline = leftMargin + (numberOfWeeksPerTimeline * widthOfEachWeek); + paper.path("M " + leftMargin + " " + yOffset + " H " + xEndOfTimeline); + + for(var i = 0; i <= numberOfWeeksPerTimeline; i++) { + var xPosition = (leftMargin + (i * widthOfEachWeek)); + var yPosition = yOffset - 10; + + var weekNotch = paper.path("M " + xPosition + " " + yPosition + " V " + (yPosition + 20)); + var week = new Date(firstDay + (86400000 * 7 * (i + weekOffset))); + + var text = textStartingAt(xPosition, yPosition - 20, week.toDateString()); + var textBox = text.getBBox(1); + text.rotate(-30, textBox.x, textBox.y); + + var weeksAfterLMP = paper.text(xPosition, yPosition + 30, i + weekOffset); + }; + }; + + var alertPosition = function(date) { + var offsetDaysFromStartOfTimeline = ((date - firstDay) % MILLIS_PER_TIMELINE) / MILLIS_PER_DAY; + + var timelineForThisDate = Math.floor((date - firstDay) / MILLIS_PER_TIMELINE); + var yOffsetBasedOnTimeline = ((heigthOfEachTimeline / 2) * (2 * timelineForThisDate + 1)) + 40; + + var xOffsetPosition = leftMargin + (offsetDaysFromStartOfTimeline * widthOfEachWeek / 7.0); + + return {x: xOffsetPosition, y: yOffsetBasedOnTimeline}; + }; + + var addAlert = function(date, color) { + var position = alertPosition(date); + paper.circle(position.x, position.y + ((stepNumber - 1) * 14), 7).attr("fill", color).attr("stroke", "#fff"); + }; + + var addEllipsis = function(date, color) { + var position = alertPosition(date); + for (var i = 0; i < 3; i++) { + paper.circle(position.x + (7 * (i + 2)), position.y + ((stepNumber - 1) * 14), 2).attr("fill", color).attr("stroke", "#fff"); + } + }; + + var addToLegend = function(color, legendText) { + var legendStartPosition = (numberOfTimelinesToDraw * heigthOfEachTimeline) + legendIndex * 20; + legendIndex++; + + var circle = paper.circle(leftMargin, legendStartPosition, 7).attr("fill", color).attr("stroke", "#fff"); + textStartingAt(leftMargin + circle.getBBox(1).width, legendStartPosition, legendText); + }; + + var updateStepNumber = function(identifier) { + if (identifier != previouslySeenIdentifier) { + stepNumber++; + previouslySeenIdentifier = identifier; + } + }; + + var addAlerts = function(legendText, dates) { + var color = colors.next(); + addToLegend(color, legendText); + for (var dateIndex in dates) { + addAlert(dates[dateIndex], color); + } + + return {color: color}; + }; + + return { + draw: function() { + for (var i = 0; i < numberOfTimelinesToDraw; i++) { + drawTimeline(20 * i, (heigthOfEachTimeline / 2) * ((2 * i) + 1)); + } + return this; + }, + + addAlerts: function(identifier, legendText, dates) { + updateStepNumber(identifier); + addAlerts(legendText, dates); + }, + + addAlertsStartingWith: function(identifier, legendText, dates) { + updateStepNumber(identifier); + var alerts = addAlerts(legendText, dates); + addEllipsis(dates[dates.length - 1], alerts.color); + } + }; +}; diff --git a/opensrp-web/bin/pom.xml b/opensrp-web/bin/pom.xml new file mode 100644 index 0000000000..86031bc90e --- /dev/null +++ b/opensrp-web/bin/pom.xml @@ -0,0 +1,354 @@ + + + 4.0.0 + + + opensrp + org.opensrp + 0.1-SNAPSHOT + + + opensrp-web + war + opensrp-web + http://github.com/OpenSRP/opensrp-server + + + 9979 + 0.1-SNAPSHOT + ${project.basedir}/.. + 4.2.8.Final + + + + + jedis + + true + + opensrp.redis.client.type + jedis + + + + jedis + + + + + redis.clients + jedis + 2.4.1 + + + + + lettuce + + + opensrp.redis.client.type + lettuce + + + + lettuce + + + + + com.lambdaworks + lettuce + 2.3.3 + + + org.springframework + spring-tx + 3.1.1.RELEASE + + + + + + + opensrp + + + src/main/resources + true + + + ../assets/config + + + ../assets/schedules + schedules + + + ../assets/form + form + + + ../build + true + + maven.properties + + + + ../opensrp-core/src/main/resources + + + ../opensrp-connector/src/main/resources + + + + + org.apache.maven.plugins + maven-war-plugin + 2.5 + + + + true + src/main/webapp + + **/web.xml + + + + true + + + + org.mortbay.jetty + jetty-maven-plugin + 8.1.16.v20140903 + + + + jetty.port + ${jetty.port} + + + slf4j + false + + + log4j.configuration + file:${main.basedir}/assets/config/log4j.xml + + + + / + + secret + 6679 + + + ${jetty.port} + + + 8443 + ${main.basedir}/assets/security/drishti_server.keystore + mouse monitor cube + mouse monitor cube + + + + + + start-jetty + pre-integration-test + + run + + + 0 + true + + + + stop-jetty + post-integration-test + + stop + + + + + + com.github.searls + jasmine-maven-plugin + 1.0.2-beta-5 + + + + test + + + + + + ${project.basedir}/src/main/webapp/js/domain + + + ${project.basedir}/src/test/js + + + + + + + + + org.springframework + spring-webmvc + ${spring.version} + + + org.springframework + spring-web + ${spring.version} + + + commons-logging + commons-logging + + + + + org.springframework + spring-jdbc + ${spring.version} + + + org.codehaus.jackson + jackson-mapper-asl + ${jackson.version} + + + org.codehaus.jackson + jackson-core-asl + ${jackson.version} + + + org.opensrp + opensrp-core + ${release.version} + + + org.opensrp + opensrp-register + ${release.version} + + + org.opensrp + opensrp-connector + ${release.version} + + + junit + junit + 4.8.2 + test + + + org.motechproject + motech-testing-utils + ${motech.version} + test + + + org.motechproject + motech-schedule-testing + 0.12-DRISTHI-SNAPSHOT + test + + + org.slf4j + slf4j-log4j12 + 1.6.0 + + + mysql + mysql-connector-java + ${mysql.connector.version} + + + org.springframework.security + spring-security-core + ${spring.version} + + + org.springframework.security + spring-security-web + ${spring.version} + + + org.springframework.security + spring-security-config + ${spring.version} + + + org.springframework + spring-test + ${spring.version} + test + + + org.springframework + spring-webmvc + ${spring.version} + + + org.springframework + spring-test-mvc + 1.0.0.M2 + test + + + javax.servlet + jstl + 1.2 + + + commons-fileupload + commons-fileupload + 1.2 + + + org.apache.commons + commons-csv + 1.3 + + + + com.itextpdf + itextpdf + 5.4.0 + + + + + com.google.zxing + core + 2.1 + + + + + + + org.springframework.data + spring-data-redis + 1.3.6.RELEASE + + + diff --git a/opensrp-web/bin/src/main/java/org/opensrp/web/AuthenticationFilter.class b/opensrp-web/bin/src/main/java/org/opensrp/web/AuthenticationFilter.class new file mode 100644 index 0000000000000000000000000000000000000000..0599d64802551c03e94318bb6550467e36edb156 GIT binary patch literal 3071 zcmeHJTTc@~6g~rmr3(sjQ@jp%D?V%!!;99KG+0BE3I+;|Ph`3s+QIG2Iy0^Cm;3`J zn&`Vf%6N9SNDC!}ga=J{*xA|LGvB%F`OZ1Net-J`04wm!fgu9VjrOxmCS-P>wOLl_ zdRB#88Xaao^J+HVvJEb+@R=1#z7>Jx+JO{-saQNeX2AgLjv<8upNA2N2Z$Fp&MVpD zWny$ivoPd(fQmEO)g9`~6RK1yyZP<%T4B9hT+NpYyK9B~o5JRqMz)z23~P{^zOo^X zg9~GDZ30H%I)S-N>A0FF@ySKiezGJaUvD+5T$iIm1g1;MXTeS)v|V1dAR7b6JV z*=%7uZ1SRP3nS3ceAI~I)`fn#rK1Xw8-sgfc;OsP?&!ps`51LTH+|a6iyXMBDNzis z`25e*HRQ^cYH6P%DX~~A^cyte@disyQTo^sg|Rq^t_iN0_8W%|EFm|$DDA)_EIOxY z;=mIEGd=GUHaL(WFxzhmATaSx7=t5V8M$X*5pbx*p&4KZcOx*0s}m2=!?*)*zr)yv zY4c@o*&7TF|`^SokThj`QJ~E@&}J;A`6EXn%2$p@!%$kvu#TJ^`p#IM`lYeRRm6w7E7z5#M6J^w zdKbgMWzkLkco@0(523iwab{EE3}t;Xb!JX7xHDXEw-w6z&2Xd99?$I3?sqy#OYMvU6Or|iZz2!J81`k1=ivlZ@NLQwu7*>r za=JuW9@kPZ^&@bpY-XY;;LU_nfc!De0{EB(%T$Vg+@aJwj%g~@qs%&@O+DV?8D<(g zeoK}V8LozN4DH{WC*IP_uS5o~OJ&-cts3ST<_ftP>Z@jGeMw``nmn0%cuBT@TG}f* z-al02q;`*#w8HxREf1II7?Vo$utc5Tmwq>Z#vj zMJFiTTceFA!W`(3M5i#IN^g6xm+oG2Dx07;p#BN9m$UT`nEFCr6-?7T#(=Jabe~F5 zn89q)b_juwuG6#m9_vi8=H(h^ec({OX3*d>HZn+nlFX)O#vBt#+=KgR2cJ!N-iH9Jld z-iK!Zfdv0~7PclL75H{ZF;nKQrr`O_}|)^OcJh2ctSf_5ZS z+`cFFL|dCdTPHG3P13$Ed+pobspLzUCOS^#rZrMT9;yuIa^XOwa(xV2rJDo7|wTZ?{vPHkeClboytA~+hM4gqiGoyyLYTj zHl^7Mr9Eati1Rw1ArmSVb0kxWI6>v+>{yS@n_b zOAk*mES#8p%NT8HxX8TUzlw>b4)&|qWqBEI$Q^XzFH$|ho8Rh2~ z%hM@r%43)3KT8;9(J2|alH#*4DjtX8lBYnsd{T5`D+kgzlFhG|M=PIVr=d|iM8zdb z2D3PDamjy;Lbka@(hhZ>-#5z2W{-CNyWd>qDz^D;h3^_2<=a_Suld6b1?@|_(xh2U z&o;eCrKySsd3EPw7W(zE7e@|`?+L{v%Q?o!BA#hr0nbv;(d?dd1k~gZ=k=_gSm>%) zem;tN(rgK80`wSNxE6Kw(`r+7D85*A**5NHG+9@u9stuhQ=TN0< zo}Q}kP|L?U{Cqr%Mm|1<$7%FPV*%$-!4vscDuZ~Ep4JGbLZkmP7Qa5f^aGy$mEJ0N zj_&iM1G=84dn14L@d94Vzj5N=!pbxbv6dZJ%TBD9r((V0z*==;y@sZf*NKfTtgDZ} zTA70Nx`Wq;kHEU@#Hv2THJ<5x#e*wa=7(W02 literal 0 HcmV?d00001 diff --git a/opensrp-web/bin/src/main/java/org/opensrp/web/GzipResponseWrapper.class b/opensrp-web/bin/src/main/java/org/opensrp/web/GzipResponseWrapper.class new file mode 100644 index 0000000000000000000000000000000000000000..1cf1dabe63a3f9993bd7ef26cee8061165f68a6c GIT binary patch literal 5241 zcmc&&TXPdP6h3lHd`U5h(;5lWLSdHZw&a?|($I*RU_cF8@!bTK$XlVf ztyJ7r>P+i>j=ix<^W0h7ghlEKXUwoQ^&H%&=XTAwL0R34>82Sq7#?Qbx^-gx6~p z!vYISKowZzBCG)E?~T8OzyE9N_jUuGWI_C42(V8?r??7R!zIo*-|Gn-6QOn!~sHFHPi19PtwDF_??<#2YU z4s&p97G~fJET0;kg9-^wA8JNZY!`NF!WC`2)8<=~taO5>C{Dr*|93LS8 zabMzdiboWjfJJNxoP<+|I*rd|?48-?%1{~CSqs-`D;LeY9(!}Zuw-F4Z)LcE3?KLA zqJ`_KmFsfh%o-N1>sGES@J)eVS1nvC7Op91q1Gj6!*y%{ZsTtjSNI0pMD=gM_wN8C C3bP>q literal 0 HcmV?d00001 diff --git a/opensrp-web/bin/src/main/java/org/opensrp/web/HttpHeaderFactory.class b/opensrp-web/bin/src/main/java/org/opensrp/web/HttpHeaderFactory.class new file mode 100644 index 0000000000000000000000000000000000000000..82a270e335a59acb5d7015f8f8ec3ffdc3a98608 GIT binary patch literal 1347 zcmds1OK;Oa5S~rbIB^3hfs{Ae_LOq4g~W*6sAnb@PaK^sPrsU8J9+9 z;U%AjN7iOXoW)!pvdAiZ;1t`+~s6aQ}=z^FYPigARdS zg?**9(rwrxjlo-~xlzf2$23xDCK6_ak~Gt5n()*-qkd;H=QQR~!Zd<17QJUPPWMn? zuoM`ez&#o(Zm3k2rp!ijYSD{-$WT+=3xfhU2PnO8q0(SiLdkyb(0erU6 sc1sl8fIjXza1(CfiDP(-ycNS>1%p>GG!WZ>+l9RY5Aof?{av{K6C|yh;s5{u literal 0 HcmV?d00001 diff --git a/opensrp-web/bin/src/main/java/org/opensrp/web/controller/ANMLocationController.class b/opensrp-web/bin/src/main/java/org/opensrp/web/controller/ANMLocationController.class new file mode 100644 index 0000000000000000000000000000000000000000..740bd6963ff6a32a4b335c9568afd6b1c0ec0b00 GIT binary patch literal 5172 zcmeHL-A~*`5Ff(@V}}Alr5{N@wj@d+ZGHVn+NK~>N{$rCKy@5Qd5Vm^+->6Xy1VNG zRQ0X@Q>9jF``kaO>a2ZVCZ={$9`eA0&%1lGznPt#{mrcZ{^z$p0N@@xFk!-gbt(LM z*JDxrsn_%BT(s*vrjZnJ{e&LXeI6;n!;p&l#_o>GeNQnSZ4O6Gs2MPyP7S@NUEe!; zN_}O(RLI+HDh!x*-L$o8z+xX5feu+1dTlBXnyvv0?r8qL5-e(?@N6Qf80j(Kfm_+q zgWOaEvpPz}8*Lh)W!K&B2Oa!pYK=uqtsC%o`FSf|TH~0Cl|ut=Hj_xPF5QlLOtPbp zZbT7RsVAj2Xd_Ylgb5m;LATG#{@@9(OBEHlNv3<~g$cz8*Lu2PKy8x;)Py$-m>apX zAp{rG@Rni!au5kBdDx=?@p(69VXB|Rf}=rQ`3oPKyX7bRtp!iZg#O3MMzmL;geXqD^qAUKMy-{E zwme^PaaJH}Tj?QRE9Cd}f(hdmWPDvBG$h;-xgigh$ZdDykoimznZ#7!A&#UHiC!Pc z^3U>$=B6YH=rN0E;EKO!VlA=YQkQ+HU`=FQD%Fk` z$CyYHAQH>wg?br(I7JStgf3w_zburHIVu2dHcSetZsK-yGk{BtLd z9OIeP2|Fz-B6>oGMy!pgSzliH>F0`cHrUomA(jRXR$56>4U+}#D9#(FK8eCf)`L3T|C2&$&q1yGi$mik9XdeLui!M|jxhqyAt`br=@U-&U{D z3-cQm(6hb%Wd!#MWem8poYwDo!dYE$^B%&P);?=T7+eC4ykBY3nmZQttLum{kFev6 zjYCt}kwVLcDmC@4PQ$WM`>R47pGUlKTlATmDiSX$beh)C6Yc>7Q6O~5<&tK|Tncky>7ZQJl3yq}H{)IJGI*q(q}DXNXF+t|N@&j5J>+ZpnQ i1;}>`kSAd!#k@PT^dszljn6FF^D#K^DSVDrfB7#Zh{Fj0 literal 0 HcmV?d00001 diff --git a/opensrp-web/bin/src/main/java/org/opensrp/web/controller/ActionController.class b/opensrp-web/bin/src/main/java/org/opensrp/web/controller/ActionController.class new file mode 100644 index 0000000000000000000000000000000000000000..abb4051e293f7331f6ff57ed7ce1065f7116b370 GIT binary patch literal 7496 zcmeHM>vG#f6h3m?C|1)Zb(>Nsmu;s5P63-spfnDlZkmvQk}^r?3_myW#@(t55c1_oR#eOrbJ2yQkeROtkwGH+q37cvw!^c%WnX%0JaG^10Dv_skA8f zDhISpD?&CZ!e?F}{mLQRt2n|_Qn)UYm71ft@K#PHOvoEB8@=UHuTgorcfcHFz@#f0 z4JHjJ+8Qlz_ZJQ-b~INt;0ldkc9?8)hZ!(q$GDvdq_C*#uDG0eDlp)>-5G8(Uj$qU zd5k0lB&i`!nxbgOqXB}+CGK&xY`}xk5PkyQD8T$P18#4Jp5iUG;k9|d_gq%?q*Pku$znF-f%J3V=VgFXSt2c}oF-8Sz>a)WK|cU$ zx2&~W)_j%EfQvccEni4Q5YC}`yJU}%F6#pnh;%U|5#OQWZrXA$neZr$zYCMtc%heU zvKOWRj3sGScZw(XqId!TQG!sSj(uholK0Y25l8kl4C@%16VR-}ic5oFX*hi>C(!oe z4y1(?+L0WQLO+}_(#X4^K80?h<-6SBiUgt0B!+q~P%_klA#rjn%@ZDw(5th3?y-8A zY=(i-Q9F9gJto|1i|33`486@k1gr305=egzPZ7$$teb82W5@!vNqwJtNja(CrnPkrWrxwyES46SGy=W`U1NWRFEX$+Y{SZH}5e4KenmSb-@-9TvZ%k|sHK|B^dO zX5MlZJX@p+FvBj>BgVN5S$J)%^RzFVqOGiPDwFh|;$o85S;}geu+jz5HOH~-_NvT& z13!l^jBU5@YTE8OY$RK}jKBI;j~wRfZ@rXA5NEecL_zNhHHAJyl#MEw6qs{XIdLJE zfEj=Iwc@1NU@EHThDsT-k429D1l8e~#PP9LWLgEx&k4x=&Ynp-S+>1SgJ$}2S&&{R zK4%H$78K#NX}AKn445m~y`DiVgsSd8%-C2WZiTHqCUOSjKC!NW>YI5vH zRP7h;<6!@yh+5rZhq2n$gsg3C8bA^lvvr)U&fD5TbsuJjH$19BiQL^!Az$h=Vyesd z;;cO=Tb!DV4a|T`ZR&;ycok`S9BkVG2GlCMN$!KGE;d zDV~`rk8~o*ILr46?^iX;WA{Ed_8bG=E!pcz`T8INU8ZAknCrS(XcdnGlsx)srn(!DI*L8#mPxJ^2 z3lr8b?GMV^g!O?_rr5nr_y%Y33wz*r3AeGyg8-W%yI6$=a0d*Sz_YGASa1m@ag+lS zrlNZR=k)Vsn8y1gQeJ_p_&n2jn#KDyycQ54k9X@=DE?5q@iW}~9iMXWI{xan0IxUj zcRCtda2wu?=H7z0@y&N|oC6Y}S~$9c&-d`^B5UqqUr-{N%>E#(0`gerUqUqKC4U=_ZGjlThms*4c- literal 0 HcmV?d00001 diff --git a/opensrp-web/bin/src/main/java/org/opensrp/web/controller/ActionConvertor.class b/opensrp-web/bin/src/main/java/org/opensrp/web/controller/ActionConvertor.class new file mode 100644 index 0000000000000000000000000000000000000000..c032f65283cbbbd60d6251757bbdfae6c0bdb3fd GIT binary patch literal 1796 zcmcIl&2AGh5FUrp-E0FXq2;%LTR5Z~b}t-IgOE@G2`Pm`LnV%m<0LM-_R97Kco-gl zCqM!T?p$~y#5mhFL5fPK$YH%}d;HD!jb~zPdT**LY zxi*eY*-_4vchVK~Si?V=zR2=aa_Oioa$!)uvd$D7V@u0mHn*v?v`{_KmkO!(aRo6hwMcw`k$#tAllc3;o`aUIkr~D>7*Nvn^*w1vHzAk0nk6%bD6OL zY!TQvEqe&m_N28~y&Y@_7B&GpIsPvIM}n2GjAJnVfA~2-^cBK4jp#GfzT>O{bsW77 z;IoQjt+awm(7;(0F2fqGc!c|7#AAf@83@4`p)x*q6|PO4^J}H&>od-+oSdt`O|-1Q P2HeGWh#qgj9oYO0tl%hn literal 0 HcmV?d00001 diff --git a/opensrp-web/bin/src/main/java/org/opensrp/web/controller/AuditMessageController$AuditMessageItem.class b/opensrp-web/bin/src/main/java/org/opensrp/web/controller/AuditMessageController$AuditMessageItem.class new file mode 100644 index 0000000000000000000000000000000000000000..bd1f4d77df9870acaec36b25bfdf806ef681d358 GIT binary patch literal 3886 zcmeHK-E$i?5MQ}&E;gZQ11TTjLxdKb7JPh!7gEZU(9SqqNG1uL;ZeR*Y$bQnRnj@h zU&ai~z&n2tPYkQGjnBCCIaBlTz=Kb|y`O%&+Fh+yzyAK?&j7FqpLtLruy1teCrn8H zg!P!ObjMdImqw@l8E^Zcl2)rY=GuRdMZ)fKV_1i8|0%vz6t^r-Jg5@5o|DB)cKp5e z2@frSsuc+*P!GOlmLK8&Edpx?nRMco>lKVJw z;hvDf-Y0OoF*18+Qf01a<1vA6%5gI)cWl*d6>$%45?CG?{7`G97vWV>`|UfaxlwVC zM>JGPD&pL8G}Q`SnV8RMy>`^)G~!{*G=fqVo?`ImI!3uUh;kF7+#E%Dokofqicz2m zvtgH7B;e;MhOkJ0Nz-&m({y$L`kvt) zpY+dvdId$lO;3h8titO{a0Au|tTrZFSJyi(2Y4cUnH$1zG@uG65G9B_q!uf8kICInu z=^DKL;fviSbqw`7db-(u~*<0J}Yn=-ow$Yh`{@>f$W?3zJx2k10O&WK7vpF E0D1)buK)l5 literal 0 HcmV?d00001 diff --git a/opensrp-web/bin/src/main/java/org/opensrp/web/controller/AuditMessageController.class b/opensrp-web/bin/src/main/java/org/opensrp/web/controller/AuditMessageController.class new file mode 100644 index 0000000000000000000000000000000000000000..ada7aadae855be82efc1d5f8f041c0ffc8a1e541 GIT binary patch literal 4274 zcmeHKTXP#V6h3R*ICf1F0_7GiYAE1vvAOh#bjpO#&bZ@{OcFA~0}t}9YAe}YEt1x0 zei<_`1MmDIo)|u@op?=?tUU?P&h$aMlJ?W5bF}BCKmPjVHzK-2UskB((bq=%t%%FG zb-)L_rF5^Q5)m7nw2nl#<*V3g6^25$*3&@RO<@f0iH+0g3Y9%t%+`iH?zOhM2g0`= zRk(vI?NPOptyFr=qq(~>miC@U^~UM!>b^(IJ85iXB--&n8rcoSdK@dutyHn`=sK`g z9Z4+$aFjPxAS(2tM+@U^?`y5}JS}+DKfjN)Fe)5~fcYv)WSG&gL@V${<||gK?)3!= zgdcJ+vV{AGP>HQT_vT3VCUkF(bzfnD5{5w}7IEwMnFWD(oIuk&0gkfij&_8W*Y2BiT@9JpaMS4?k3SP?mf~x5=TlOK3{U7 z8Dv%^RnaMBu++-%%7Eus=r{cC$4tfpbto8z&-Eu6rk6DfZUvI=h@Vnn z>?ThVnE8}oVfzY^>xqakJkSBxk|U1Qsyo6YP+feZg5z`H!}IS*=zkvL5Hb>Vo5L3i zpzW>ukA0E2*j#{|V&8mHDPWtG@C{@s8vj2tn~E zm#1w-w06%4+L=sOn3{{SWaQDc0S{Bia08fe)&b)7KkN1^fe3`(i2~lO%Ti(X8SCoE z%{&e5zT=&z54_Ua6lMFQfEQZ>^5Zc1KF_DQYsKtU*|U&O;YPbE)xLNjol7t0?R#9L zX16k!US~YzEU_KOLT`lJ7y%dj#G~y?I{g#w1>ed`BIhI%OtY`fi-K1Bux!34*aKC|m8DHL{x6mum+Zlfiy>~Fag|>oL@c?-bos$in saKjDXKV!pp&)Bd`A7V|38m9`ZV*HWg0r$sfpF+ehFrJ4(O$hYa-%JOLK>z>% literal 0 HcmV?d00001 diff --git a/opensrp-web/bin/src/main/java/org/opensrp/web/controller/DHIS2Controller.class b/opensrp-web/bin/src/main/java/org/opensrp/web/controller/DHIS2Controller.class new file mode 100644 index 0000000000000000000000000000000000000000..9976d9a61daf372f8105d2b356f5a88111844a13 GIT binary patch literal 3186 zcmeHJ+invv5FMwXX_i1sxnE_)rbjM-DPc7Rk~SK zF_%Wi)ji&*`bt`@!jS9g^H=Nj`_DT61;`UvNGF9%HmjSBUG7@~X9H)q+H7jxWR~Lu ziTz3wIA2R428UJ%T--{e6%k*TZDB+sLgMoH>3#{q3{dboh8?GBbP38aa&kj)*$UU5B&L*WZcO%ijBNiB`liPIR(L|9&?!q7wpd`C!3$Q>NPHcLX=Yh9rm ziLq`3ttgW&gEQbBNUzwD-k7jPh*Eip+ee!wi4zUSrv%MQ*IFaY+c4E3& zldiD7Z!904_4X(FcUJ+QVDW8S!4)W}vGjCf0Yt^ILv=tRg+c}4^fi<@EoLN@qGT7cs_XT~H zmuvk@p}p6k-xS~?fn$A1N1#|2O^Hls4Ep8(z~jO7K0(k0^wTR!?3#^I$q_ixW?_P0 z$2+k&ZLQ3~HIn;0L8a|S9=Sh}Xr8HAd#uu&6etWKa&hE({fB*a|09=O$Dr6M6 zCAP=h(k|I9nU2kwV_AfiDvUX-&J2?*^#)a#P+%sQX&H92 zw7&hAm|THVU5py#WRqD6%<2(QjWcRD%L<$(J;)ki9cmH<&gjuP-9ef4;Q$%@^f9^JOcqHR0e;MB1_1*Y_s9st5kEIAFL!n6X@ z5nI8!SvajIS2k@%Jjd#ghGsf#ms$ai<}wF?+ultrpNsG`(-2E(+eGWl;*Mr$eBUMc z+yJWyv^CmxErODfdk$+G{P~g#+yulW-{VeO5LOzLJM3`sJe-0vQ}7y`RbX;nm}o(P zvxQ+(3j!;h2WCWiTq9yMq(FMbTil^?&7;XybDQi6;q0PUwq1 zcXlZwjdB*=Qf8_nn7iI0T7#IDfwMH%Fn5e5(Jo=M6uX{Y#Aqo-(Q-*^IKvR^)w%gmPeTS z8bxgtv#Uq~!8B`MqjtyHA)0|%qBV$+&!y!$Eqy9IFIVcZ%II|ScRsg@MU}N^H?}C* zjU^9@A~bIT#Ym z+;JNF2?8IGRE7i3{{b8+A-Kta{R;tzYYU~0LGvlakOq!y{NXdC&N6L-YfCty%?^3wp3UV$aqhyt`nzFYgCj>!Lf0cet2x zeT$dphTDR;Rc!{~;SpYe8xrjdPm?1x315uLm#g#jn|(9Gdat}NEPTBls5f78d}fk+ zR5T_pM8Zb*)r|lmbIv@R9Ht2`p*(7e2ef0RZZw-D%6mxfxfc}n*)9N(82q^_%wx|C-HS1XJqg*{|lV@es<;w%>IT?890aU zf)3ysypHcv!S_6zhYR?mVAJ@GKD3KCHjMVB1Z_f!_BOoJho<$R2@XQu-jkr+mZH56 zAD~oMaApPyfy6>`fjWn;13n|<4<*QTDe}iDk*`XSn^NRbO5{%@$oo>{Yw%f58`opC z5&3`&`9~@87kxb6h((U{EJOZDiu@(qjPZvFv|#8DGPEaBv@*=cpowUSNBdohcB@b7 ug=dudPYLodxQ*Oo;Hv;r#NHx4Z{h1aj@*H}a1ZXo*Pz21Y(N!lTK@;S(tPRw literal 0 HcmV?d00001 diff --git a/opensrp-web/bin/src/main/java/org/opensrp/web/controller/FormDownLoadController.class b/opensrp-web/bin/src/main/java/org/opensrp/web/controller/FormDownLoadController.class new file mode 100644 index 0000000000000000000000000000000000000000..73ac33f3cb2a984ba275b04078fb693e2532978c GIT binary patch literal 8529 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 literal 0 HcmV?d00001 diff --git a/opensrp-web/bin/src/main/java/org/opensrp/web/controller/LocationController.class b/opensrp-web/bin/src/main/java/org/opensrp/web/controller/LocationController.class new file mode 100644 index 0000000000000000000000000000000000000000..5f71ab509a2769414d0501041a61ae84ce6a26d6 GIT binary patch literal 4025 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 literal 0 HcmV?d00001 diff --git a/opensrp-web/bin/src/main/java/org/opensrp/web/controller/XlsDataImportController.class b/opensrp-web/bin/src/main/java/org/opensrp/web/controller/XlsDataImportController.class new file mode 100644 index 0000000000000000000000000000000000000000..b4ce17c88a662cfe80e0f4a31c4f42cd3fd288d6 GIT binary patch literal 10331 zcmeHN+j|>F6+f#uk*wIUb7|5fZP}!ywP|BRNejd#RF-8+MY3E;cA5ee>(#{CWTjPh zS8~j)+{*o4uH}9$_dBGte84kL`~&IZbK5kbIvkotZPgbLPxB zXJ*dium67TPegQ*{urf*LJv8%K3&s{`t*6NrA=G*`n1(xb;oW@Z?Ls#-Kx8`Wtz;M ze$;g4HCM~j8kX%QgZ3y5DKyRpn_7K+I=^8?VtY(AMNW%5f3?aPMUMb|d!>oW?C z0>W{%y1S~GO%|hJZ-}L9u3^;`8qSp;OJxe>%zTXE3hmA1OX*ahyi`b*msWCfsX~nQ zC=};(v$n=;0H*V~RCyth%w#jAvoYH1HCZ)QUeI*IG~7)HNT$z}mlC;Dj1F`tt;Q4@ zSL1I!(xkzH;egjG6sciZ$8xDeF`FueJ#e0AjcJa_urRylVW09s zzK~0lVssiHoA`Gkmpf6Zz{b3{l<^#+&5}@Pf5@Vy)2C{+Qx1?ub<==?MP|1Q&kSSP zq}TwdBdjGd?8&AC8vWy5*$zW6LCXHD_gyk-Y{9Z?nhWOv z$F5nUZn&7u{S#ZX=$6@wKDnyU(L%HC0x?r>8IG}LvP8WO1ACF>SuC4qy4HqavkD{) zC9MjJ(lX{725HK+Ejva9W&Ej?Iy}QNTdbn$R;^)}97b)}7I16MDK$P^sxr00bW;PO z+R*e1+B#E@Ba=+EGszS($yAt0j;j@mIVx0AF=4%`!b??lse!a10w6I>d5LMt(`)J~ zaJ~ix&r7Pu=QO+=bIwL+Z&>yPRoA@vt7}Z{%%y7x$2Y8(fX%sR4kWed8aD)^w>TO+ z1nb>rO|&ESZcb}7kdgZ^`$xl@OgHUxJ#ztXmJ6eb{@BoZI4;Fvo`n3f|!0 zDS;5v2JV=qp&PF1G#kvu!4o${yQ#aDt@_u?iAmLP)MmZH&KY%9nNo92$Mw#Te3-eZ z8ugZSfvFnKeYgUN2=U>U#~QpmwAfaHUd|UwS6sQ4W*Zvr1YXj28dx!w!X?Dryy5_V zhZx9j+FCAaIMVmQ%Qa2c!2QZyFihDgQ*^W9BiYm?oi)6RQ9oF%(TBr#%sxzM&8cED z?8B8Tt`?YX*|>7`++0NcuQ%U7YjM4WUUxixY42k>o?83x3}lTPn`zLs`QKV0PI)Sg z(8IK%&@B_awMDN4GM2@@;Md8naON-X2h6ykbj&gJ&p>Kn37N^DjMr`6d-Nr|3E*u*X*NI96OI}n_<-Ht^z70O(Fk-c(YF!t)pi-^>1 zhT3P2AJP2dkV2{`Je#m>Z8M9KI`r^4;J)|DS!M%GPmA1peJQ+n-VrhiZ#OEC&EFmr zx?7e-dc!G3c-L6yZ-GJ5A*!_8>b#uqKO5M*w92<8g>LJbWP9$De)ShNxPuQ~VjE|y znpT&LKgbzYHC;E5L2$s~xLDnza$s&`#Q&9hXWPQPq~hzoXj>a@HD{qzZFv>fj)>j9 z$=fqI14zCn&t$ofUb{+KIyaP=-oDTXk9Q-_X7g*#%xTGxUXY;bF5&J7h|zloT5f-K z{k(mTR;l>=fytmJ4>N9|wplt-6}o+*ZE0?=&a689F?v#=RDUPr*!`3mTW4TOb)$39@LsUkju3Lp(}%GGCN_ zj3?X<6+8|`>8CiY@!*cq&!G$d86f-;FM3{pMCsRn?>c`*>9=^Cg+Ze9dmIb5mW-nG ztU`ObPpDCP4xC$K5JGc?;~?ReP~>&!7y%dmrQlXNOgm{8s3@oi#X!dedN=41fgS}t zCeY)c_X+fV(6orW(E3CLi=_1+ESvkG4QpTkSO=<}USDlS=K#H)j4TL+T2$yIxu_v*~k|KR* z@YRmUSNp@;K#;H1N4A0RpmY`=-3G#wQiP9f1L0{Y!pG?o!J2$BSd%cXNa82*j1=ip z^yvWUGXYYV0cA+fN|8QGp9_$l3XnpbB>5#G_ubFa7lfGJ75J=7mw!ri`67KuKnT5F zhVUOL!k6hQ0zx-0_fHhq`APtVYg=qL0u R`UU-penY>b%h)^q@L#`-$i4so literal 0 HcmV?d00001 diff --git a/opensrp-web/bin/src/main/java/org/opensrp/web/controller/XlsFormDownloaderController.class b/opensrp-web/bin/src/main/java/org/opensrp/web/controller/XlsFormDownloaderController.class new file mode 100644 index 0000000000000000000000000000000000000000..831e44ca31db29d038d72f2f761050991c5f84e1 GIT binary patch literal 5978 zcmeHLTW=dh6h7m+S$ktho3>EeBBr5$L&4^f2SgB3lnaftAyIAu-X^<~c$(dvWoFh+ ze;E=;@Xn7yoUz^5#+O~EDN3b0*xp&6^X-{){dWHT=l4GWU~18)eS``%IQRj_~clzh_|FVr9QL!r$?N=+{>$~v`rE+3wau`n44U1 zsS)9&3Z7-5^|?Ne=F z47trH3572V)oH>N)@iJbN_`_0?R1&yA{CmZalns7%!3-;O0}^i*H#N(P!TufDW?p} zq%nx#mM>`h1=XhV>ksSuV_nl^N-*qEZg~qkT(}Ykhl01pig%*=%$USB+>o2DAsGq> zG5Xv#9v-a6z6>xI*3W#N*j}5Vim8(!v1e=_%Mj{BI78?e(~bZ0c~iK2s(|lo?_Edy zN=7_auD-EC7i?yh8AaSQWI#{2*}5;p=R6$UKc>+USNnFZ5t#R+&%(p*oa^2!nub7< zzu{fRI}5%alypP3c978%cvAI-=i~CC*B^b|{Z(AwsT8@F6MQzU&;irW;6~ zuVj+sYPxT%&=4u;9s*4+hxS3tHQfmMx;z1=OS}l&tu78v))IU|$TvCqMy_0%H0d&8 zmka-@@fIBRdooo%w>_A^Br@AR#UoJhdi-|TfzOb|408$xYAD%12ORiPEI&k{-&@YnqVDnHM^ z{Ttl+3s(iWgWp!pqTI#rO8eS{d+<*C-n(!gHQ&Q)i~Zmn_YvM1#{FOfE***ccq-h5 z5x7rB;y!_oa92HhU)pGQ*xCEXBd~rMfpr6_s8fK&^F4ox>#y-sL2o~W&(Rxo`0`(d C!N(u~ literal 0 HcmV?d00001 diff --git a/opensrp-web/bin/src/main/java/org/opensrp/web/controller/fake/FakeActionController.class b/opensrp-web/bin/src/main/java/org/opensrp/web/controller/fake/FakeActionController.class new file mode 100644 index 0000000000000000000000000000000000000000..575126a748f17ff7cc10bf4f9b2a8a9c4b50f141 GIT binary patch literal 3020 zcmeHJOK;Oa5S~pRX-uG{KzT|mr9cZPKEMG{gj60yl~O=$sl;*POq->)*X*v-_Lm`n z1b5E-9>lDj)(r`yfCNZzu)U9&Z$Hn@x3eEVzkLq?x8Y_PN(>$t9r%%uvHwc6g|GCc zuM&)nPW)|b_<@S8R$++R-w<2qFVbrvuu{bj_h-s5%wQsO4@JD`KWn_gz%uYe80NNy z!HIgOxq^u@(ki_>&tUYPjHSKLU~0C{{MF2aUqVC6^;R+9;q*+ zR&7g-O+p)fsG3-YqYTCiHjlMddJM+d$fp;vMx(+uHhG|;M1~m*PqZT3$lT>#Wvzw0 zi9sj`ktZV95}U}UDJr#2RB9BJS`n3+i^?=_Dm0vU@krR9#Vw)WPC`*Qh(eLBxk%R> zx!NGioQsSSr7b^T%md*fz#GW-{^mECnncTZb3=;=x0T*H43U4>g)*#fgbLmCndVk; z!R>B>UZqDbgY5T|Fu-mpNNFrl@?5#Ib6gsp#!cLiF*a*_IW^Yh zbLJNAav8VP7IHyp*y=|33D((RVv18?0Q(huouaYJB1tG24{40HrAYHV!pXzk7Fr5A z0ldlznuNlE4^(sao96lMtXe0A0Y)9N&jo2_faxE>d%P21;*Qb*BFxNS~mw zJcE(82vhpuV`Nk0Hd)MkU01UtMT@$tz&gK7aM|?y7+hwhTZgEl-Hg7!g(SON)Bj~! z)bs->UhMUNIR3>lr3_wGsSa>aI{lq3WKq<^>|Vs6S}%s?%P`B}c+ZcO;d`rY{w(Vp6-KvrVsWI X%#cqBuIzKYO8p!3jM0kMXsx*~j`rYn literal 0 HcmV?d00001 diff --git a/opensrp-web/bin/src/main/java/org/opensrp/web/controller/fake/FakeTimeController.class b/opensrp-web/bin/src/main/java/org/opensrp/web/controller/fake/FakeTimeController.class new file mode 100644 index 0000000000000000000000000000000000000000..a75f55c3670268830b1fa6a23fdec77b0733a7b9 GIT binary patch literal 2128 zcmdT_-%k@k5T2!A+Y<#*(1fTfqL!E5i%-@Ve?dZ0)BuwBxV;YT!rkt3AHF0#^xx5}W^aSz)((n%^~;iOhPHM$jJVjuCKy4ywG#wZqs zK&glhMF;r`DXtF`*GX}`P+a$lS9n{a|2_CQ?Yh!3c;5Wme$-%4w&;A5VsNw897M6P zc3vKX;4F5w4A&W4+$^HWV0k-Jj(9dzPg+S@pZRm0Hztxg-yAI@ay-)$aYk-0lc^{h zGOYg0l;i`cl1q{=Um^2nMswqP;cBuu4@o*j*X!k6eiTAkvC0X)QH~UFvxj?f~74bPoee z(QF1T&{)pz;imf!}> pJbszpr@T`%@AKXo!+U8AZwWZ9nIg5Pd@J<*fSw9@TY|fA?*|(Qr9l7y literal 0 HcmV?d00001 diff --git a/opensrp-web/bin/src/main/java/org/opensrp/web/listener/ApplicationStartupListener.class b/opensrp-web/bin/src/main/java/org/opensrp/web/listener/ApplicationStartupListener.class new file mode 100644 index 0000000000000000000000000000000000000000..d3dacd9a9c4e4570cee6420c638af8495f246122 GIT binary patch literal 1947 zcmcgt+invv5FMv!lWbFZqg+~`Zn>o(B`-YDsv-(SL`pAeLM5J%vvCu*yY|ZKP1`R+ z0tw#v0=@<@-Xt`@MyaU8gS~5e=6L4J#ovB>`T_ti;CTj81j?ayOFk2_bi%r=E%hSJE?i7ye@B1SNVbPVtZ+zRny~s_>wxgMu*cDcRi+2C}8d> zYje7eZWsG*7t!tF!0mO~Qaq$m8R|3RcBnyhejcEM!|KRk(Q;U{RuxBr^==n_ptPY@ zDhw24GndxBDwNlR)Ecu2^}4Q1UR-NqP* z>16o1IpoJkVTZSNy5pVdCF2<2{Vvy9wD=gYf4ctyi_A{|c5+uTtv*uUff-oHg9D2M zmI{B@pDn7{8irsm@|#>Y7}kj`ROK@7h-qQh{mr!Lh>$>~cI}3NRllI*P-x>A5m+wN z64~3dR<0aI(g>edWmkj(%_`eciR&A!a%zL{Y-Zs;f$vx71Otr(-iI?j(WEgtqXTl? zfTF8)6=|2h5jIk*LoEK$mg8PTAXgV{$xNhC`qfYZ^s05UHUu!Ju&ohc*v7z3<5|B` z;A*KVU99Q&Auw+R*G#*eiwry_u$Taxfv2dGNN5H&etSfEc~2m}E5Z@5QaU;j%}=r&PWB*U-4?fK5)vBB1!$W%2ifiV5w(N{ z(^dehQr>13)nL{L`*j-DG#FoJ4ig(1%%}hHZe>q{o0XO$Sd*5VHuG8Cra8xP1rf}3 zd=0J{xt4H`8K(_oO61)J3NnqO^aLq#?(zwk)n*rV9TeQP+q9uuZqs9SK%;xyMc$^r zs;4H+L#j8ZWfNr7Jz_m02UK4|{WBf?GpK(?>c6BnTA76!eF)tmQdhlB^{(8n12iy{peG_u{{Yw$%)U_INgSJ;p(D3J zRB#=q`A{*_V z!HvQ>3U<3qIcE*3G<*!GDrBU^fL@kx;kcJCoWU^0hF84)SXQ#zMe*b~C#MQzk4lxQ zSu5wZiswq-CY%v0F;bJ8rHc8aR>+wu;K#*sp;%F2%~gxFV%aR2`?XR*p~FQw^DFEx zN}>&?uX7C;t|&W%`?PpsQBM}3G2m_#%S^dR$pyoeJ*0q3f{9ghjI<-Ury^&em{WK8 zT%&=du3rsS76p5aj4u=_#cH)??(e8XV19eIY*zNqwOTK*t0u;DZKtxmS1RX~sAaJ3 zl?)^ISP3pA*{>B!RkKpcn<^6RZjJ&sw|^)rvMNFq{lmy%`rO@7%!x`%KnU8!oq->r zQfe~peK%->Eo%fr|C*$jN);9orEI07{|NG@U<%%vf+Wmqa6N7Gw$0%{YjO)dYcPkF zTg^J+M$ug+(kq4x4xH4>lz*yeKV96ED+H%f++7sU|G4x- zM-MlscoXg)gIFIf!qEFWZjm~xwfrR9)?j9^0MlSOZJgVGy&FT)Ycg8mk4yC$r5GBP zJtjj9>K_B{M(CRYRB6vOazQz2!TP2E?H<7ghjhIPTCu9EVp*#QeJu)5%%e}4EhyLE zMr6&@$)dN;eL0XK?`iPotCu2`R^M)>Q>fapfUE{ztsXI1&Mt&q@!&RS3_jIpu%=ST z4jlIO)*20_jNTD7);4p-;6XGtU2PM)g`cbNc03dy3EyKSJfKGs9$?`#yhJ1+hu^#8 z+$JGE@Zl}A6$-G$d>@Y)O+3%`;bYL?3Vz_zU<|IpINl}kJ_!@}Jc&=^_>{u`Yk1v9 z^eub(1`I(<#?m0e`Mg-e(B-XUZKXfB3SQ4vM&Ei8CN6OK7%wQUb7q6PF|1!ju+}436X-3{reAlY{U+c|VavDJ{vBQgyk^jE NR$(1B;34X@`8QO@$qxVk literal 0 HcmV?d00001 diff --git a/opensrp-web/bin/src/main/java/org/opensrp/web/rest/EventResource.class b/opensrp-web/bin/src/main/java/org/opensrp/web/rest/EventResource.class new file mode 100644 index 0000000000000000000000000000000000000000..3c179e703409ba107ed67353e84bb6ec7f1e90a8 GIT binary patch literal 8355 zcmeHM|5MaP6n{&RzzL#MtySB`uRWah&RXqEh0+3o+D4^-SZlv6x#cdHOVUm5gukrQ z@4xpC>Mxz?^s}4Xk%MT0qjhv(=D1|6b4kdyV+%$HERB@B|HzS|rj(lXYvADxMx$Fi%t`6XL3)!N`uVO0+I+VyYNqWs z1IN`$n1S@6RWrP5mWGxa!mJ6~ z%m`h@MgY>&U9pT6wTu;|Q6&>79@S|EzKl#Q7Kx3>w7KHRToqmI=r)Sl=b14S4J z1BuPKCV5jl^5w&qwoBnXq6J%#8CdPx?kgkBAZc}=BwgZo?YK_P7&+{15mV!s3tTlL!!?c20dKf)i4$E=OUPx#j#QJhGL$)+D z>+&#+83yM%VVKGgOdEsNF3AaUM0>J>99fkx6cCwdIc_c2V6TDBW#kq)fE}@Am@76z zTgWIETBjvBxZUIL+m(ar2*<8wXF3%d zdz(v#BmYz0FAR{AiW$F_wTaSu!*bx{9)}qF(jxS{gfs7uG>4o%%A={!^6zx?In3gC z%8@8EZd@SALAt@i#{W6qQY#3g2*Z0^de}K(j(P>R>a!Iq#%?huQcSZF9iRTwg6DIJt8}O<_4cWPL*~(Q}lV{{{b#A3c4 ztVpE4>V{)MqGTr{M}UiyU1z)FFjPzq#F-{mP2D{(I$D0PbCZv+4AON*^ZBY4F(V8b zXYNY5Z2y!T8l|}nTLk+4#~=#_0oE}T-9|>|p3pyix(uv2E>@q>@l0z=hCB1vAJbT+ zC7l${J34aE=OT<+x9O`JIMX5_1Nv+gG*SoQu(ef$nJ@_P%1BRAXwX-<0n@`8giEvG z^vP_{H&{uPI2-gG3}UDAH|Pfh9J*a^CxceeLlIyQ0+oTdieS(h*zVn{1~q!F4dbPT z0?AdLN|{4CMT}m*o@^L#A#!MW<6}XVBI`>%()5b~Xd; zP6k>(ou_x9MHxN&Xk6=9!qWx3zn4N*+Qi83XCNR3J*^=u^6A@xgT#|B+GIubCz2x zkughlC_^tsx9LvTj24~(^-2b6KYa;(`)D!Ic1hzZ!(Z0(Cvxz83|sjw-J|>TfWD>g LiIa`_39A1GRJB9e literal 0 HcmV?d00001 diff --git a/opensrp-web/bin/src/main/java/org/opensrp/web/rest/ExportResource.class b/opensrp-web/bin/src/main/java/org/opensrp/web/rest/ExportResource.class new file mode 100644 index 0000000000000000000000000000000000000000..bdbe0a8655f3f06d0c50e73e05868f1fb2700a53 GIT binary patch literal 2795 zcmeHJ*=`dt6uk~@ryT-?mc0eJWlLESA$TGPsZ_0~G^MDU#G^CgCT?fO#`dJ?@9+~y zAi*Loor^cL>MDv zx+C~OmB835kqY~o!1Youz`_oJnT;&9BH^oPQy5W;`C^(%%Pf)@0_TIp%*q3yd4zN$ zOEN-5E)bYJRb*LfsmEcGjDFfqQE?eJc|=2*C=us0RB4I4iFrx=iLC~w5f5XAj8w63 zpVc{?NBhf1_LtHAva^4lMv@zf%Fu+_ut6<~@|HrY&x)cW%g&Kyr%|~lQTtSpICs)B z2pTeHE3I*Qtak@AXB2WEnB^@y2(Z-;gRuY8 zB1kU z+zPpJjj<1Sb$w9eK+3MJZ(9+Y9)}JeS09RSxd+bmyfizcdgi2B*WK>Ol!JzPtZ<@Cf(2bJc?<9T&59B_ZjW zyNadtEgUii<^Zp1cmX6(fKeF3zXJYyFpl2|T#ez%$M1Q3ULdl7U;ireQ|--oMkE#JEiH&F6sjw-+{n9Z4el)Qs`bNF<#&-Y-T?ZJKy?xB1E Y?w@czz_sIjicb-3dI$@6;w^am8}yHf5C8xG literal 0 HcmV?d00001 diff --git a/opensrp-web/bin/src/main/java/org/opensrp/web/rest/FormSubmissionResource.class b/opensrp-web/bin/src/main/java/org/opensrp/web/rest/FormSubmissionResource.class new file mode 100644 index 0000000000000000000000000000000000000000..09add12b57e56f562b17fcaa6e45aafbb09d8917 GIT binary patch literal 6166 zcmdT|ZC4vb6uv`KLKX^$)@rGC#j2s!#FzS3A{rn)a@-aU37o?x&SWzr)9#zIvjO}M z`gc4>&(ZIG@hA8{{NVAP5kPS$yaUyBgGO?)%(zwwUh*!em*<5SR_UEb26i z8}%p5lmv47ewB$fHyME&M%1_ak0k=*CGK#!OyFkz44cIr0`pseBe~7ioi_J*-C||O zaV3>V!zVCllmqD=aKRdgm|1ljNa`AanG;eKAzU#5Gi36IZ3idgT5ZjK`|=C0(E|s+ny_=-e;kkRLxbdGrhF%1m^$*qwZ9wwnZ zyIA_3;7)U2P@5gN;%OQp&&Xxfb);}Di-{N#x^#7_%Oj6zxh?j6fU^w3y&Z`?T&$K~2mHCR=VpM=#m)EJXpA3#MRHvV3%S zv7__n!yxb)FPMSPs4!dkZ>99q_GmE-SGZUhhiG6DmMv=B-D(qjjyKQ*yYpb5$7iF> zgy0P}6rBX)s#NKkV02l?MtLNV-gf-JQ-y;yHasT6f>t>+nWqY5f^W)58ys_euoU(0 zEve!=Dx9(q^e6?`O1WCut30l)*LL^T*Up?ln+i^`{%g6)4qETkb~h_2j5oJ7cGlM_ zTj`)vhI*)_AIkW0=wv9$gWKVm%hIWEn^gELt@u+(HkFa##%?XAx9)ViaY~`2kpEDz zPBqaBXh?%8cxeiERRZb>G>=G0)d>S^I#Y}rskiCySV2>g9{7dlmxFSL_t)v#^&kgMW8A5~$mK@j%I z2&|?l?~%sBU}h1RGEUkfxKqy>(IyBEU2RhCGz(v2Sr|-= zER?Ycsg^$rtC7xVC$>oFk?Np2%^LPre0U28T)|E(fibuWWv5VH!SAW?S%d5FYB+WSUh6}99mfXIZpNV9 zjzzl#ZzQ6<8H08=7EQ+pT!97TGzM=U&$yqXnpbDWcVbYBv8eB!lVd3s?LEjt1{RS= z1|xg7%l2L@+mrSAAck!@7QYA|9>?IL1k{gXP``^o&7fLTOh4_i{Vc@QaO86w{{la2 S_?brCJb)4`!#6mum45-Yyt;@0 literal 0 HcmV?d00001 diff --git a/opensrp-web/bin/src/main/java/org/opensrp/web/rest/ProviderResource.class b/opensrp-web/bin/src/main/java/org/opensrp/web/rest/ProviderResource.class new file mode 100644 index 0000000000000000000000000000000000000000..4f926c9c0a0a4d58ca7d3d548ded0223c90697ae GIT binary patch literal 7775 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 VW`NJ}nnB|}gpZ*F4`B&D{R_ytA;ACu literal 0 HcmV?d00001 diff --git a/opensrp-web/bin/src/main/java/org/opensrp/web/rest/ResponseUtil.class b/opensrp-web/bin/src/main/java/org/opensrp/web/rest/ResponseUtil.class new file mode 100644 index 0000000000000000000000000000000000000000..07a3480cdd7151a9570cca61fa29789da82a72cc GIT binary patch literal 2846 zcmd5;T~8D-6un)6-5pUr6#UkLUkjR@nD`<~NKi2$E}FoCF+O!?%Tk$XCv6Atmzijy z@4oqmjJGrEvf$`02@gDMcRD>ib8dU?ZGZgw@(lo3<^e#C_IKe9dME8X^0 z%%#z>zt5Y#=EnN#+{8*6zG+2RgdqasDK=!X?Z0h)J7N_!q7=`st#Yn3z(yCKb%_YjdDxz3vOH){a zG1GuaN8aT0kLn{pM`dCyWP4k)i0>=Cn>%GSibD|yOHC4Uje$#JbrM*mX|{}&IVucI zWQ%VLiPE=m1fN+F+Fo>(t|i905kyfYU91^#52aUL)|!2)3q<~{pISv3wVz@>IBvtb z5c`m=VoXe0k?!ZpLBQj5WB;#UH4J&1h08&}jTv;(sfU-uF>bGU$F#&aO`kxWJtJ;+ zRExH`eGxKa^0v=e(JeD=c;)AuNtZ);)LwbxWZyqyyK&mf;Xw&5jKVNnBrsK}9~O}; z?wTtyV|DcZnf>)|)dOi{x7MFta)+ z%#?o^3|*B+fv*YNSWmF(M|@T82_rE1mfew=o&uPAll9{Zf>Va~SeWn<+#}@401iCP z(8q{p%wVU#!`_BUbiiK;SNJCWR3~@7q!*kbRIqGx{aS?iBlos!c?gWI31jfMYv37W zUh+uq~#yMb`)LzC!8!r1u#{zhkceW7s+j;BOq;(F_F>Fp0e~T!PEU zG?k(XFb!AXIzAWRM#?&mV+HJItT%I5%PFhFIIi2dTz7J~?&fe!b-4;~KUMJn9^t<` MWFDfjX=I=K4F{2qVgLXD literal 0 HcmV?d00001 diff --git a/opensrp-web/bin/src/main/java/org/opensrp/web/rest/RestResource.class b/opensrp-web/bin/src/main/java/org/opensrp/web/rest/RestResource.class new file mode 100644 index 0000000000000000000000000000000000000000..f92235ee4897f45f5d56c262112ebea1488639eb GIT binary patch literal 6215 zcmeHLTXPge6h0k7_F^s&1tNl(L<%L^tR`frc2>0%g}6F5TJ_ zzRzo(+O2uMa0BJno{8<65`nI5;)cr$l`RT1%;-!++v4tS?ZNgFVQWSsOVX8knbE1r z++#+=cfBTPON=JEw5v*asz~p#((^|yID4&q(X?#O@nwr^>A9A#yzQ27f?HO()YubN zQ`jx8K;(1#Dc=>=EEKFJ3RaHI=-j06_IIipe>ubhWWOz+FGXxLoHi*2oDAk8N~u$Nq2WgaYsD!)YErcUg`h5 z9$R<(mb9g|g3uQVz;gqwLR)*vieX%tvt(d}Zd2??7tqu+3mE89SFMdO(B>CV zS==>Piy8M2l}nrAw-D&u;J%MwX2j6ap2aPF=!-6~(0d+oA_cgZcAqQBks;;MhGt25fl9RUlRmY~e?p^<@>MFYQl)BNFRj9(M+~AXk#* z@crxJbG$KpU0UYhQ>G$~jnZivXLPPo?~Zu!=0!6CPSnvI?}yH|Pz}?w7){nao448( zGWj^H_hi86di{ul=pv)@{ru2p5}r4Y%5168SX>6jlC1>S;=Xvs=xVQB@qDm2*JEn( z37fX$uFG|(U}CWXPII^zeY6?6S~_Cg-Isxc1MZk1CYp0$@0of6gH6T>4IjX3gf#AyCTRCKO zsZvjOT$FH=t*E5s&TteI=u0G1|HQ;-<`w(nhEb%i8Jj;r?#?mnq+K>Jg!uThS5Xnl!`U zSyYM6kwA1L$EdQ@xYfffnXs1Ap9-`N{nAh^(9bw~G$=37M&CJQtQe!wjrgpgfoU-q zo*^7q;xv?K6mO?#1or|~Yxv6WEdNEtUna|c(CBllPSFJJhK6vR!QJcv6`iF?Jm2s8 z@&Q&ubdJu`FkOh=r|3gG%lLW`&&#+z##LZoGHqUP8Now%#)7R3!Dn*`CYq&BI)blc z3N9Hz{i2O8V$q*wh@Q$RdX7GW8L`dtDbZ;&uVu)Z&MB)(HJJGY^d5#S*AuB<<&b(K zL+aI>Qg6~X9p^5jWObtYE!0YzyO<&PS{}hTdH)WA(f+}Ah!(J3hWSHj^YP2~2tu23 r9_!n5r?Xzc`YwRk{(TDTA9~ja-)badEs^yj-N(8NqwmpAaC7~CDn5Ro literal 0 HcmV?d00001 diff --git a/opensrp-web/bin/src/main/java/org/opensrp/web/rest/RestUtils.class b/opensrp-web/bin/src/main/java/org/opensrp/web/rest/RestUtils.class new file mode 100644 index 0000000000000000000000000000000000000000..24f2483072c9d71ab7cb415ed531fd1bb89f991a GIT binary patch literal 7541 zcmeHM-E-SS5Z_DF%68KaT3XtM548+~LtC4E&_WziLJ~ItyA8IQQVNude05Z0$(&9h z`4jk8cxHwf7|I(DJoCl_{|UpM6vaw>LFeKO9cX4ETk`Jj_I|s!w|n~a&mSHGz*V3I zj1agGaJ$^0j#qv}*J#=2?XurxUckHMuh~kOvp|#^c)24SH!xt7z|lz1rCz&yd*ug`5-#v*X6){|%o?s)AAfkU&t7YOQ!W$K132YCX8R_kKDesKf;2<&Ul zRi$dv>2zH-M+K|;yh8=59+BwQVm%ol2Zzy$p0c^HFxlx47;Vm3h;d-b@f-=bM^=rX0qB1Vy8 zJHiaYF5~D~3_c#(!slijw8aV23Cz%Iv4@U_zIlkh;CC9j$X!pmWY)t#$X`&(q@HwU z44e`w(U@=tS6l7lg*%zU-SfP%O%m5 zNd}(X-dMi7frWh4^{HMcWXx}GOyAACLSAlYmeXMwW@!c0z_u?@9}Ms)Scn&u){o|tM-JW*fws; znqw5;IGh@Tqi~wQiDG|~A*=l(HLTNag`E|~Es6!aY$<%3y33S1@_zH-s91FZ0;Sp@ z-H&WV&@r*UtBxxeCorinq}HFID--?p=HM)WpEUXptq9W+>NhMSCS%lH>niN)kP%re zC4Aga@zHC%qNuK@36e0#@%UyaEqZHC;GoZDWXltEW#}^O5OxSR`H8v>pw9l9=XRTiVS?UtFhydVO4$Y;7;QP?imoH>*OGBCUMqxr_l)S&X)COl>M z_TLc0V^4X$NZ@4get+RHv7Cb&1isPmtk&B2$Nd84jUbNMByXH4Mq#Kfn`R08GA!Gr zcQPC}*h(I#2_bN5jdADUhCJnR@OXKN8K4#QGsyjYVxN+spM`0TPGD_uNJYq z$5D-UUZM9|O79|+lzL@_-uaZ?CAf^Ux`OtNqW)FIOs^>rE~OCOhIcX$CKU+RQwUS= zZp!wam!=hZvnjpzU`9D|58-_U!p#)I9Lys^6=y#JHx+YVQ0UjT^he->Nb^JZ0zc1S Y?9|{EEI|V-ScZ?0%}?M{jGE8?0xFDhj{pDw literal 0 HcmV?d00001 diff --git a/opensrp-web/bin/src/main/java/org/opensrp/web/rest/SearchResource$ChildMother.class b/opensrp-web/bin/src/main/java/org/opensrp/web/rest/SearchResource$ChildMother.class new file mode 100644 index 0000000000000000000000000000000000000000..ce35a2ec307eba2600140aa400fe924bf131403b GIT binary patch literal 5463 zcmeHLU2hsk6uo0(V~A5bPSX!nZKtl2;umPuJT0=TxcI2PbkeTs%<0^=+@+nE8A zUskD=+V}pbs&{sc4DsS!Dmy|^9$=T{%$Yl9X6~Im|NQ&MUjXnJcC)ZV;76_8QlAOG zbjF6PBvrR01MX`Tl+Jm(q_{SvCTGg+HMo`o_xnp5!v_stUmtNpMA-k6@yJKqxc-kG~^%d;nZVfG0e6#hs1aXjPe?sEc} zitO+#d_Z91awIjSq*{Yba&Q0CM-`+u?65Sri+%7OnnnTb zy?lIjv%o+Jzxz_LK0lZ0RVwaxqzUHi*x^>BZru44YCMp8!2>wxET4gT8zGk2W@ z0cw~4ww1s(qtiu`_6OQfOx9R2upWk4U-(!-g-!dct&L(XmIQ8kvO}@d8vKOib}y=+ z`$ZjA;liOYL6fVY#}N_+wi_k4+v(L+oEct-g1FV520>@4r>M&WxgFWo*NL#lx?T2`uFzjKaBPl0&9@Z&SYH zzUDfIq)c{;3`><|7ZKDP1OdK!>tC4iF-ga*^r`ARCp=B&pJT_)-bX1aVKO8ScVTNC z@^GKPgMxGEutXs~u@20JBYb{5=(o9Q*cZq zgV+3@aQD}(jo;zk-(i~%@p~09fS(8Wy&m4@;UoAseD(=^I>BIZ5yR(K8HkQ$_;L=0 eQ4GT}j@6FtE7-QZV>AT5hKKm1fWI^N>(PHaaWfVG literal 0 HcmV?d00001 diff --git a/opensrp-web/bin/src/main/java/org/opensrp/web/rest/SearchResource.class b/opensrp-web/bin/src/main/java/org/opensrp/web/rest/SearchResource.class new file mode 100644 index 0000000000000000000000000000000000000000..86e2fdf2ed326a6013cfe78724d73e2b9a63cc6d GIT binary patch literal 9001 zcmeHM>vG#f6h0f$*m0AzOgpD7E0O38+%h(603EZ z{NVu@9)LGt24>(tkHLd5oRxf$@y3!%+sQEbAzNB~`|a7YXU{o0`{&=k{tf`sP))%Q zfvdi-@^#9c{0`lvc~?~PuE!i-c=;!6D=(NY^Bar`t5#yZ+YlB@!7zc70otZcHGgMo zhgp)qi0xLZOb|$$W^gw{VB8P7ZZNUSEk@vk8FDon6vDDOb7Tau7;Qkr7~72kCd@+Q z8Q+i0a)-+~0{QH}*v)RL?v7J;37juA9Lejf=6ycO9R=adW;Q-6veI z3Jx>8=vHvdLiuS;es2y2tH+#_)uTymkMEkr^%5m{DPt zO_9;?sP&junQ;kKo@=T+hbqr0m0vO{F7pi(#;8+i)eMPU*`9}rj&{Yh%c-@?DT#7g zqHt7R_go>32*R+anyazJjF#L-&=;VAV5KD6lW_|W02`9qha9*UC!aF99k)W0;F|m3 z2%1C#zP&xY^K5~h;7)a0&^mkKipPn#|0iA0XKSas=sHrkw#|g*wIN-D8gk!bnb8va zzJZ>5m3kiPFb1q5f$C;-hgPHB@TGyy8Y2eAyuj;or^WP$2=k|O?wFIM*WkVsJ>qrf+(lt^zWQ@AQd?XQQ z85Qh`eGN7iNQvbpcrU7i;2M<0#Ofv2zPdw5WK=- zlx1?47eCfOc}PNM zcbH*`yzF5FZ8SU&KfV2XR5<9Qb(S8DCWFG0c>V!)?7{meK_rZaWMC3r8G~_nmB87o z*{QIEBF?C4%?Xn`Y^_n>Vxp{q5rIk5wWxi!8JwDp!?MP)dUM?zxU!{+Nq$hUB5)yV z_J-z}DN{`aahY}m_ET_?z(jXgCNR3es}7Y7fnr|i!!_G1Qq9aMRiC+RtZ&f8OhNo94F&(-U69Z0UkVpASSTRkQ-W=sCks4=oOC&P30YC@4 z$iqW&=<*e;?}sjToyyw6K7ogQo#ntj{qkas+m%%p3+N*7u_w*$3`sftu%JTV*eCRrC)z!j1+jKAq@J6K+5-p=;M zbrtnS!s-$7WLun5ts8tBR(vr0qfjLl9;;AWiIr>Pdx@udo6_(Zf#rBDC5eLsPNO)1 zZ55pghE2ZB)mq-_BT}zK8X=K*+ZA}|6L5Ey0CNb<67)2sp+MlL{&Nh@q6TnD{SCQU z5jfEKp(R*YL&Z}nG>TK%(5_p{JM{n$;lj3vId|Ts;d25@{imaLUVL_geug`^-F!Sk z!@3E9Gc8eqjIM2~*LtNvQ8l5`aNbSkaplJOa$dfhWTfiz|H^U81bw#;wDpY54T;o3sP_&-9dQYJfls)*C;`> z{+NP?xOsas!xTKib5o_h6i}oL%djc1kg}`NmjcvVxGm!+S{ca8VFxyP437LM@Fdc(6lxqm?G^JW^@1QTSUG1V0UKyO@240(p+{WiKFba3!D|i6k Nz_;)n?(Z$A`~!)K^UVMN literal 0 HcmV?d00001 diff --git a/opensrp-web/bin/src/main/java/org/opensrp/web/rest/StockResource.class b/opensrp-web/bin/src/main/java/org/opensrp/web/rest/StockResource.class new file mode 100644 index 0000000000000000000000000000000000000000..7682286fac5f510b0fdf091cd2bf441b1e198e4d GIT binary patch literal 8702 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 literal 0 HcmV?d00001 diff --git a/opensrp-web/bin/src/main/java/org/opensrp/web/rest/ViewConfigurationResource.class b/opensrp-web/bin/src/main/java/org/opensrp/web/rest/ViewConfigurationResource.class new file mode 100644 index 0000000000000000000000000000000000000000..9cd95818aafe71ddf1941849b98d728759a0536c GIT binary patch literal 3314 zcmeHJS#KLR5FW~htc@BwNe{;-<2H%hLt6uRiVOpG;GzN631GVh`be#4naM7>CAqTw z%UZNR`<}m(J{K9TBunW^UE4u`2FQaXQvBxQ%y6z(|NQH+{{G^^XKUeWK*CXs4Q4q2xX{D%Bw`!z6*ZOfX`y?LTk6;Grcj z-}$%10oNT7asmrMj;(jrATYftq_A5ACTi(0tG+EUz5 zsVt3|4Ns^=QGS-7LBpcxuDWwq-Dy-GNz}bn#EH_D4k2jBq@!mP~5{Xb)YSP3pD`~7wL#s6HW?XHZ3PV%b;>SW_v>xLLu2~w{VRW7DrN+7wL{TPP zcz211D80(K1TD~VJGJUmxID|p`LOBNq`#)vl^op%b9a zyuj)}py#jXm;(Hd)+VlYM%?xkFAzAeE*lF#JIwH1X@wnc(ZB(LD&!jjxo((w;K6Ja z$}mUZvsy6d3ti(Hu5Zi+7~jv*xXJaQdnf|80~NC9sP}NaKPT;pFa)-OcWHsxwH6Jx zWHY|o19*Rc_w()QuW<7(+?C)Keotp7s3oqeT@>7b zPjQEJ6+TDQ7d_NG{`T2QxbCvu9lfve?_iH1WzZ}85Jc4-w a?q{42E;t|J-tm5q9}gy>24BOsP=5n8i#X;0 literal 0 HcmV?d00001 diff --git a/opensrp-web/bin/src/main/java/org/opensrp/web/rest/rapid/RapidClientResource.class b/opensrp-web/bin/src/main/java/org/opensrp/web/rest/rapid/RapidClientResource.class new file mode 100644 index 0000000000000000000000000000000000000000..afddfeef4faad334242113b40e6ee9be7d33e80a GIT binary patch literal 8709 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 T-sA8k0AUc5p|5BI)_wgC51ZBX literal 0 HcmV?d00001 diff --git a/opensrp-web/bin/src/main/java/org/opensrp/web/security/DrishtiAuthenticationProvider.class b/opensrp-web/bin/src/main/java/org/opensrp/web/security/DrishtiAuthenticationProvider.class new file mode 100644 index 0000000000000000000000000000000000000000..95a55eb02767becb6b375483a63bc96aabd5b462 GIT binary patch literal 9397 zcmeHNdvn`F5MPC~a?%$KZF$2{UP))Ld6Z{Dz)c)tP@U9v0_7Dh^2NSHmOLlfZ9W2@ zh#8oHzu~j+4_|=cck-iFtX6XCOew=3a-_Sxz1_XNz2EKTkH3HZm58oV%cLoTR()mX znq0cMecs_YPt|i?OSryjhz>>(1y( zprl&|>6sPJ^#kq(+uUi344pFQt7=2Awl9>+n}T_YwYcx!@>Go-dTj>Dgc3C-eI{Mo zQwmaK*`_17FS?x!;{LFcW_o{@V^SeiNQ zBu(XSVZsXLl(sPFg0(Ty3R)9pYHYN8xQMkLz6$6I_wms=Q;~I-2W^G%Ye%}5Mx7$2 zCF+uk%V7F!xs7FQilW<*zT9<0-o=u1=QL>6DhnTLU<;5=Ye#}X;0n^Oie^ij2vz{i zPy-0xjkctcP0Mo1f`HyFi3#wPvANw4)v9HXQG{u%(6!NVqN9BrTV@Fk5iA=tKObk! zk)>GJHt3b3>TYrct+3P)y-!&;+T4+QQYcI~y@J&>DFy^f)#Fp$zKT6mR zq%%>%+ezGpw3sld@9bUOPs1}kVM|BfJ?%hAhet3A4qIY&CVJ}hfl$JrE(l6Rv<9T$;oOeXV#UFEymU`Qwj48XSo|)=dIX7% zK#>FuM)63(fIc!vAdAA71melrI_h)@(+*%q0$l{?B+yPyl@RwN%$8PzB2b&OWx)J) z3*Z+x8;H8C_YdpdMCKRtm7wj`#GZ6DBER1D0|x974s#BHpF7@xU>w+?5#=yDGqw*6 zP*#F^$Lz{uvd6VS;VzdT^SB;3bXgpWbK$lvS|Q*Z4S-|Eu`k7LRPI#~;7;WyNOYgW zQtgq+2au?S396-%aV(CHfvGJsBM`=+$|?zR4Fe^r>-jE=5YKKO({I(K(Ngc%V(f z6lwfm=05SveGW?{(pXVC700nwX7U^#1%*;+J(ePqH+qV=dyH7+7+H^Hss}$8AM!G$ zaE8Cz1-fy94g4RKN&BD}E~>s@@EutK|r(l>zNJ#*b*rBD}I2f2Ir-o+xy*RHRt@@}w>k|$SotJ(Qdy zanB^w-Y>=P5R>*XqxKS$oJhSkj2R}mk^jEv8W`yMy7Yb2@~S9U`1BGP^ceo};}p%( z2|9_lr^%!YT4(S+h1RF(^pWo~L*Hl7|M<}Nd3uJP82Y{d9+&9Jkk?b7)jXe}XYu=7 z`2IY-fWId(-;3e*OLTeA_wu0cm9XzsdaXyhKvzK3AE|raz;hLvXkBK1q3q4MH-DnH zf5X=ly^CKx1L1iOzo*0ZS$dy72-`lSk1%c#@6+g68t`34OP}u)-n)E1iQ!v_<(sE# z;M>)6C4uW|4A)u=SE4ogY+#}F82O4Zoc3cl8T18N(6_JQ9m`#h;Sj`dAljhKSPnO0 wIQ$sHVVWwi>l9T7*4e`MHXb4m&kJ;xzQl^$q;Kdu+96Ih396H%16a2C52ybqtpET3 literal 0 HcmV?d00001 diff --git a/opensrp-web/bin/src/main/java/org/opensrp/web/utils/PdfUtil.class b/opensrp-web/bin/src/main/java/org/opensrp/web/utils/PdfUtil.class new file mode 100644 index 0000000000000000000000000000000000000000..7823e0c3c76c51fa07a8885b67eca0dad592d133 GIT binary patch literal 5275 zcmeHL-EZ4A5I;I;9II*5X6rt>kFx1LoE5WyVZeZ;C=feNV?b%U#7$A`VW4H&W-E~b zMWxAKHeds`hrJB@n}%UWIfFDm)`*3Tc}r|Lf~$s zy=K6KY(8fvtf};p8&x(SK3NOhDmeG{FpDd{sbVfa!*KM?h{z5Zygg@ zZmR*W!a9NVbcK%AO0U9o;{5SMY91;7gb%2vf>8L(2qkH#Ro~}9^gVTIy)mZ)?)gk3 zC}iFXHsW*>U22@W)IgUSiA$Swpm;>3GBjYu8&iX_{4_*=va%SQh7C@`n$*bGG+9>! zq0)vXIQG&|k4dY%&*^_=zdbmiN||Q^_1b{AXGOXeko>dq#^cfrLSJ~o&?pYM#`MEv z*0E=lrjrs--=ZR-u^jNBkeEM1oWU`ReN2QD-Jl0?Wb6#0D3dnfCWtfPEbs78qbQ^1EaXnj6{vVR=duvgBjl(6^eSt=ip;L^;(*H{n@hs5K0npM z*uBXqJ2?Be$FNG~%w_{r7T3Xgdy(lUObff5Q!5qneHM*P3G+JALx$KF()4i43w%k4 zqph^Yf{rxd@)Mp{%d+mjEq0XjGmY|GzNTV799qVmd2X_ynFHDq=73?Qofd3Ri)p)^ zdrBk!&cvqHw&LNCBd>P@OX}0dJZtXj$EJ2X&@3DaFZyP;z=+bow(_xD&hjW-xh$?s zgl1u|M^Vaufu(-h9;aptM4S6XiBuAHh^dKP(U^;LW-dTgo@GgNHbvJEuCv|e$w!!Nza^u4|=yRRaYyumu@|b^oUR2LtE}OB4 z2z>3%(Y|kEYd+$VYi2k`iol(^Yk70Ki@z;5m&Q=0b|glUnOJiI-%TX$P1}C|LM^NC zDOvfuL<^s5M9yK%M0LUaGi&%HWf$DP;QpjlPV4C$ggys!!Tsl7BMa^?DB1InYgtk+ z*_^x~?kC_JsaSh_PxwfrYv`4|QcEtDs<4R-K`!-G;WNA%vn*YOFaCG=Ht88q(}9R0 z{IInjMG@S_i?t=Z-mAb(xCARWx(QWS#kaNOt%Ebz2EZCVuO!!iOE>~>eub;gHm>~) z8^0&G8~9wA%)om%ws=Ir`|tt&*Wg3cTY-;oT!D`hO<&=`dLQvd(} literal 0 HcmV?d00001 diff --git a/opensrp-web/bin/src/main/resources/mcts-report-definition.json b/opensrp-web/bin/src/main/resources/mcts-report-definition.json new file mode 100644 index 0000000000..287fa92d64 --- /dev/null +++ b/opensrp-web/bin/src/main/resources/mcts-report-definition.json @@ -0,0 +1,1227 @@ +{ + "formIndicators": [ + { + "form": "anc_visit", + "indicators": [ + { + "indicator": "ANC1", + "reportEntityType": "mother", + "serviceProvidedDateField": "ancVisitDate", + "formFields": [ + "ancVisitDate", + "ancVisitNumber" + ], + "referenceData": { + "type": "mother", + "idField": "id", + "fields": [ + "thayiCardNumber", + "registrationDate" + ] + }, + "reportWhen": [ + "IsFirstANCVisitRule" + ] + }, + { + "indicator": "ANC2", + "reportEntityType": "mother", + "serviceProvidedDateField": "ancVisitDate", + "formFields": [ + "ancVisitDate", + "ancVisitNumber" + ], + "referenceData": { + "type": "mother", + "idField": "id", + "fields": [ + "thayiCardNumber", + "registrationDate" + ] + }, + "reportWhen": [ + "IsSecondANCVisitRule" + ] + }, + { + "indicator": "ANC3", + "reportEntityType": "mother", + "serviceProvidedDateField": "ancVisitDate", + "formFields": [ + "ancVisitDate", + "ancVisitNumber" + ], + "referenceData": { + "type": "mother", + "idField": "id", + "fields": [ + "thayiCardNumber", + "registrationDate" + ] + }, + "reportWhen": [ + "IsThirdANCVisitRule" + ] + }, + { + "indicator": "ANC4", + "reportEntityType": "mother", + "serviceProvidedDateField": "ancVisitDate", + "formFields": [ + "ancVisitDate", + "ancVisitNumber" + ], + "referenceData": { + "type": "mother", + "idField": "id", + "fields": [ + "thayiCardNumber", + "registrationDate" + ] + }, + "reportWhen": [ + "IsFourthANCVisitRule" + ] + }, + { + "indicator": "COMPLICATION_APH", + "reportEntityType": "mother", + "serviceProvidedDateField": "ancVisitDate", + "formFields": [ + "ancVisitDate", + "riskObservedDuringANC" + ], + "referenceData": { + "type": "mother", + "idField": "id", + "fields": [ + "thayiCardNumber", + "registrationDate" + ] + }, + "reportWhen": [ + "IsRiskObservedBleedingRule" + ] + }, + { + "indicator": "COMPLICATION_HYPERTENSIVE", + "reportEntityType": "mother", + "serviceProvidedDateField": "ancVisitDate", + "formFields": [ + "ancVisitDate", + "bpDiastolic", + "previousBpDiastolic", + "bpSystolic", + "previousBpSystolic" + ], + "referenceData": { + "type": "mother", + "idField": "id", + "fields": [ + "thayiCardNumber", + "registrationDate" + ] + }, + "reportWhen": [ + "IsHypertensionDetectedRule", + "IsHypertensionStateChangedRule" + ] + } + ] + }, + { + "form": "ifa", + "indicators": [ + { + "indicator": "IFA", + "reportEntityType": "mother", + "serviceProvidedDateField": "ifaTabletsDate", + "formFields": [ + "numberOfIFATabletsGiven", + "ifaTabletsDate" + ], + "referenceData": { + "type": "mother", + "idField": "id", + "fields": [ + "thayiCardNumber", + "totalNumberOfIFATabletsGiven", + "registrationDate" + ] + }, + "reportWhen": [ + "MoreThan100IFATabletsAreProvidedRule" + ] + } + ] + }, + { + "form": "tt", + "indicators": [ + { + "indicator": "TT_1", + "reportEntityType": "mother", + "serviceProvidedDateField": "ttDate", + "formFields": [ + "ttDose", + "ttDate" + ], + "referenceData": { + "type": "mother", + "idField": "id", + "fields": [ + "thayiCardNumber", + "registrationDate" + ] + }, + "reportWhen": [ + "IsTT1DoseGivenForMother" + ] + }, + { + "indicator": "TT_2", + "reportEntityType": "mother", + "serviceProvidedDateField": "ttDate", + "formFields": [ + "ttDose", + "ttDate" + ], + "referenceData": { + "type": "mother", + "idField": "id", + "fields": [ + "thayiCardNumber", + "registrationDate" + ] + }, + "reportWhen": [ + "IsTT2DoseGivenForMother" + ] + }, + { + "indicator": "TT_BOOSTER", + "reportEntityType": "mother", + "serviceProvidedDateField": "ttDate", + "formFields": [ + "ttDose", + "ttDate" + ], + "referenceData": { + "type": "mother", + "idField": "id", + "fields": [ + "thayiCardNumber", + "registrationDate" + ] + }, + "reportWhen": [ + "IsTTBoosterDoseGivenForMother" + ] + } + ] + }, + { + "form": "child_immunizations", + "indicators": [ + { + "indicator": "DPT_BOOSTER_1", + "reportEntityType": "child", + "serviceProvidedDateField": "immunizationDate", + "formFields": [ + "immunizationDate", + "previousImmunizations", + "immunizationsGiven", + "immunizationsReceived" + ], + "referenceData": { + "type": "child", + "idField": "id", + "fields": [ + "thayiCard", + "registrationDate" + ] + }, + "reportWhen": [ + "IsDPTBoosterImmunizationGivenRule" + ] + }, + { + "indicator": "DPT_BOOSTER_2", + "reportEntityType": "child", + "serviceProvidedDateField": "immunizationDate", + "formFields": [ + "immunizationDate", + "previousImmunizations", + "immunizationsGiven", + "immunizationsReceived" + ], + "referenceData": { + "type": "child", + "idField": "id", + "fields": [ + "thayiCard", + "registrationDate" + ] + }, + "reportWhen": [ + "IsDPTBooster2ImmunizationGivenRule" + ] + }, + { + "indicator": "JE", + "reportEntityType": "child", + "serviceProvidedDateField": "immunizationDate", + "formFields": [ + "immunizationDate", + "previousImmunizations", + "immunizationsGiven", + "immunizationsReceived" + ], + "referenceData": { + "type": "child", + "idField": "id", + "fields": [ + "thayiCard", + "registrationDate" + ] + }, + "reportWhen": [ + "IsJEImmunizationGivenRule" + ] + }, + { + "indicator": "OPV1", + "reportEntityType": "child", + "serviceProvidedDateField": "immunizationDate", + "formFields": [ + "immunizationDate", + "previousImmunizations", + "immunizationsGiven", + "immunizationsReceived" + ], + "referenceData": { + "type": "child", + "idField": "id", + "fields": [ + "thayiCard", + "registrationDate" + ] + }, + "reportWhen": [ + "IsOPV1ImmunizationGivenRule" + ] + }, + { + "indicator": "OPV2", + "reportEntityType": "child", + "serviceProvidedDateField": "immunizationDate", + "formFields": [ + "immunizationDate", + "previousImmunizations", + "immunizationsGiven", + "immunizationsReceived" + ], + "referenceData": { + "type": "child", + "idField": "id", + "fields": [ + "thayiCard", + "registrationDate" + ] + }, + "reportWhen": [ + "IsOPV2ImmunizationGivenRule" + ] + }, + { + "indicator": "OPV3", + "reportEntityType": "child", + "serviceProvidedDateField": "immunizationDate", + "formFields": [ + "immunizationDate", + "previousImmunizations", + "immunizationsGiven", + "immunizationsReceived" + ], + "referenceData": { + "type": "child", + "idField": "id", + "fields": [ + "thayiCard", + "registrationDate" + ] + }, + "reportWhen": [ + "IsOPV3ImmunizationGivenRule" + ] + }, + { + "indicator": "OPVB", + "reportEntityType": "child", + "serviceProvidedDateField": "immunizationDate", + "formFields": [ + "immunizationDate", + "previousImmunizations", + "immunizationsGiven", + "immunizationsReceived" + ], + "referenceData": { + "type": "child", + "idField": "id", + "fields": [ + "thayiCard", + "registrationDate" + ] + }, + "reportWhen": [ + "IsOPVBoosterImmunizationGivenRule" + ] + }, + { + "indicator": "BCG", + "reportEntityType": "child", + "serviceProvidedDateField": "immunizationDate", + "formFields": [ + "immunizationDate", + "previousImmunizations", + "immunizationsGiven", + "immunizationsReceived" + ], + "referenceData": { + "type": "child", + "idField": "id", + "fields": [ + "thayiCard", + "registrationDate" + ] + }, + "reportWhen": [ + "IsBCGImmunizationGivenRule" + ] + }, + { + "indicator": "OPV0", + "reportEntityType": "child", + "serviceProvidedDateField": "immunizationDate", + "formFields": [ + "immunizationDate", + "previousImmunizations", + "immunizationsGiven", + "immunizationsReceived" + ], + "referenceData": { + "type": "child", + "idField": "id", + "fields": [ + "thayiCard", + "registrationDate" + ] + }, + "reportWhen": [ + "IsOPV0ImmunizationGivenRule" + ] + }, + { + "indicator": "PENT1", + "reportEntityType": "child", + "serviceProvidedDateField": "immunizationDate", + "formFields": [ + "immunizationDate", + "previousImmunizations", + "immunizationsGiven", + "immunizationsReceived" + ], + "referenceData": { + "type": "child", + "idField": "id", + "fields": [ + "thayiCard", + "registrationDate" + ] + }, + "reportWhen": [ + "IsPentavalent1ImmunizationGivenRule" + ] + }, + { + "indicator": "PENT2", + "reportEntityType": "child", + "serviceProvidedDateField": "immunizationDate", + "formFields": [ + "immunizationDate", + "previousImmunizations", + "immunizationsGiven", + "immunizationsReceived" + ], + "referenceData": { + "type": "child", + "idField": "id", + "fields": [ + "thayiCard", + "registrationDate" + ] + }, + "reportWhen": [ + "IsPentavalent2ImmunizationGivenRule" + ] + }, + { + "indicator": "PENT3", + "reportEntityType": "child", + "serviceProvidedDateField": "immunizationDate", + "formFields": [ + "immunizationDate", + "previousImmunizations", + "immunizationsGiven", + "immunizationsReceived" + ], + "referenceData": { + "type": "child", + "idField": "id", + "fields": [ + "thayiCard", + "registrationDate" + ] + }, + "reportWhen": [ + "IsPentavalent3ImmunizationGivenRule" + ] + }, + { + "indicator": "MEASLES", + "reportEntityType": "child", + "serviceProvidedDateField": "immunizationDate", + "formFields": [ + "immunizationDate", + "previousImmunizations", + "immunizationsGiven", + "immunizationsReceived" + ], + "referenceData": { + "type": "child", + "idField": "id", + "fields": [ + "thayiCard", + "registrationDate" + ] + }, + "reportWhen": [ + "IsMeaslesImmunizationGivenRule" + ] + }, + { + "indicator": "MEASLES_BOOSTER", + "reportEntityType": "child", + "serviceProvidedDateField": "immunizationDate", + "formFields": [ + "immunizationDate", + "previousImmunizations", + "immunizationsGiven", + "immunizationsReceived" + ], + "referenceData": { + "type": "child", + "idField": "id", + "fields": [ + "thayiCard", + "registrationDate" + ] + }, + "reportWhen": [ + "IsMeaslesBoosterImmunizationGivenRule" + ] + }, + { + "indicator": "MR", + "reportEntityType": "child", + "serviceProvidedDateField": "immunizationDate", + "formFields": [ + "immunizationDate", + "previousImmunizations", + "immunizationsGiven", + "immunizationsReceived" + ], + "referenceData": { + "type": "child", + "idField": "id", + "fields": [ + "thayiCard", + "registrationDate" + ] + }, + "reportWhen": [ + "IsMMRImmunizationGivenRule" + ] + }, + { + "indicator": "HEPB0", + "reportEntityType": "child", + "serviceProvidedDateField": "immunizationDate", + "formFields": [ + "immunizationDate", + "previousImmunizations", + "immunizationsGiven", + "immunizationsReceived" + ], + "referenceData": { + "type": "child", + "idField": "id", + "fields": [ + "thayiCard", + "registrationDate" + ] + }, + "reportWhen": [ + "IsHepB0ImmunizationGivenRule" + ] + } + ] + }, + { + "form": "vitamin_a", + "indicators": [ + { + "indicator": "VITA1", + "reportEntityType": "child", + "serviceProvidedDateField": "vitaminADate", + "formFields": [ + "vitaminADose", + "vitaminADate" + ], + "referenceData": { + "type": "child", + "idField": "id", + "fields": [ + "thayiCard", + "registrationDate" + ] + }, + "reportWhen": [ + "IsVitaminA1DoseGivenRule" + ] + }, + { + "indicator": "VITA2", + "reportEntityType": "child", + "serviceProvidedDateField": "vitaminADate", + "formFields": [ + "vitaminADose", + "vitaminADate" + ], + "referenceData": { + "type": "child", + "idField": "id", + "fields": [ + "thayiCard", + "registrationDate" + ] + }, + "reportWhen": [ + "IsVitaminA2DoseGivenRule" + ] + }, + { + "indicator": "VITA3", + "reportEntityType": "child", + "serviceProvidedDateField": "vitaminADate", + "formFields": [ + "vitaminADose", + "vitaminADate" + ], + "referenceData": { + "type": "child", + "idField": "id", + "fields": [ + "thayiCard", + "registrationDate" + ] + }, + "reportWhen": [ + "IsVitaminA3DoseGivenRule" + ] + }, + { + "indicator": "VITA4", + "reportEntityType": "child", + "serviceProvidedDateField": "vitaminADate", + "formFields": [ + "vitaminADose", + "vitaminADate" + ], + "referenceData": { + "type": "child", + "idField": "id", + "fields": [ + "thayiCard", + "registrationDate" + ] + }, + "reportWhen": [ + "IsVitaminA4DoseGivenRule" + ] + }, + { + "indicator": "VITA5", + "reportEntityType": "child", + "serviceProvidedDateField": "vitaminADate", + "formFields": [ + "vitaminADose", + "vitaminADate" + ], + "referenceData": { + "type": "child", + "idField": "id", + "fields": [ + "thayiCard", + "registrationDate" + ] + }, + "reportWhen": [ + "IsVitaminA5DoseGivenRule" + ] + }, + { + "indicator": "VITA6", + "reportEntityType": "child", + "serviceProvidedDateField": "vitaminADate", + "formFields": [ + "vitaminADose", + "vitaminADate" + ], + "referenceData": { + "type": "child", + "idField": "id", + "fields": [ + "thayiCard", + "registrationDate" + ] + }, + "reportWhen": [ + "IsVitaminA6DoseGivenRule" + ] + }, + { + "indicator": "VITA7", + "reportEntityType": "child", + "serviceProvidedDateField": "vitaminADate", + "formFields": [ + "vitaminADose", + "vitaminADate" + ], + "referenceData": { + "type": "child", + "idField": "id", + "fields": [ + "thayiCard", + "registrationDate" + ] + }, + "reportWhen": [ + "IsVitaminA7DoseGivenRule" + ] + }, + { + "indicator": "VITA8", + "reportEntityType": "child", + "serviceProvidedDateField": "vitaminADate", + "formFields": [ + "vitaminADose", + "vitaminADate" + ], + "referenceData": { + "type": "child", + "idField": "id", + "fields": [ + "thayiCard", + "registrationDate" + ] + }, + "reportWhen": [ + "IsVitaminA8DoseGivenRule" + ] + }, + { + "indicator": "VITA9", + "reportEntityType": "child", + "serviceProvidedDateField": "vitaminADate", + "formFields": [ + "vitaminADose", + "vitaminADate" + ], + "referenceData": { + "type": "child", + "idField": "id", + "fields": [ + "thayiCard", + "registrationDate" + ] + }, + "reportWhen": [ + "IsVitaminA9DoseGivenRule" + ] + } + ] + }, + { + "form": "pnc_visit", + "indicators": [ + { + "indicator": "PNC_7_DAYS", + "reportEntityType": "mother", + "serviceProvidedDateField": "pncVisitDate", + "formFields": [ + "pncVisitDate", + "referenceDate" + ], + "referenceData": { + "type": "mother", + "idField": "id", + "fields": [ + "thayiCardNumber", + "pncVisitDates", + "registrationDate" + ] + }, + "reportWhen": [ + "IsPNCVisitFirstRule", + "IsPNCVisitBetween2And7DaysOfDeliveryRule" + ] + }, + { + "indicator": "PNC_48_HOURS", + "reportEntityType": "mother", + "serviceProvidedDateField": "pncVisitDate", + "formFields": [ + "pncVisitDate", + "referenceDate" + ], + "referenceData": { + "type": "mother", + "idField": "id", + "fields": [ + "thayiCardNumber", + "pncVisitDates", + "registrationDate" + ] + }, + "reportWhen": [ + "IsPNCVisitFirstRule", + "IsPNCVisit48HoursOfDeliveryRule" + ] + }, + { + "indicator": "PNC_COMPLICATION_PPH", + "reportEntityType": "mother", + "serviceProvidedDateField": "pncVisitDate", + "formFields": [ + "pncVisitDate", + "vaginalProblems" + ], + "referenceData": { + "type": "mother", + "idField": "id", + "fields": [ + "thayiCardNumber", + "registrationDate" + ] + }, + "reportWhen": [ + "IsMotherHasHemorrhageRule" + ] + }, + { + "indicator": "PNC_COMPLICATION_SEPSIS", + "reportEntityType": "mother", + "serviceProvidedDateField": "pncVisitDate", + "formFields": [ + "pncVisitDate", + "vaginalProblems", + "hasFever" + ], + "referenceData": { + "type": "mother", + "idField": "id", + "fields": [ + "thayiCardNumber", + "registrationDate" + ] + }, + "reportWhen": [ + "IsMotherHasBadSmellLocheaRule", + "IsMotherHasFeverRule" + ] + }, + { + "indicator": "PNC_COMPLICATION_OTHERS", + "reportEntityType": "mother", + "serviceProvidedDateField": "pncVisitDate", + "formFields": [ + "pncVisitDate", + "vaginalProblems", + "hasFever", + "immediateReferral" + ], + "referenceData": { + "type": "mother", + "idField": "id", + "fields": [ + "thayiCardNumber", + "registrationDate" + ] + }, + "reportWhen": [ + "ShouldMotherBeReferredImmediatelyRule", + "IsMotherDoesNotHaveHemorrhageRule", + "IsMotherDoesNotHaveBadSmellLocheaRule", + "IsMotherDoesNotHaveFeverRule" + ] + }, + { + "indicator": "PNC_CHECKUP_Y", + "reportEntityType": "mother", + "serviceProvidedDateField": "pncVisitDate", + "formFields": [ + "pncVisitDate", + "pncVisitDay" + ], + "referenceData": { + "type": "mother", + "idField": "id", + "fields": [ + "thayiCardNumber", + "registrationDate" + ] + }, + "reportWhen": [ + "IsPNCVisitHappenedWithin42DaysOfDeliveryRule" + ] + } + ] + }, + { + "form": "hb_test", + "indicators": [ + { + "indicator": "ANAEMIA_NORMAL", + "reportEntityType": "mother", + "serviceProvidedDateField": "hbTestDate", + "formFields": [ + "hbTestDate", + "hbLevel", + "previousAnaemicStatus", + "anaemicStatus" + ], + "referenceData": { + "type": "mother", + "idField": "id", + "fields": [ + "thayiCardNumber", + "registrationDate" + ] + }, + "reportWhen": [ + "IsPersonAnaemicStatusChangedRule", + "IsPersonNormalAnaemicRule" + ] + }, + { + "indicator": "ANAEMIA_MODERATE", + "reportEntityType": "mother", + "serviceProvidedDateField": "hbTestDate", + "formFields": [ + "hbTestDate", + "hbLevel", + "previousAnaemicStatus", + "anaemicStatus" + ], + "referenceData": { + "type": "mother", + "idField": "id", + "fields": [ + "thayiCardNumber", + "registrationDate" + ] + }, + "reportWhen": [ + "IsPersonAnaemicStatusChangedRule", + "IsPersonModerateAnaemicRule" + ] + }, + { + "indicator": "ANAEMIA_SEVERE", + "reportEntityType": "mother", + "serviceProvidedDateField": "hbTestDate", + "formFields": [ + "hbTestDate", + "hbLevel", + "previousAnaemicStatus", + "anaemicStatus" + ], + "referenceData": { + "type": "mother", + "idField": "id", + "fields": [ + "thayiCardNumber", + "registrationDate" + ] + }, + "reportWhen": [ + "IsPersonAnaemicStatusChangedRule", + "IsPersonSevereAnaemicRule" + ] + } + ] + }, + { + "form": "child_close", + "indicators": [ + { + "indicator": "CHILD_DEATH", + "reportEntityType": "child", + "serviceProvidedDateField": "deathDate", + "formFields": [ + "closeReason", + "deathDate" + ], + "referenceData": { + "type": "child", + "idField": "id", + "fields": [ + "thayiCard", + "registrationDate" + ] + }, + "reportWhen": [ + "IsChildClosedDueToDeathRule" + ] + } + ] + }, + { + "form": "pnc_close", + "indicators": [ + { + "indicator": "PNC_COMPLICATION_DEATH", + "reportEntityType": "mother", + "serviceProvidedDateField": "deathDate", + "formFields": [ + "closeReason", + "deathDate" + ], + "referenceData": { + "type": "mother", + "idField": "id", + "fields": [ + "thayiCardNumber", + "registrationDate" + ] + }, + "reportWhen": [ + "IsMotherClosedDueToDeathRule" + ] + }, + { + "indicator": "MATERNAL_DEATH", + "reportEntityType": "mother", + "serviceProvidedDateField": "deathDate", + "formFields": [ + "closeReason", + "deathDate" + ], + "referenceData": { + "type": "mother", + "idField": "id", + "fields": [ + "thayiCardNumber", + "registrationDate" + ] + }, + "reportWhen": [ + "IsMotherClosedDueToDeathRule" + ] + } + ] + }, + { + "form": "anc_close", + "indicators": [ + { + "indicator": "MATERNAL_DEATH", + "reportEntityType": "mother", + "serviceProvidedDateField": "maternalDeathDate", + "formFields": [ + "closeReason", + "maternalDeathDate" + ], + "referenceData": { + "type": "mother", + "idField": "id", + "fields": [ + "thayiCardNumber", + "registrationDate" + ] + }, + "reportWhen": [ + "IsMotherClosedDueToDeathOfWomanRule" + ] + } + ] + }, + { + "form": "anc_investigations", + "indicators": [ + { + "indicator": "COMPLICATION_DIABETES", + "reportEntityType": "mother", + "serviceProvidedDateField": "testDate", + "formFields": [ + "testDate", + "testsResultPositive" + ], + "referenceData": { + "type": "mother", + "idField": "id", + "fields": [ + "thayiCardNumber", + "registrationDate" + ] + }, + "reportWhen": [ + "IsMotherHavingDiabeticRule" + ] + }, + { + "indicator": "COMPLICATION_MALARIA", + "reportEntityType": "mother", + "serviceProvidedDateField": "testDate", + "formFields": [ + "testDate", + "testsResultPositive" + ], + "referenceData": { + "type": "mother", + "idField": "id", + "fields": [ + "thayiCardNumber", + "registrationDate" + ] + }, + "reportWhen": [ + "IsMotherHavingMalariaParasiteRule" + ] + }, + { + "indicator": "RTI_YES", + "reportEntityType": "mother", + "serviceProvidedDateField": "testDate", + "formFields": [ + "testDate", + "testsResultPositive" + ], + "referenceData": { + "type": "mother", + "idField": "id", + "fields": [ + "thayiCardNumber", + "registrationDate" + ] + }, + "reportWhen": [ + "IsMotherHavingMalariaParasiteRule" + ] + } + ] + }, + { + "form": "postpartum_family_planning", + "indicators": [ + { + "indicator": "PPC_STERILIZATION", + "reportEntityType": "mother", + "serviceProvidedDateField": "familyPlanningMethodChangeDate", + "formFields": [ + "familyPlanningMethodChangeDate", + "currentMethod" + ], + "referenceData": { + "type": "mother", + "idField": "id", + "fields": [ + "thayiCardNumber", + "registrationDate" + ] + }, + "reportWhen": [ + "CurrentFPMethodIsFemaleSterilizationRule" + ] + }, + { + "indicator": "PPC_IUD", + "reportEntityType": "mother", + "serviceProvidedDateField": "familyPlanningMethodChangeDate", + "formFields": [ + "familyPlanningMethodChangeDate", + "currentMethod" + ], + "referenceData": { + "type": "mother", + "idField": "id", + "fields": [ + "thayiCardNumber", + "registrationDate" + ] + }, + "reportWhen": [ + "CurrentFPMethodIsIUDRule" + ] + }, + { + "indicator": "PPC_INJECTIBLES", + "reportEntityType": "mother", + "serviceProvidedDateField": "familyPlanningMethodChangeDate", + "formFields": [ + "familyPlanningMethodChangeDate", + "currentMethod" + ], + "referenceData": { + "type": "mother", + "idField": "id", + "fields": [ + "thayiCardNumber", + "registrationDate" + ] + }, + "reportWhen": [ + "CurrentFPMethodIsDMPAInjectableRule" + ] + } + ] + }, + { + "form": "delivery_outcome", + "indicators": [ + { + "indicator": "MATERNAL_DEATH", + "reportEntityType": "mother", + "serviceProvidedDateField": "referenceDate", + "formFields": [ + "didWomanSurvive", + "didMotherSurvive", + "referenceDate" + ], + "referenceData": { + "type": "mother", + "idField": "id", + "fields": [ + "thayiCardNumber", + "registrationDate" + ] + }, + "reportWhen": [ + "IsMotherDidNotSurvivedOnDeliveryRule" + ] + } + ] + } + ] +} diff --git a/opensrp-web/bin/src/main/resources/quartz.properties b/opensrp-web/bin/src/main/resources/quartz.properties new file mode 100644 index 0000000000..833f4c2bdf --- /dev/null +++ b/opensrp-web/bin/src/main/resources/quartz.properties @@ -0,0 +1,17 @@ +org.quartz.scheduler.instanceName = MotechScheduler +org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool +org.quartz.threadPool.threadCount = 10 + +org.quartz.jobStore.class = org.quartz.impl.jdbcjobstore.JobStoreTX +org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.StdJDBCDelegate +org.quartz.jobStore.dataSource = motechDS +org.quartz.jobStore.tablePrefix = QRTZ_ +org.quartz.jobStore.misfireThreshold = 300000 + +org.quartz.dataSource.motechDS.driver = com.mysql.jdbc.Driver +org.quartz.dataSource.motechDS.URL = jdbc:mysql://localhost:3306/motechquartz +org.quartz.dataSource.motechDS.user = root +org.quartz.dataSource.motechDS.password = VA1913wm +org.quartz.dataSource.motechDS.maxConnections = 30 + +#org.quartz.jobStore.class = org.quartz.simpl.RAMJobStore diff --git a/opensrp-web/bin/src/main/resources/report-definition.json b/opensrp-web/bin/src/main/resources/report-definition.json new file mode 100644 index 0000000000..5aaf97c5da --- /dev/null +++ b/opensrp-web/bin/src/main/resources/report-definition.json @@ -0,0 +1,2214 @@ +{ + "formIndicators": [ + { + "form": "child_close", + "indicators": [ + { + "indicator": "INFANT_LEFT", + "reportEntityType": "child", + "formFields": [ + "id", + "closeReason", + "submissionDate" + ], + "referenceData": { + "type": "child", + "idField": "id", + "fields": [ + "dateOfBirth" + ] + }, + "reportWhen": [ + "IsChildLessThanOneYearOldRule", + "RelocationIsPermanentRule" + ] + }, + { + "indicator": "NRHM_ID_24HRS", + "reportEntityType": "child", + "serviceProvidedDateField": "deathDate", + "formFields": [ + "id", + "deathCause", + "deathDate" + ], + "referenceData": { + "type": "child", + "idField": "id", + "fields": [ + "dateOfBirth" + ] + }, + "reportWhen": [ + "IsChildLessThanOneYearOldRule", + "IsDeathWithin24HoursRule" + ] + }, + { + "indicator": "NRHM_ID_SEPSIS", + "reportEntityType": "child", + "serviceProvidedDateField": "deathDate", + "formFields": [ + "id", + "deathCause", + "deathDate" + ], + "referenceData": { + "type": "child", + "idField": "id", + "fields": [ + "dateOfBirth" + ] + }, + "reportWhen": [ + "IsChildLessThanOneYearOldRule", + "IsDeathWasCausedBySepsisRule" + ] + }, + { + "indicator": "NRHM_ID_ASPHYXIA", + "reportEntityType": "child", + "serviceProvidedDateField": "deathDate", + "formFields": [ + "id", + "deathCause", + "deathDate" + ], + "referenceData": { + "type": "child", + "idField": "id", + "fields": [ + "dateOfBirth" + ] + }, + "reportWhen": [ + "IsChildLessThanOneYearOldRule", + "IsDeathWasCausedByAsphyxiaRule" + ] + }, + { + "indicator": "NRHM_IMMUNIZATION_DEATH", + "reportEntityType": "child", + "serviceProvidedDateField": "deathDate", + "formFields": [ + "id", + "isImmunizationDeath", + "deathDate" + ], + "reportWhen": [ + "IsDeathCausedByImmunizationRule" + ] + }, + { + "indicator": "NRHM_ID_DIARRHEA", + "reportEntityType": "child", + "serviceProvidedDateField": "deathDate", + "formFields": [ + "id", + "deathCause", + "deathDate", + "serviceProvidedDate" + ], + "referenceData": { + "type": "child", + "idField": "id", + "fields": [ + "dateOfBirth" + ] + }, + "reportWhen": [ + "IsChildLessThanOneYearOldRule", + "IsDeathWasCausedByDiarrheaRule" + ] + }, + { + "indicator": "NRHM_ID_LBW", + "reportEntityType": "child", + "serviceProvidedDateField": "deathDate", + "formFields": [ + "id", + "deathCause", + "deathDate", + "serviceProvidedDate" + ], + "referenceData": { + "type": "child", + "idField": "id", + "fields": [ + "dateOfBirth" + ] + }, + "reportWhen": [ + "IsChildLessThanFourWeeksOldRule", + "IsDeathWasCausedByLBWRule" + ] + }, + { + "indicator": "NRHM_ID_PNEUMONIA", + "reportEntityType": "child", + "serviceProvidedDateField": "deathDate", + "formFields": [ + "id", + "deathCause", + "deathDate", + "serviceProvidedDate" + ], + "referenceData": { + "type": "child", + "idField": "id", + "fields": [ + "dateOfBirth" + ] + }, + "reportWhen": [ + "IsChildLessThanOneYearOldRule", + "IsDeathWasCausedByPneumoniaRule" + ] + }, + { + "indicator": "NRHM_ID_FEVER_RELATED", + "reportEntityType": "child", + "serviceProvidedDateField": "deathDate", + "formFields": [ + "id", + "deathCause", + "deathDate", + "serviceProvidedDate" + ], + "referenceData": { + "type": "child", + "idField": "id", + "fields": [ + "dateOfBirth" + ] + }, + "reportWhen": [ + "IsChildLessThanOneYearOldRule", + "IsDeathWasCausedByFeverRelatedRule" + ] + }, + { + "indicator": "NRHM_ID_MEASLES", + "reportEntityType": "child", + "serviceProvidedDateField": "deathDate", + "formFields": [ + "id", + "deathCause", + "deathDate", + "serviceProvidedDate" + ], + "referenceData": { + "type": "child", + "idField": "id", + "fields": [ + "dateOfBirth" + ] + }, + "reportWhen": [ + "IsChildLessThanOneYearOldRule", + "IsDeathWasCausedByMeaslesRule" + ] + }, + { + "indicator": "NRHM_ID_OTHERS", + "reportEntityType": "child", + "serviceProvidedDateField": "deathDate", + "formFields": [ + "id", + "deathCause", + "deathDate", + "serviceProvidedDate" + ], + "referenceData": { + "type": "child", + "idField": "id", + "fields": [ + "dateOfBirth" + ] + }, + "reportWhen": [ + "IsChildLessThanOneYearOldRule", + "IsDeathWasCausedByOthersRule" + ] + } + ] + }, + { + "form": "ec_registration", + "indicators": [ + { + "indicator": "CONDOM_QTY", + "reportEntityType": "eligible_couple", + "serviceProvidedDateField": "familyPlanningMethodChangeDate", + "quantityField": "numberOfCondomsSupplied", + "formFields": [ + "id", + "numberOfCondomsSupplied", + "familyPlanningMethodChangeDate", + "currentMethod" + ], + "reportWhen": [ + "CurrentFPMethodIsCondomRule", + "MoreThanZeroCondomsSuppliedRule" + ] + }, + { + "indicator": "NRHM_OCP_STRIPS", + "reportEntityType": "eligible_couple", + "serviceProvidedDateField": "familyPlanningMethodChangeDate", + "quantityField": "numberOfOCPDelivered", + "formFields": [ + "id", + "familyPlanningMethodChangeDate", + "numberOfOCPDelivered", + "currentMethod" + ], + "reportWhen": [ + "CurrentFPMethodIsOCPRule", + "MoreThanZeroOCPStripsSuppliedRule" + ] + }, + { + "indicator": "NRHM_CENTCHROMAN_PILLS", + "reportEntityType": "eligible_couple", + "serviceProvidedDateField": "familyPlanningMethodChangeDate", + "quantityField": "numberOfCentchromanPillsDelivered", + "formFields": [ + "id", + "familyPlanningMethodChangeDate", + "numberOfCentchromanPillsDelivered", + "currentMethod" + ], + "reportWhen": [ + "CurrentFPMethodIsCentchromanRule", + "MoreThanZeroCentchromanPillsSuppliedRule" + ] + } + ] + }, + { + "form": "record_ecps", + "indicators": [ + { + "indicator": "NRHM_ECP", + "reportEntityType": "eligible_couple", + "serviceProvidedDateField": "ecpDate", + "quantityField": "numberOfECPsGiven", + "formFields": [ + "id", + "numberOfECPsGiven", + "ecpDate" + ], + "reportWhen": [ + "MoreThanZeroECPsSuppliedRule" + ] + } + ] + }, + { + "form": "fp_change", + "indicators": [ + { + "indicator": "CONDOM_QTY", + "reportEntityType": "eligible_couple", + "serviceProvidedDateField": "familyPlanningMethodChangeDate", + "quantityField": "numberOfCondomsSupplied", + "formFields": [ + "id", + "numberOfCondomsSupplied", + "familyPlanningMethodChangeDate", + "newMethod" + ], + "reportWhen": [ + "NewFPMethodIsCondomRule", + "MoreThanZeroCondomsSuppliedRule" + ] + }, + { + "indicator": "NRHM_IUDREM", + "reportEntityType": "eligible_couple", + "serviceProvidedDateField": "iudRemovalDate", + "formFields": [ + "id", + "iudRemovalDate", + "iudRemovalPlace" + ], + "reportWhen": [ + "IUDRemovedAtHomeAtHomeOrSubCenterRule" + ] + }, + { + "indicator": "NRHM_OCP_STRIPS", + "reportEntityType": "eligible_couple", + "serviceProvidedDateField": "familyPlanningMethodChangeDate", + "quantityField": "numberOfOCPDelivered", + "formFields": [ + "id", + "familyPlanningMethodChangeDate", + "numberOfOCPDelivered", + "newMethod" + ], + "reportWhen": [ + "NewFPMethodIsOCPRule", + "MoreThanZeroOCPStripsSuppliedRule" + ] + }, + { + "indicator": "NRHM_CENTCHROMAN_PILLS", + "reportEntityType": "eligible_couple", + "serviceProvidedDateField": "familyPlanningMethodChangeDate", + "quantityField": "numberOfCentchromanPillsDelivered", + "formFields": [ + "id", + "familyPlanningMethodChangeDate", + "numberOfCentchromanPillsDelivered", + "newMethod" + ], + "reportWhen": [ + "NewFPMethodIsCentchromanPillsRule", + "MoreThanZeroCentchromanPillsSuppliedRule" + ] + } + ] + }, + { + "form": "renew_fp_product", + "indicators": [ + { + "indicator": "CONDOM_QTY", + "reportEntityType": "eligible_couple", + "serviceProvidedDateField": "fpRenewMethodVisitDate", + "quantityField": "numberOfCondomsSupplied", + "formFields": [ + "id", + "numberOfCondomsSupplied", + "currentMethod", + "fpRenewMethodVisitDate" + ], + "reportWhen": [ + "CurrentFPMethodIsCondomRule", + "MoreThanZeroCondomsSuppliedRule" + ] + }, + { + "indicator": "NRHM_OCP_STRIPS", + "reportEntityType": "eligible_couple", + "serviceProvidedDateField": "fpRenewMethodVisitDate", + "quantityField": "numberOfOCPDelivered", + "formFields": [ + "id", + "fpRenewMethodVisitDate", + "numberOfOCPDelivered", + "currentMethod" + ], + "reportWhen": [ + "CurrentFPMethodIsOCPRule", + "MoreThanZeroOCPStripsSuppliedRule" + ] + }, + { + "indicator": "NRHM_CENTCHROMAN_PILLS", + "reportEntityType": "eligible_couple", + "serviceProvidedDateField": "fpRenewMethodVisitDate", + "quantityField": "numberOfCentchromanPillsDelivered", + "formFields": [ + "id", + "fpRenewMethodVisitDate", + "numberOfCentchromanPillsDelivered", + "currentMethod" + ], + "reportWhen": [ + "CurrentFPMethodIsCentchromanRule", + "MoreThanZeroCentchromanPillsSuppliedRule" + ] + }, + { + "indicator": "CONDOM", + "reportEntityType": "eligible_couple", + "serviceProvidedDateField": "fpRenewMethodVisitDate", + "formFields": [ + "id", + "currentMethod", + "numberOfCondomsSupplied", + "fpRenewMethodVisitDate" + ], + "reportWhen": [ + "CurrentFPMethodIsCondomRule", + "MoreThanZeroCondomsSuppliedRule" + ] + }, + { + "indicator": "OCP", + "reportEntityType": "eligible_couple", + "serviceProvidedDateField": "fpRenewMethodVisitDate", + "formFields": [ + "id", + "currentMethod", + "numberOfOCPDelivered", + "fpRenewMethodVisitDate" + ], + "reportWhen": [ + "CurrentFPMethodIsOCPRule", + "MoreThanZeroOCPStripsSuppliedRule" + ] + }, + { + "indicator": "OCP_SC", + "reportEntityType": "eligible_couple", + "serviceProvidedDateField": "fpRenewMethodVisitDate", + "formFields": [ + "id", + "currentMethod", + "numberOfOCPDelivered", + "fpRenewMethodVisitDate" + ], + "referenceData": { + "type": "eligible_couple", + "idField": "id", + "fields": [ + "caste" + ] + }, + "reportWhen": [ + "CurrentFPMethodIsOCPRule", + "MoreThanZeroOCPStripsSuppliedRule", + "CasteIsSCRule" + ] + }, + { + "indicator": "OCP_ST", + "reportEntityType": "eligible_couple", + "serviceProvidedDateField": "fpRenewMethodVisitDate", + "formFields": [ + "id", + "currentMethod", + "numberOfOCPDelivered", + "fpRenewMethodVisitDate" + ], + "referenceData": { + "type": "eligible_couple", + "idField": "id", + "fields": [ + "caste" + ] + }, + "reportWhen": [ + "CurrentFPMethodIsOCPRule", + "MoreThanZeroOCPStripsSuppliedRule", + "CasteIsSTRule" + ] + }, + { + "indicator": "OCP_C_OTHERS", + "reportEntityType": "eligible_couple", + "serviceProvidedDateField": "fpRenewMethodVisitDate", + "formFields": [ + "id", + "currentMethod", + "numberOfOCPDelivered", + "fpRenewMethodVisitDate" + ], + "referenceData": { + "type": "eligible_couple", + "idField": "id", + "fields": [ + "caste" + ] + }, + "reportWhen": [ + "CurrentFPMethodIsOCPRule", + "MoreThanZeroOCPStripsSuppliedRule", + "CasteIsOthersRule" + ] + } + ] + }, + { + "form": "fp_complications", + "indicators": [ + { + "indicator": "NRHM_M_S_COMP", + "reportEntityType": "eligible_couple", + "serviceProvidedDateField": "complicationDate", + "formFields": [ + "id", + "sterilizationSideEffect", + "currentMethod", + "complicationDate" + ], + "reportWhen": [ + "CurrentFPMethodIsMaleSterilizationRule", + "IsSideEffectDueToSterilizationRule" + ] + }, + { + "indicator": "NRHM_F_S_COMP", + "reportEntityType": "eligible_couple", + "serviceProvidedDateField": "complicationDate", + "formFields": [ + "id", + "sterilizationSideEffect", + "currentMethod", + "complicationDate" + ], + "reportWhen": [ + "CurrentFPMethodIsFemaleSterilizationRule", + "IsSideEffectDueToSterilizationRule" + ] + }, + { + "indicator": "NRHM_S_COMP", + "reportEntityType": "eligible_couple", + "serviceProvidedDateField": "complicationDate", + "formFields": [ + "id", + "sterilizationSideEffect", + "currentMethod", + "complicationDate" + ], + "reportWhen": [ + "CurrentFPMethodIsEitherMaleOrFemaleSterilizationRule", + "IsSideEffectDueToSterilizationRule" + ] + }, + { + "indicator": "NRHM_M_S_FAILURE", + "reportEntityType": "eligible_couple", + "serviceProvidedDateField": "complicationDate", + "formFields": [ + "id", + "isSterilizationFailure", + "currentMethod", + "complicationDate" + ], + "reportWhen": [ + "CurrentFPMethodIsMaleSterilizationRule", + "IsSterilizationFailureRule" + ] + }, + { + "indicator": "NRHM_F_S_FAILURE", + "reportEntityType": "eligible_couple", + "serviceProvidedDateField": "complicationDate", + "formFields": [ + "id", + "isSterilizationFailure", + "currentMethod", + "complicationDate" + ], + "reportWhen": [ + "CurrentFPMethodIsFemaleSterilizationRule", + "IsSterilizationFailureRule" + ] + }, + { + "indicator": "NRHM_S_FAILURE", + "reportEntityType": "eligible_couple", + "serviceProvidedDateField": "complicationDate", + "formFields": [ + "id", + "isSterilizationFailure", + "currentMethod", + "complicationDate" + ], + "reportWhen": [ + "CurrentFPMethodIsEitherMaleOrFemaleSterilizationRule", + "IsSterilizationFailureRule" + ] + } + ] + }, + { + "form": "fp_followup", + "indicators": [ + { + "indicator": "NRHM_M_S_COMP", + "reportEntityType": "eligible_couple", + "serviceProvidedDateField": "fpFollowupDate", + "formFields": [ + "id", + "sterilizationSideEffect", + "currentMethod", + "fpFollowupDate" + ], + "reportWhen": [ + "CurrentFPMethodIsMaleSterilizationRule", + "IsSideEffectDueToSterilizationRule" + ] + }, + { + "indicator": "NRHM_F_S_COMP", + "reportEntityType": "eligible_couple", + "serviceProvidedDateField": "fpFollowupDate", + "formFields": [ + "id", + "sterilizationSideEffect", + "currentMethod", + "fpFollowupDate" + ], + "reportWhen": [ + "CurrentFPMethodIsFemaleSterilizationRule", + "IsSideEffectDueToSterilizationRule" + ] + }, + { + "indicator": "NRHM_S_COMP", + "reportEntityType": "eligible_couple", + "serviceProvidedDateField": "fpFollowupDate", + "formFields": [ + "id", + "sterilizationSideEffect", + "currentMethod", + "fpFollowupDate" + ], + "reportWhen": [ + "CurrentFPMethodIsEitherMaleOrFemaleSterilizationRule", + "IsSideEffectDueToSterilizationRule" + ] + }, + { + "indicator": "NRHM_M_S_FAILURE", + "reportEntityType": "eligible_couple", + "serviceProvidedDateField": "fpFollowupDate", + "formFields": [ + "id", + "isSterilizationFailure", + "currentMethod", + "fpFollowupDate" + ], + "reportWhen": [ + "CurrentFPMethodIsMaleSterilizationRule", + "IsSterilizationFailureRule" + ] + }, + { + "indicator": "NRHM_F_S_FAILURE", + "reportEntityType": "eligible_couple", + "serviceProvidedDateField": "fpFollowupDate", + "formFields": [ + "id", + "isSterilizationFailure", + "currentMethod", + "fpFollowupDate" + ], + "reportWhen": [ + "CurrentFPMethodIsFemaleSterilizationRule", + "IsSterilizationFailureRule" + ] + }, + { + "indicator": "NRHM_S_FAILURE", + "reportEntityType": "eligible_couple", + "serviceProvidedDateField": "fpFollowupDate", + "formFields": [ + "id", + "isSterilizationFailure", + "currentMethod", + "fpFollowupDate" + ], + "reportWhen": [ + "CurrentFPMethodIsEitherMaleOrFemaleSterilizationRule", + "IsSterilizationFailureRule" + ] + } + ] + }, + { + "form": "child_registration_oa", + "indicators": [ + { + "indicator": "INFANT_REG", + "reportEntityType": "child", + "serviceProvidedDateField": "registrationDate", + "formFields": [ + "id", + "registrationDate", + "dateOfBirth", + "submissionDate" + ], + "reportWhen": [ + "IsChildLessThanOneYearOldRule" + ] + } + ] + }, + { + "form": "child_illness", + "indicators": [ + { + "indicator": "NRHM_MEASLES", + "reportEntityType": "child", + "serviceProvidedDateField": "reportChildDiseaseDate", + "serviceProvidedPlaceField": "reportChildDiseasePlace", + "formFields": [ + "id", + "dateOfBirth", + "reportChildDisease", + "reportChildDiseaseDate" + ], + "reportWhen": [ + "ServiceProvidedAtSub_CenterRule", + "IsChildDiseaseReportedAsMeaslesRule", + "IsChildBelowFiveYearsRule" + ] + }, + { + "indicator": "NRHM_DIARRHEA_DEHYDRATION", + "reportEntityType": "child", + "serviceProvidedDateField": "reportChildDiseaseDate", + "serviceProvidedPlaceField": "reportChildDiseasePlace", + "formFields": [ + "id", + "dateOfBirth", + "reportChildDisease", + "reportChildDiseaseDate" + ], + "reportWhen": [ + "ServiceProvidedAtSub_CenterRule", + "IsChildDiseaseReportedAsDiarrheaDehydrationRule", + "IsChildBelowFiveYearsRule" + ] + }, + { + "indicator": "NRHM_MALARIA", + "reportEntityType": "child", + "serviceProvidedDateField": "reportChildDiseaseDate", + "serviceProvidedPlaceField": "reportChildDiseasePlace", + "formFields": [ + "id", + "dateOfBirth", + "reportChildDisease", + "reportChildDiseaseDate" + ], + "reportWhen": [ + "ServiceProvidedAtSub_CenterRule", + "IsChildDiseaseReportedAsMalariaRule", + "IsChildBelowFiveYearsRule" + ] + } + ] + }, + { + "form": "child_immunizations", + "indicators": [ + { + "indicator": "NRHM_BCG_1YR", + "reportEntityType": "child", + "serviceProvidedDateField": "immunizationDate", + "serviceProvidedPlaceField": "immunizationPlace", + "formFields": [ + "id", + "dateOfBirth", + "previousImmunizations", + "immunizationsGiven", + "immunizationDate" + ], + "reportWhen": [ + "IsChildLessThanOneYearOldRule", + "IsBCGImmunizationGivenRule", + "ServiceProvidedAtSub_CenterRule" + ] + }, + { + "indicator": "NRHM_PENT_1_1YR", + "reportEntityType": "child", + "serviceProvidedDateField": "immunizationDate", + "serviceProvidedPlaceField": "immunizationPlace", + "formFields": [ + "id", + "dateOfBirth", + "previousImmunizations", + "immunizationsGiven", + "immunizationDate" + ], + "reportWhen": [ + "IsChildLessThanOneYearOldRule", + "IsPentavalent1ImmunizationGivenRule", + "ServiceProvidedAtSub_CenterRule" + ] + }, + { + "indicator": "NRHM_PENT_2_1YR", + "reportEntityType": "child", + "serviceProvidedDateField": "immunizationDate", + "serviceProvidedPlaceField": "immunizationPlace", + "formFields": [ + "id", + "dateOfBirth", + "previousImmunizations", + "immunizationsGiven", + "immunizationDate" + ], + "reportWhen": [ + "IsChildLessThanOneYearOldRule", + "IsPentavalent2ImmunizationGivenRule", + "ServiceProvidedAtSub_CenterRule" + ] + }, + { + "indicator": "NRHM_PENT_3_1YR", + "reportEntityType": "child", + "serviceProvidedDateField": "immunizationDate", + "serviceProvidedPlaceField": "immunizationPlace", + "formFields": [ + "id", + "dateOfBirth", + "previousImmunizations", + "immunizationsGiven", + "immunizationDate" + ], + "reportWhen": [ + "IsChildLessThanOneYearOldRule", + "IsPentavalent3ImmunizationGivenRule", + "ServiceProvidedAtSub_CenterRule" + ] + }, + { + "indicator": "NRHM_OPV_0_1YR", + "reportEntityType": "child", + "serviceProvidedDateField": "immunizationDate", + "serviceProvidedPlaceField": "immunizationPlace", + "formFields": [ + "id", + "dateOfBirth", + "previousImmunizations", + "immunizationsGiven", + "immunizationDate" + ], + "reportWhen": [ + "IsChildLessThanOneYearOldRule", + "IsOPV0ImmunizationGivenRule", + "ServiceProvidedAtSub_CenterRule" + ] + }, + { + "indicator": "NRHM_OPV_1_1YR", + "reportEntityType": "child", + "serviceProvidedDateField": "immunizationDate", + "serviceProvidedPlaceField": "immunizationPlace", + "formFields": [ + "id", + "dateOfBirth", + "previousImmunizations", + "immunizationsGiven", + "immunizationDate" + ], + "reportWhen": [ + "IsChildLessThanOneYearOldRule", + "IsOPV1ImmunizationGivenRule", + "ServiceProvidedAtSub_CenterRule" + ] + }, + { + "indicator": "NRHM_OPV_2_1YR", + "reportEntityType": "child", + "serviceProvidedDateField": "immunizationDate", + "serviceProvidedPlaceField": "immunizationPlace", + "formFields": [ + "id", + "dateOfBirth", + "previousImmunizations", + "immunizationsGiven", + "immunizationDate" + ], + "reportWhen": [ + "IsChildLessThanOneYearOldRule", + "IsOPV2ImmunizationGivenRule", + "ServiceProvidedAtSub_CenterRule" + ] + }, + { + "indicator": "NRHM_OPV_3_1YR", + "reportEntityType": "child", + "serviceProvidedDateField": "immunizationDate", + "serviceProvidedPlaceField": "immunizationPlace", + "formFields": [ + "id", + "dateOfBirth", + "previousImmunizations", + "immunizationsGiven", + "immunizationDate" + ], + "reportWhen": [ + "IsChildLessThanOneYearOldRule", + "IsOPV3ImmunizationGivenRule", + "ServiceProvidedAtSub_CenterRule" + ] + }, + { + "indicator": "NRHM_HEPB_0_1YR", + "reportEntityType": "child", + "serviceProvidedDateField": "immunizationDate", + "serviceProvidedPlaceField": "immunizationPlace", + "formFields": [ + "id", + "dateOfBirth", + "previousImmunizations", + "immunizationsGiven", + "immunizationDate" + ], + "reportWhen": [ + "IsChildLessThanOneYearOldRule", + "IsHepB0ImmunizationGivenRule", + "ServiceProvidedAtSub_CenterRule" + ] + }, + { + "indicator": "NRHM_MEASLES_1YR", + "reportEntityType": "child", + "serviceProvidedDateField": "immunizationDate", + "serviceProvidedPlaceField": "immunizationPlace", + "formFields": [ + "id", + "dateOfBirth", + "previousImmunizations", + "immunizationsGiven", + "immunizationDate" + ], + "reportWhen": [ + "IsChildLessThanOneYearOldRule", + "IsMeaslesImmunizationGivenRule", + "ServiceProvidedAtSub_CenterRule" + ] + }, + { + "indicator": "NRHM_MEASLES_BOOSTER_1YR", + "reportEntityType": "child", + "serviceProvidedDateField": "immunizationDate", + "serviceProvidedPlaceField": "immunizationPlace", + "formFields": [ + "id", + "dateOfBirth", + "previousImmunizations", + "immunizationsGiven", + "immunizationDate" + ], + "reportWhen": [ + "IsChildAgeGreaterThanOrEqualTo16MonthsRule", + "IsMeaslesBoosterImmunizationGivenRule", + "ServiceProvidedAtSub_CenterRule" + ] + }, + { + "indicator": "NRHM_DPTBOOSTER_2_>5YR", + "reportEntityType": "child", + "serviceProvidedDateField": "immunizationDate", + "serviceProvidedPlaceField": "immunizationPlace", + "formFields": [ + "id", + "dateOfBirth", + "previousImmunizations", + "immunizationsGiven", + "immunizationDate" + ], + "reportWhen": [ + "IsChildMoreThan5YearsOldRule", + "IsDPTBooster2ImmunizationGivenRule", + "ServiceProvidedAtSub_CenterRule" + ] + }, + { + "indicator": "NRHM_M_ALL_VAC", + "reportEntityType": "child", + "serviceProvidedDateField": "immunizationDate", + "serviceProvidedPlaceField": "immunizationPlace", + "formFields": [ + "id", + "dateOfBirth", + "immunizationDate", + "immunizationsGiven" + ], + "referenceData": { + "type": "child", + "idField": "id", + "fields": [ + "gender" + ] + }, + "reportWhen": [ + "IsChildLessThan23MonthsRule", + "IsAllImmunizationsGivenRule", + "ServiceProvidedAtSub_CenterRule", + "IsChildMaleRule" + ] + }, + { + "indicator": "NRHM_F_ALL_VAC", + "reportEntityType": "child", + "serviceProvidedDateField": "immunizationDate", + "serviceProvidedPlaceField": "immunizationPlace", + "formFields": [ + "id", + "dateOfBirth", + "immunizationDate", + "immunizationsGiven" + ], + "referenceData": { + "type": "child", + "idField": "id", + "fields": [ + "gender" + ] + }, + "reportWhen": [ + "IsChildLessThan23MonthsRule", + "IsAllImmunizationsGivenRule", + "ServiceProvidedAtSub_CenterRule", + "IsChildFemaleRule" + ] + }, + { + "indicator": "NRHM_ALL_VAC", + "reportEntityType": "child", + "serviceProvidedDateField": "immunizationDate", + "serviceProvidedPlaceField": "immunizationPlace", + "formFields": [ + "id", + "dateOfBirth", + "immunizationDate", + "immunizationsGiven" + ], + "reportWhen": [ + "IsChildLessThan23MonthsRule", + "IsAllImmunizationsGivenRule", + "ServiceProvidedAtSub_CenterRule" + ] + }, + { + "indicator": "NRHM_DPT", + "reportEntityType": "child", + "serviceProvidedDateField": "immunizationDate", + "serviceProvidedPlaceField": "immunizationPlace", + "formFields": [ + "id", + "dateOfBirth", + "immunizationDate", + "previousImmunizations", + "immunizationsGiven" + ], + "reportWhen": [ + "IsChildMoreThan16MonthsRule", + "IsDPTBoosterImmunizationGivenRule", + "ServiceProvidedAtSub_CenterRule" + ] + }, + { + "indicator": "NRHM_OPV", + "reportEntityType": "child", + "serviceProvidedDateField": "immunizationDate", + "serviceProvidedPlaceField": "immunizationPlace", + "formFields": [ + "id", + "dateOfBirth", + "immunizationDate", + "previousImmunizations", + "immunizationsGiven" + ], + "reportWhen": [ + "IsChildMoreThan16MonthsRule", + "IsOPVBoosterImmunizationGivenRule", + "ServiceProvidedAtSub_CenterRule" + ] + }, + { + "indicator": "NRHM_MMR", + "reportEntityType": "child", + "serviceProvidedDateField": "immunizationDate", + "serviceProvidedPlaceField": "immunizationPlace", + "formFields": [ + "id", + "dateOfBirth", + "immunizationDate", + "immunizationsGiven" + ], + "reportWhen": [ + "IsChildMoreThan16MonthsRule", + "IsMMRImmunizationGivenRule", + "ServiceProvidedAtSub_CenterRule" + ] + }, + { + "indicator": "NRHM_M_ALL_VACC_2Y", + "reportEntityType": "child", + "serviceProvidedDateField": "immunizationDate", + "serviceProvidedPlaceField": "immunizationPlace", + "formFields": [ + "id", + "dateOfBirth", + "immunizationDate", + "immunizationsGiven" + ], + "referenceData": { + "type": "child", + "idField": "id", + "fields": [ + "gender" + ] + }, + "reportWhen": [ + "IsChildBetween12And23MonthsRule", + "IsAllImmunizationsGivenEitherWithMeaslesOrMMRRule", + "IsChildMaleRule", + "ServiceProvidedAtSub_CenterRule" + ] + }, + { + "indicator": "NRHM_F_ALL_VACC_2Y", + "reportEntityType": "child", + "serviceProvidedDateField": "immunizationDate", + "serviceProvidedPlaceField": "immunizationPlace", + "formFields": [ + "id", + "dateOfBirth", + "immunizationDate", + "immunizationsGiven" + ], + "referenceData": { + "type": "child", + "idField": "id", + "fields": [ + "gender" + ] + }, + "reportWhen": [ + "IsChildBetween12And23MonthsRule", + "IsAllImmunizationsGivenEitherWithMeaslesOrMMRRule", + "IsChildFemaleRule", + "ServiceProvidedAtSub_CenterRule" + ] + }, + { + "indicator": "NRHM_ALL_VACC_2Y", + "reportEntityType": "child", + "serviceProvidedDateField": "immunizationDate", + "serviceProvidedPlaceField": "immunizationPlace", + "formFields": [ + "id", + "dateOfBirth", + "immunizationDate", + "immunizationsGiven" + ], + "reportWhen": [ + "IsChildBetween12And23MonthsRule", + "IsAllImmunizationsGivenEitherWithMeaslesOrMMRRule", + "ServiceProvidedAtSub_CenterRule" + ] + } + ] + }, + { + "form": "ec_close", + "indicators": [ + { + "indicator": "NRHM_M_S_DEATH", + "reportEntityType": "eligible_couple", + "serviceProvidedDateField": "sterilizationDeathDate", + "formFields": [ + "id", + "sterilizationDeathDate", + "isSterilizationDeath" + ], + "referenceData": { + "type": "eligible_couple", + "idField": "id", + "fields": [ + "currentMethod" + ] + }, + "reportWhen": [ + "CurrentFPMethodIsMaleSterilizationRule", + "IsDeathDueToSterilizationRule" + ] + }, + { + "indicator": "NRHM_F_S_DEATH", + "reportEntityType": "eligible_couple", + "serviceProvidedDateField": "sterilizationDeathDate", + "formFields": [ + "id", + "sterilizationDeathDate", + "isSterilizationDeath" + ], + "referenceData": { + "type": "eligible_couple", + "idField": "id", + "fields": [ + "currentMethod" + ] + }, + "reportWhen": [ + "CurrentFPMethodIsFemaleSterilizationRule", + "IsDeathDueToSterilizationRule" + ] + }, + { + "indicator": "NRHM_S_DEATH", + "reportEntityType": "eligible_couple", + "serviceProvidedDateField": "sterilizationDeathDate", + "formFields": [ + "id", + "sterilizationDeathDate", + "isSterilizationDeath" + ], + "referenceData": { + "type": "eligible_couple", + "idField": "id", + "fields": [ + "currentMethod" + ] + }, + "reportWhen": [ + "CurrentFPMethodIsEitherMaleOrFemaleSterilizationRule", + "IsDeathDueToSterilizationRule" + ] + }, + { + "indicator": "NRHM_MD_ABORTION", + "reportEntityType": "eligible_couple", + "serviceProvidedDateField": "maternalDeathDate", + "formFields": [ + "id", + "maternalDeathCause", + "maternalDeathDate" + ], + "reportWhen": [ + "IsDeathDueToAbortionRule" + ] + }, + { + "indicator": "NRHM_MD_LABOR", + "reportEntityType": "eligible_couple", + "serviceProvidedDateField": "maternalDeathDate", + "formFields": [ + "id", + "maternalDeathCause", + "maternalDeathDate" + ], + "reportWhen": [ + "IsDeathDueToProlongedObstructedLaborRule" + ] + }, + { + "indicator": "NRHM_MD_FITS", + "reportEntityType": "eligible_couple", + "serviceProvidedDateField": "maternalDeathDate", + "formFields": [ + "id", + "maternalDeathCause", + "maternalDeathDate" + ], + "reportWhen": [ + "IsDeathDueToSevereHyperTensionOrFitsRule" + ] + }, + { + "indicator": "NRHM_MD_BLEEDING", + "reportEntityType": "eligible_couple", + "serviceProvidedDateField": "maternalDeathDate", + "formFields": [ + "id", + "maternalDeathCause", + "maternalDeathDate" + ], + "reportWhen": [ + "IsDeathDueToBleedingRule" + ] + }, + { + "indicator": "NRHM_MD_H_FEVER", + "reportEntityType": "eligible_couple", + "serviceProvidedDateField": "maternalDeathDate", + "formFields": [ + "id", + "maternalDeathCause", + "maternalDeathDate" + ], + "reportWhen": [ + "IsDeathDueToHighFeverRule" + ] + }, + { + "indicator": "NRHM_MD_OTHER", + "reportEntityType": "eligible_couple", + "serviceProvidedDateField": "maternalDeathDate", + "formFields": [ + "id", + "maternalDeathCause", + "maternalDeathDate" + ], + "reportWhen": [ + "IsDeathDueToOtherReasonsRule" + ] + } + ] + }, + { + "form": "anc_visit", + "indicators": [ + { + "indicator": "NRHM_ANC3", + "reportEntityType": "mother", + "serviceProvidedDateField": "ancVisitDate", + "serviceProvidedPlaceField": "ancVisitPlace", + "formFields": [ + "id", + "referenceDate", + "ancVisitDate", + "ancVisitNumber" + ], + "reportWhen": [ + "MinimumThreeANCVisitsHappenedOnTimeRule", + "ServiceProvidedAtSub_CenterRule" + ] + }, + { + "indicator": "NRHM_HYPERTENSION", + "reportEntityType": "mother", + "serviceProvidedDateField": "ancVisitDate", + "serviceProvidedPlaceField": "ancVisitPlace", + "formFields": [ + "id", + "bpSystolic", + "bpDiastolic", + "ancVisitDate" + ], + "referenceData": { + "type": "mother", + "idField": "id", + "fields": ["isHypertensionDetectedForFirstTime"] + }, + "reportWhen": [ + "IsHypertensionDetectedRule", + "IsHypertensionDetectedForFirstTimeRule", + "ServiceProvidedAtSub_CenterRule" + ] + } + ] + }, + { + "form": "anc_close", + "indicators": [ + { + "indicator": "NRHM_MD_ABORTION", + "reportEntityType": "mother", + "serviceProvidedDateField": "maternalDeathDate", + "formFields": [ + "id", + "maternalDeathCause", + "maternalDeathDate" + ], + "reportWhen": [ + "IsDeathDueToAbortionRule" + ] + }, + { + "indicator": "NRHM_MD_FITS", + "reportEntityType": "mother", + "serviceProvidedDateField": "maternalDeathDate", + "formFields": [ + "id", + "maternalDeathCause", + "maternalDeathDate" + ], + "reportWhen": [ + "IsDeathDueToSevereHyperTensionOrFitsRule" + ] + }, + { + "indicator": "NRHM_MD_BLEEDING", + "reportEntityType": "mother", + "serviceProvidedDateField": "maternalDeathDate", + "formFields": [ + "id", + "maternalDeathCause", + "maternalDeathDate" + ], + "reportWhen": [ + "IsDeathDueToBleedingRule" + ] + }, + { + "indicator": "NRHM_MD_H_FEVER", + "reportEntityType": "mother", + "serviceProvidedDateField": "maternalDeathDate", + "formFields": [ + "id", + "maternalDeathCause", + "maternalDeathDate" + ], + "reportWhen": [ + "IsDeathDueToHighFeverRule" + ] + }, + { + "indicator": "NRHM_MD_OTHER", + "reportEntityType": "mother", + "serviceProvidedDateField": "maternalDeathDate", + "formFields": [ + "id", + "maternalDeathCause", + "maternalDeathDate" + ], + "reportWhen": [ + "IsDeathDueToOtherReasonsRule" + ] + }, + { + "indicator": "NRHM_SPONTANEOUS_ABORTION", + "reportEntityType": "mother", + "serviceProvidedDateField": "dateOfSpontaneousAbortion", + "serviceProvidedPlaceField": "placeOfSpontaneousAbortion", + "formFields": [ + "id", + "closeReason" + ], + "reportWhen": [ + "IsDeathDueToSpontaneousAbortionRule", + "SpontaneousAbortionAtHomeAtHomeOrSubCenterRule" + ] + } + ] + }, + { + "form": "anc_registration", + "indicators": [ + { + "indicator": "ANCS_AND_PNCS_WITH_BPL", + "reportEntityType": "mother", + "reportEntityIdField": "motherId", + "formFields": [ + "id", + "motherId" + ], + "referenceData": { + "type": "eligible_couple", + "idField": "id", + "fields": [ + "economicStatus" + ] + }, + "reportWhen": [ + "IsEconomicStatusBPLRule" + ] + }, + { + "indicator": "NRHM_JSY_REG", + "reportEntityType": "mother", + "serviceProvidedDateField": "registrationDate", + "reportEntityIdField": "motherId", + "serviceProvidedPlaceField": "registrationPlace", + "formFields": [ + "id", + "motherId", + "isJSYBeneficiary" + ], + "reportWhen": [ + "IsJsyBeneficiaryRule", + "ServiceProvidedAtSub_CenterRule" + ] + }, + { + "indicator": "NRHM_ANC", + "reportEntityType": "mother", + "reportEntityIdField": "motherId", + "serviceProvidedDateField": "registrationDate", + "serviceProvidedPlaceField": "registrationPlace", + "formFields": [ + "id", + "motherId" + ], + "reportWhen": [ + "ServiceProvidedAtSub_CenterRule" + ] + }, + { + "indicator": "NRHM_ANC_LT_12", + "reportEntityType": "mother", + "reportEntityIdField": "motherId", + "serviceProvidedDateField": "registrationDate", + "serviceProvidedPlaceField": "registrationPlace", + "formFields": [ + "id", + "motherId", + "referenceDate" + ], + "reportWhen": [ + "IsANCRegisteredWithinTwelveWeeksOfPregnancy", + "ServiceProvidedAtSub_CenterRule" + ] + } + ] + }, + { + "form": "anc_registration_oa", + "indicators": [ + { + "indicator": "ANCS_AND_PNCS_WITH_BPL", + "reportEntityType": "mother", + "reportEntityIdField": "motherId", + "formFields": [ + "motherId", + "economicStatus" + ], + "reportWhen": [ + "IsEconomicStatusBPLRule" + ] + } + ] + }, + { + "form": "delivery_outcome", + "indicators": [ + { + "indicator": "ANCS_AND_PNCS_WITH_BPL", + "reportEntityType": "mother", + "formFields": [ + "id" + ], + "referenceData": { + "type": "eligible_couple", + "idField": "ecId", + "fields": [ + "economicStatus" + ] + }, + "reportWhen": [ + "IsEconomicStatusBPLRule" + ] + }, + { + "indicator": "NRHM_SBA", + "reportEntityType": "mother", + "serviceProvidedDateField": "referenceDate", + "formFields": [ + "id", + "isSkilledDelivery", + "deliveryPlace", + "referenceDate" + ], + "reportWhen": [ + "DeliveryHappenedAtHomeRule", + "DeliveryIsAttendedBySBATrainedPersonRule" + ] + }, + { + "indicator": "NRHM_NON_SBA", + "reportEntityType": "mother", + "serviceProvidedDateField": "referenceDate", + "formFields": [ + "id", + "isSkilledDelivery", + "deliveryPlace", + "referenceDate" + ], + "reportWhen": [ + "DeliveryHappenedAtHomeRule", + "DeliveryIsAttendedByNonSBATrainedPersonRule" + ] + }, + { + "indicator": "NRHM_SC_DEL", + "reportEntityType": "mother", + "serviceProvidedDateField": "referenceDate", + "serviceProvidedPlaceField": "deliveryPlace", + "formFields": [ + "id", + "referenceDate" + ], + "reportWhen": [ + "ServiceProvidedAtSubCenterRule" + ] + }, + { + "indicator": "NRHM_MD_LABOR", + "reportEntityType": "mother", + "serviceProvidedDateField": "referenceDate", + "formFields": [ + "id", + "maternalDeathCause", + "referenceDate" + ], + "reportWhen": [ + "IsDeathDueToProlongedObstructedLaborRule" + ] + }, + { + "indicator": "NRHM_MD_FITS", + "reportEntityType": "mother", + "serviceProvidedDateField": "referenceDate", + "formFields": [ + "id", + "maternalDeathCause", + "referenceDate" + ], + "reportWhen": [ + "IsDeathDueToSevereHyperTensionOrFitsRule" + ] + }, + { + "indicator": "NRHM_MD_BLEEDING", + "reportEntityType": "mother", + "serviceProvidedDateField": "referenceDate", + "formFields": [ + "id", + "maternalDeathCause", + "referenceDate" + ], + "reportWhen": [ + "IsDeathDueToBleedingRule" + ] + }, + { + "indicator": "NRHM_MD_H_FEVER", + "reportEntityType": "mother", + "serviceProvidedDateField": "referenceDate", + "formFields": [ + "id", + "maternalDeathCause", + "referenceDate" + ], + "reportWhen": [ + "IsDeathDueToHighFeverRule" + ] + }, + { + "indicator": "NRHM_MD_OTHER", + "reportEntityType": "mother", + "serviceProvidedDateField": "referenceDate", + "formFields": [ + "id", + "maternalDeathCause", + "referenceDate" + ], + "reportWhen": [ + "IsDeathDueToOtherReasonsRule" + ] + } + ] + }, + { + "form": "pnc_registration_oa", + "indicators": [ + { + "indicator": "ANCS_AND_PNCS_WITH_BPL", + "reportEntityType": "mother", + "reportEntityIdField": "motherId", + "formFields": [ + "motherId", + "economicStatus" + ], + "reportWhen": [ + "IsEconomicStatusBPLRule" + ] + }, + { + "indicator": "NRHM_SBA", + "reportEntityType": "mother", + "serviceProvidedDateField": "referenceDate", + "reportEntityIdField": "motherId", + "formFields": [ + "id", + "isSkilledDelivery", + "deliveryPlace", + "referenceDate" + ], + "reportWhen": [ + "DeliveryHappenedAtHomeRule", + "DeliveryIsAttendedBySBATrainedPersonRule" + ] + }, + { + "indicator": "NRHM_NON_SBA", + "reportEntityType": "mother", + "serviceProvidedDateField": "referenceDate", + "reportEntityIdField": "motherId", + "formFields": [ + "id", + "isSkilledDelivery", + "deliveryPlace", + "referenceDate" + ], + "reportWhen": [ + "DeliveryHappenedAtHomeRule", + "DeliveryIsAttendedByNonSBATrainedPersonRule" + ] + }, + { + "indicator": "NRHM_SC_DEL", + "reportEntityType": "mother", + "serviceProvidedDateField": "referenceDate", + "serviceProvidedPlaceField": "deliveryPlace", + "reportEntityIdField": "motherId", + "formFields": [ + "id", + "referenceDate" + ], + "reportWhen": [ + "ServiceProvidedAtSubCenterRule" + ] + } + ] + }, + { + "form": "hb_test", + "indicators": [ + { + "indicator": "NRHM_HB_LEVEL", + "reportEntityType": "mother", + "serviceProvidedPlaceField": "hbTestPlace", + "serviceProvidedDateField": "hbTestDate", + "formFields": [ + "id", + "hbLevel" + ], + "reportWhen": [ + "IsPersonAnaemicRule", + "ServiceProvidedAtSub_CenterRule" + ] + } + ] + }, + { + "form": "vitamin_a", + "indicators": [ + { + "indicator": "NRHM_VIT_A_5_3YR", + "reportEntityType": "child", + "serviceProvidedDateField": "vitaminADate", + "serviceProvidedPlaceField": "vitaminAPlace", + "formFields": [ + "id", + "vitaminADose", + "vitaminADate", + "dateOfBirth" + ], + "reportWhen": [ + "IsVitaminA5DoseGivenRule", + "IsChildBelowThreeYearsRule", + "ServiceProvidedAtSub_CenterRule" + ] + }, + { + "indicator": "NRHM_VIT_A_9_3YR", + "reportEntityType": "child", + "serviceProvidedDateField": "vitaminADate", + "serviceProvidedPlaceField": "vitaminAPlace", + "formFields": [ + "id", + "vitaminADose", + "vitaminADate", + "dateOfBirth" + ], + "reportWhen": [ + "IsVitaminA9DoseGivenRule", + "IsChildBelowThreeYearsRule", + "ServiceProvidedAtSub_CenterRule" + ] + }, + { + "indicator": "NRHM_VIT_A_1", + "reportEntityType": "child", + "serviceProvidedDateField": "vitaminADate", + "serviceProvidedPlaceField": "vitaminAPlace", + "formFields": [ + "id", + "vitaminADose", + "vitaminADate", + "dateOfBirth" + ], + "reportWhen": [ + "IsVitaminA1DoseGivenRule", + "IsChildBetween6to12MonthsRule", + "ServiceProvidedAtSub_CenterRule" + ] + } + ] + }, + { + "form": "pnc_visit", + "indicators": [ + { + "indicator": "NRHM_48HRS", + "reportEntityType": "mother", + "serviceProvidedDateField": "dischargeDate", + "serviceProvidedPlaceField": "deliveryPlace", + "formFields": [ + "id", + "dischargeDate", + "referenceDate" + ], + "reportWhen": [ + "ServiceProvidedAtSubCenterRule", + "WomanIsDischargedWithin48HoursOfDeliveryRule" + ] + }, + { + "indicator": "NRHM_PNC_V_2D", + "reportEntityType": "mother", + "serviceProvidedDateField": "pncVisitDate", + "formFields": [ + "id", + "pncVisitPlace", + "pncVisitDate", + "referenceDate" + ], + "referenceData": { + "type": "mother", + "idField": "id", + "fields": ["pncVisitDates"] + }, + "reportWhen": [ + "PNCVisitHappenedAtSubCenterOrHomeRule", + "PNCVisitHappenedWithin2DaysOfDeliveryRule", + "IsPNCVisitFirstRule" + ] + }, + { + "indicator": "NRHM_PNC_V_14D", + "reportEntityType": "mother", + "serviceProvidedDateField": "pncVisitDate", + "formFields": [ + "id", + "pncVisitPlace", + "pncVisitDate", + "referenceDate" + ], + "referenceData": { + "type": "mother", + "idField": "id", + "fields": ["pncVisitDates"] + }, + "reportWhen": [ + "PNCVisitHappenedAtSubCenterOrHomeRule", + "PNCVisitHappenedBetween2And14DaysOfDeliveryRule", + "IsPNCVisitFirstBetween2And14DaysOfDeliveryRule" + ] + } + ] + }, + { + "form": "postpartum_family_planning", + "indicators": [ + { + "indicator": "NRHM_OCP_STRIPS", + "reportEntityType": "eligible_couple", + "serviceProvidedDateField": "familyPlanningMethodChangeDate", + "reportEntityIdField": "ecId", + "quantityField": "numberOfOCPDelivered", + "externalIdField": "ecId", + "formFields": [ + "id", + "familyPlanningMethodChangeDate", + "numberOfOCPDelivered", + "currentMethod", + "thayiCardNumber", + "ecId" + ], + "reportWhen": [ + "CurrentFPMethodIsOCPRule", + "MoreThanZeroOCPStripsSuppliedRule" + ] + }, + { + "indicator": "CONDOM_QTY", + "reportEntityType": "eligible_couple", + "serviceProvidedDateField": "familyPlanningMethodChangeDate", + "reportEntityIdField": "ecId", + "quantityField": "numberOfCondomsSupplied", + "externalIdField": "ecId", + "formFields": [ + "id", + "familyPlanningMethodChangeDate", + "numberOfCondomsSupplied", + "currentMethod", + "thayiCardNumber", + "ecId" + ], + "reportWhen": [ + "CurrentFPMethodIsCondomRule", + "MoreThanZeroCondomsSuppliedRule" + ] + }, + { + "indicator": "NRHM_CENTCHROMAN_PILLS", + "reportEntityType": "eligible_couple", + "serviceProvidedDateField": "familyPlanningMethodChangeDate", + "reportEntityIdField": "ecId", + "quantityField": "numberOfCentchromanPillsDelivered", + "externalIdField": "ecId", + "formFields": [ + "id", + "familyPlanningMethodChangeDate", + "numberOfCentchromanPillsDelivered", + "currentMethod", + "thayiCardNumber", + "ecId" + ], + "reportWhen": [ + "CurrentFPMethodIsCentchromanRule", + "MoreThanZeroCentchromanPillsSuppliedRule" + ] + }, + { + "indicator": "IUD", + "reportEntityType": "eligible_couple", + "serviceProvidedDateField": "familyPlanningMethodChangeDate", + "reportEntityIdField": "ecId", + "externalIdField": "ecId", + "formFields": [ + "id", + "familyPlanningMethodChangeDate", + "currentMethod", + "thayiCardNumber", + "ecId" + ], + "referenceData": { + "type": "eligible_couple", + "idField": "ecId", + "fields": [ + "isOutOfArea" + ] + }, + "reportWhen": [ + "CurrentFPMethodIsIUDRule", + "IsNotOutOfAreaRule" + ] + }, + { + "indicator": "MALE_STERILIZATION", + "reportEntityType": "eligible_couple", + "serviceProvidedDateField": "familyPlanningMethodChangeDate", + "reportEntityIdField": "ecId", + "externalIdField": "ecId", + "formFields": [ + "id", + "familyPlanningMethodChangeDate", + "currentMethod", + "thayiCardNumber", + "ecId" + ], + "referenceData": { + "type": "eligible_couple", + "idField": "ecId", + "fields": [ + "isOutOfArea" + ] + }, + "reportWhen": [ + "CurrentFPMethodIsMaleSterilizationRule", + "IsNotOutOfAreaRule" + ] + }, + { + "indicator": "FEMALE_STERILIZATION", + "reportEntityType": "eligible_couple", + "serviceProvidedDateField": "familyPlanningMethodChangeDate", + "reportEntityIdField": "ecId", + "externalIdField": "ecId", + "formFields": [ + "id", + "familyPlanningMethodChangeDate", + "currentMethod", + "thayiCardNumber", + "ecId" + ], + "referenceData": { + "type": "eligible_couple", + "idField": "ecId", + "fields": [ + "isOutOfArea" + ] + }, + "reportWhen": [ + "CurrentFPMethodIsFemaleSterilizationRule", + "IsNotOutOfAreaRule" + ] + }, + { + "indicator": "FS_APL", + "reportEntityType": "eligible_couple", + "serviceProvidedDateField": "familyPlanningMethodChangeDate", + "reportEntityIdField": "ecId", + "externalIdField": "ecId", + "formFields": [ + "id", + "currentMethod", + "familyPlanningMethodChangeDate", + "thayiCardNumber", + "ecId" + ], + "referenceData": { + "type": "eligible_couple", + "idField": "ecId", + "fields": [ + "isOutOfArea", + "economicStatus" + ] + }, + "reportWhen": [ + "CurrentFPMethodIsFemaleSterilizationRule", + "IsNotOutOfAreaRule", + "IsEconomicStatusAPLRule" + ] + }, + { + "indicator": "FS_BPL", + "reportEntityType": "eligible_couple", + "serviceProvidedDateField": "familyPlanningMethodChangeDate", + "reportEntityIdField": "ecId", + "externalIdField": "ecId", + "formFields": [ + "id", + "currentMethod", + "familyPlanningMethodChangeDate", + "thayiCardNumber", + "ecId" + ], + "referenceData": { + "type": "eligible_couple", + "idField": "ecId", + "fields": [ + "isOutOfArea", + "economicStatus" + ] + }, + "reportWhen": [ + "CurrentFPMethodIsFemaleSterilizationRule", + "IsNotOutOfAreaRule", + "IsEconomicStatusBPLRule" + ] + } + ] + }, + { + "form": "pnc_close", + "indicators": [ + { + "indicator": "NRHM_MD_LABOR", + "reportEntityType": "mother", + "serviceProvidedDateField": "deathDate", + "formFields": [ + "id", + "maternalDeathCause", + "deathDate" + ], + "reportWhen": [ + "IsDeathDueToProlongedObstructedLaborRule" + ] + }, + { + "indicator": "NRHM_MD_FITS", + "reportEntityType": "mother", + "serviceProvidedDateField": "deathDate", + "formFields": [ + "id", + "maternalDeathCause", + "deathDate" + ], + "reportWhen": [ + "IsDeathDueToSevereHyperTensionOrFitsRule" + ] + }, + { + "indicator": "NRHM_MD_BLEEDING", + "reportEntityType": "mother", + "serviceProvidedDateField": "deathDate", + "formFields": [ + "id", + "maternalDeathCause", + "deathDate" + ], + "reportWhen": [ + "IsDeathDueToBleedingRule" + ] + }, + { + "indicator": "NRHM_MD_H_FEVER", + "reportEntityType": "mother", + "serviceProvidedDateField": "deathDate", + "formFields": [ + "id", + "maternalDeathCause", + "deathDate" + ], + "reportWhen": [ + "IsDeathDueToHighFeverRule" + ] + }, + { + "indicator": "NRHM_MD_OTHER", + "reportEntityType": "mother", + "serviceProvidedDateField": "deathDate", + "formFields": [ + "id", + "maternalDeathCause", + "deathDate" + ], + "reportWhen": [ + "IsDeathDueToOtherReasonsRule" + ] + } + ] + }, + { + "form": "ifa", + "indicators": [ + { + "indicator": "NRHM_IFA_100", + "reportEntityType": "mother", + "serviceProvidedDateField": "ifaTabletsDate", + "serviceProvidedPlaceField": "ifaTabletsPlace", + "formFields": [ + "id", + "numberOfIFATabletsGiven", + "ifaTabletsDate" + ], + "referenceData": { + "type": "mother", + "idField": "id", + "fields": [ + "totalNumberOfIFATabletsGiven" + ] + }, + "reportWhen": [ + "MoreThan100IFATabletsAreProvidedRule", + "ServiceProvidedAtSub_CenterRule" + ] + } + ] + }, + { + "form": "tt", + "indicators": [ + { + "indicator": "NRHM_TT1", + "reportEntityType": "mother", + "serviceProvidedDateField": "ttDate", + "serviceProvidedPlaceField": "ttInjectionPlace", + "formFields": [ + "id", + "ttDose" + ], + "reportWhen": [ + "ServiceProvidedAtSub_CenterRule", + "IsTT1DoseGivenForMother" + ] + }, + { + "indicator": "NRHM_SUB_TT", + "reportEntityType": "mother", + "serviceProvidedDateField": "ttDate", + "serviceProvidedPlaceField": "ttInjectionPlace", + "formFields": [ + "id", + "ttDose" + ], + "reportWhen": [ + "ServiceProvidedAtSub_CenterRule", + "IsTT2OrTTBoosterDoseGivenForMother" + ] + } + ] + } + ] +} diff --git a/opensrp-web/bin/src/main/resources/report-fields-definition.json b/opensrp-web/bin/src/main/resources/report-fields-definition.json new file mode 100644 index 0000000000..81e479f88f --- /dev/null +++ b/opensrp-web/bin/src/main/resources/report-fields-definition.json @@ -0,0 +1,128 @@ +{ + "ec_registration": [ + "id", + "currentMethod", + "familyPlanningMethodChangeDate", + "caste", + "economicStatus", + "submissionDate" + ], + "fp_complications": [ + ], + "fp_change": [ + "id", + "newMethod", + "familyPlanningMethodChangeDate", + "submissionDate" + ], + "anc_registration": [ + "motherId", + "referenceDate", + "registrationDate", + "submissionDate" + ], + "anc_visit": [ + "id", + "ancVisitDate", + "ancVisitNumber", + "submissionDate" + ], + "anc_close": [ + "id", + "timeOfInducedAbortion", + "dateOfInducedAbortion", + "closeReason", + "dateOfSpontaneousAbortion", + "isMaternalDeath", + "maternalDeathDate", + "submissionDate" + ], + "tt": [ + "id", + "ttDose", + "ttInjectionPlace", + "ttDate", + "submissionDate" + ], + "tt_1": [ + "id", + "ttDose", + "ttInjectionPlace", + "ttDate", + "submissionDate" + ], + "tt_2": [ + "id", + "ttDose", + "ttInjectionPlace", + "ttDate", + "submissionDate" + ], + "tt_booster": [ + "id", + "ttDose", + "ttInjectionPlace", + "ttDate", + "submissionDate" + ], + "delivery_outcome": [ + "id", + "deliveryOutcome", + "referenceDate", + "deliveryPlace", + "didWomanSurvive", + "didMotherSurvive", + "deliveryType", + "submissionDate" + ], + "pnc_close": [ + "id", + "closeReason", + "isMaternalDeath", + "deathDate", + "submissionDate" + ], + "pnc_registration_oa": [ + "motherId", + "deliveryType", + "deliveryPlace", + "referenceDate", + "deliveryOutcome", + "submissionDate" + ], + "pnc_visit": [ + "id", + "pncVisitNumber", + "pncVisitDate", + "deliveryPlace", + "referenceDate", + "submissionDate" + ], + "child_immunizations": [ + "id", + "immunizationsGiven", + "immunizationDate", + "submissionDate" + ], + "child_close": [ + "id", + "closeReason", + "deathDate", + "deathCause", + "submissionDate" + ], + "child_illness": [ + "id", + "childSigns", + "sickVisitDate", + "reportChildDisease", + "reportChildDiseaseDate", + "submissionDate" + ], + "vitamin_a": [ + "id", + "vitaminADose", + "vitaminADate", + "submissionDate" + ] +} diff --git a/opensrp-web/bin/src/main/resources/sms-http-template.json b/opensrp-web/bin/src/main/resources/sms-http-template.json new file mode 100644 index 0000000000..8110260b2b --- /dev/null +++ b/opensrp-web/bin/src/main/resources/sms-http-template.json @@ -0,0 +1,15 @@ +{ + "outgoing": { + "request": { + "urlPath": "http://www.kookoo.in/outbound/outbound_sms.php", + "queryParameters": { + "phone_no": "$recipients", + "message": "$message", + "api_key": "KK76eca1f1a1229c2cc44ee858843b426d" + } + }, + "response": { + "success": "success" + } + } +} \ No newline at end of file diff --git a/opensrp-web/bin/src/main/resources/sms-http.properties b/opensrp-web/bin/src/main/resources/sms-http.properties new file mode 100644 index 0000000000..fd80997d7e --- /dev/null +++ b/opensrp-web/bin/src/main/resources/sms-http.properties @@ -0,0 +1 @@ +sms.http.configuration.filename=/sms-http-template.json diff --git a/opensrp-web/bin/src/main/resources/spring/applicationContext-opensrp-web.xml b/opensrp-web/bin/src/main/resources/spring/applicationContext-opensrp-web.xml new file mode 100644 index 0000000000..96a7e561f2 --- /dev/null +++ b/opensrp-web/bin/src/main/resources/spring/applicationContext-opensrp-web.xml @@ -0,0 +1,65 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/opensrp-web/bin/src/main/resources/spring/listener-context.xml b/opensrp-web/bin/src/main/resources/spring/listener-context.xml new file mode 100644 index 0000000000..f3686db669 --- /dev/null +++ b/opensrp-web/bin/src/main/resources/spring/listener-context.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/opensrp-web/bin/src/main/resources/spring/securityContext.xml b/opensrp-web/bin/src/main/resources/spring/securityContext.xml new file mode 100644 index 0000000000..9be0340856 --- /dev/null +++ b/opensrp-web/bin/src/main/resources/spring/securityContext.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/opensrp-web/bin/src/main/webapp/META-INF/context.xml b/opensrp-web/bin/src/main/webapp/META-INF/context.xml new file mode 100644 index 0000000000..37ac1b112f --- /dev/null +++ b/opensrp-web/bin/src/main/webapp/META-INF/context.xml @@ -0,0 +1,23 @@ + + + diff --git a/opensrp-web/bin/src/main/webapp/WEB-INF/home_error.jsp b/opensrp-web/bin/src/main/webapp/WEB-INF/home_error.jsp new file mode 100644 index 0000000000..db32443b36 --- /dev/null +++ b/opensrp-web/bin/src/main/webapp/WEB-INF/home_error.jsp @@ -0,0 +1,603 @@ +<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> +<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> + + + + + + + + + +Error Handling + + + + + + + + + + + + + + + + + + + +

+
+
+ OPENSRP +
+
+

Error Handling +

+
+
+
+
+ + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Error TypeDocument TypeRecord IdDate OccurredStatusActions
Error TypeDocument TypeRecord IdDate OccurredStatusActions
+ + + + +
+
+
+
+ + +<%-- + + --%> + + diff --git a/opensrp-web/bin/src/main/webapp/WEB-INF/solvederrors.jsp b/opensrp-web/bin/src/main/webapp/WEB-INF/solvederrors.jsp new file mode 100644 index 0000000000..5506b078df --- /dev/null +++ b/opensrp-web/bin/src/main/webapp/WEB-INF/solvederrors.jsp @@ -0,0 +1,107 @@ +<%@ page language="java" contentType="text/html; charset=ISO-8859-1" + pageEncoding="ISO-8859-1"%> + <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> + <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> + + + + + + + + + Error Handling + +<%-- --%> + + + + " rel="stylesheet"> + " rel="stylesheet"> + + + + +
+
+
+ OPENSRP +
+
+

+ Error Handling -- OpenSRP +

+
+
+
+
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + +
+ Name + + Date + + Status +
${i.errorType}${i.status}View
+
+
+
+
+
+
+
+
+
+ + + + + + \ No newline at end of file diff --git a/opensrp-web/bin/src/main/webapp/WEB-INF/spring/listener-context.xml b/opensrp-web/bin/src/main/webapp/WEB-INF/spring/listener-context.xml new file mode 100644 index 0000000000..03b1d3ec80 --- /dev/null +++ b/opensrp-web/bin/src/main/webapp/WEB-INF/spring/listener-context.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + diff --git a/opensrp-web/bin/src/main/webapp/WEB-INF/spring/webmvc-config.xml b/opensrp-web/bin/src/main/webapp/WEB-INF/spring/webmvc-config.xml new file mode 100644 index 0000000000..89d4561b1b --- /dev/null +++ b/opensrp-web/bin/src/main/webapp/WEB-INF/spring/webmvc-config.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + /WEB-INF/ + + + .jsp + + + + \ No newline at end of file diff --git a/opensrp-web/bin/src/main/webapp/WEB-INF/unsolvederrors.jsp b/opensrp-web/bin/src/main/webapp/WEB-INF/unsolvederrors.jsp new file mode 100644 index 0000000000..f1a103511e --- /dev/null +++ b/opensrp-web/bin/src/main/webapp/WEB-INF/unsolvederrors.jsp @@ -0,0 +1,107 @@ +<%@ page language="java" contentType="text/html; charset=ISO-8859-1" + pageEncoding="ISO-8859-1"%> + <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> + <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> + + + + + + + + + Error Handling + +<%-- --%> + + + + " rel="stylesheet"> + " rel="stylesheet"> + + + + +
+
+
+ OPENSRP +
+
+

+ Error Handling -- OpenSRP +

+
+
+
+
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + +
+ Name + + Date + + Status +
${i.errorType} ${i.status}View
+
+
+
+
+
+
+
+
+
+ + + + + + \ No newline at end of file diff --git a/opensrp-web/bin/src/main/webapp/WEB-INF/view_error.jsp b/opensrp-web/bin/src/main/webapp/WEB-INF/view_error.jsp new file mode 100644 index 0000000000..e18601bece --- /dev/null +++ b/opensrp-web/bin/src/main/webapp/WEB-INF/view_error.jsp @@ -0,0 +1,159 @@ +<%@ page language="java" contentType="text/html; charset=ISO-8859-1" + pageEncoding="ISO-8859-1"%> + + + <%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> + + + + + + + + + Error Handling + +<%-- --%> + + + + " rel="stylesheet"> + " rel="stylesheet"> + + + + +
+
+
+ OPENSRP +
+
+

+ Error Handling -- OpenSRP +

+
+
+
+
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Name: + + + +
Record Id + + + + +
Occurred Date + + + + +
Stack Trace + + + +
Status + + + + + + + + + + +
URL + + + +
ActionRetry + + + +
+ +
+
+
+
+
+
+
+
+
+ + + + + + diff --git a/opensrp-web/bin/src/main/webapp/WEB-INF/web.xml b/opensrp-web/bin/src/main/webapp/WEB-INF/web.xml new file mode 100644 index 0000000000..631d9f1730 --- /dev/null +++ b/opensrp-web/bin/src/main/webapp/WEB-INF/web.xml @@ -0,0 +1,114 @@ + + + + opensrp-server + + OpenSRP Web Application + + + Postgress DB Connection + jdbc/openSRPDB + javax.sql.DataSource + Container + + + + + defaultHtmlEscape + true + + + + contextConfigLocation + classpath*:spring/applicationContext-opensrp-web.xml + + + + CharacterEncodingFilter + org.springframework.web.filter.CharacterEncodingFilter + + encoding + UTF-8 + + + forceEncoding + true + + + + + HttpMethodFilter + org.springframework.web.filter.HiddenHttpMethodFilter + + + + springSecurityFilterChain + org.springframework.web.filter.DelegatingFilterProxy + + + + AuthenticationFilter + org.opensrp.web.AuthenticationFilter + + + + GZipFilter + org.opensrp.web.GZipCompressionFilter + + + + AuthenticationFilter + /authenticate-user/ + + + + springSecurityFilterChain + /* + + + + CharacterEncodingFilter + /* + + + + HttpMethodFilter + /* + + + + GZipFilter + /* + + + + + org.springframework.web.context.ContextLoaderListener + + + + spring.profiles.active + ${opensrp.database.profile},${opensrp.redis.client.profile} + + + + + opensrp + org.springframework.web.servlet.DispatcherServlet + + contextConfigLocation + /WEB-INF/spring/webmvc-config.xml + + 1 + + + + opensrp + / + + + + 120 + + diff --git a/opensrp-web/bin/src/main/webapp/WEB-INF/xlsformdownloader.jsp b/opensrp-web/bin/src/main/webapp/WEB-INF/xlsformdownloader.jsp new file mode 100644 index 0000000000..3762584f7e --- /dev/null +++ b/opensrp-web/bin/src/main/webapp/WEB-INF/xlsformdownloader.jsp @@ -0,0 +1,137 @@ +<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> + + + + +<%-- + --%> + + + +XLS Form Downloader + + + + + + + + + + + + + + + + + + + + +<%-- + --%> + +
+ Success! +
+
+ + +
+ Failure! +
+
+ +
+
+<%--

+

--%> + +
+
+ + + XLS Form Converter + + + + +
+ +
+ + +
+
+ +
+ +
+ + +
+
+ + +
+ +
+ + +
+
+ +
+ +
+ + +
+
+ + +
+ +
+ + +
+
+ + +
+ +
+ +
+
+ +
+
+
+
+

Form Definition Output

+ + +
+ +
+ + diff --git a/opensrp-web/bin/src/main/webapp/audit/log.html b/opensrp-web/bin/src/main/webapp/audit/log.html new file mode 100644 index 0000000000..a7724ee94d --- /dev/null +++ b/opensrp-web/bin/src/main/webapp/audit/log.html @@ -0,0 +1,20 @@ + + + + Messages! + + + + + + + + +
+ +
+ +
+ + + diff --git a/opensrp-web/bin/src/main/webapp/index.html b/opensrp-web/bin/src/main/webapp/index.html new file mode 100644 index 0000000000..9a3c3ae414 --- /dev/null +++ b/opensrp-web/bin/src/main/webapp/index.html @@ -0,0 +1,12 @@ + + + + Welcome to OpenSRP! + + + +
+ +
+ + diff --git a/opensrp-web/bin/src/main/webapp/js/auditlog.js b/opensrp-web/bin/src/main/webapp/js/auditlog.js new file mode 100644 index 0000000000..b168a0acf9 --- /dev/null +++ b/opensrp-web/bin/src/main/webapp/js/auditlog.js @@ -0,0 +1,97 @@ +$(document).ready(function() { + var previousIndexOfMessages = 0; + + var statusDisplay = function(status) { + $('#status').text(status); + }; + var clearStatusDisplay = function() { + $('#status').text(""); + }; + + var hideMessage = function() { + $("#extraInformation").hide(); + $("#background").remove(); + }; + + var displayMessage = function(node) { + $("#extraInformation").empty().append(node).show(); + + $("#background").remove(); + $("body").append($("
")); + $("#background").css('width', $("html").width()).css('height', $("html").height()); + + var top = ($(window).height() - $("#extraInformation").height()) / 2; + var left = ($(window).width() - $("#extraInformation").width()) / 2; + $("#extraInformation").css('top', $("body").scrollTop() + top).css('left', left); + + $("#background").click(function() { hideMessage(); }); + }; + + var showNewMessages = function(newMessages) { + $(newMessages).each(function(index, elem) { + var message = new AuditMessage(elem); + + var auditItem = $("
" + + "" + new Date(message.time) + "" + + "" + message.content + "" + + "
").fadeIn(2000).delay(1000).animate({backgroundColor: "rgba(0, 200, 0, 0.2)"}, 5500); + + var actionsDiv = $("
"); + addActions(actionsDiv, message.info, message.actions); + auditItem.append(actionsDiv); + + $("#messages").prepend(auditItem)});; + }; + + var addActions = function(auditItem, extraInfo, actions) { + var addAction = function(auditItem, message, action) { + var actionSpan = $("" + message + ""); + actionSpan.click(action); + auditItem.append(actionSpan); + }; + + var addLink = function(auditItem, message, link) { + auditItem.append($("" + message + "")); + }; + + var createExtraInfoNode = function(info) { + var extraInfo = ""; + $($.map(info, function(value, key) { return key; }).sort()).each(function(index, elem) { + extraInfo += "" + elem + " : " + info[elem] + ""; + }); + return $(extraInfo); + }; + + $(actions).each(function(index, action) { + addLink(auditItem, action.text, (function(){return action.link})()); + }); + + if (!$.isEmptyObject(extraInfo)) { + addAction(auditItem, "Show more information", function() { displayMessage(createExtraInfoNode(extraInfo)); }); + } + }; + + var updateMessageIndex = function(newMessages) { + if (newMessages.length == 0) return; + previousIndexOfMessages = newMessages[newMessages.length - 1].index; + }; + + var displayNewMessages = function() { + $.getJSON('../audit/messages', {previousAuditMessageIndex: previousIndexOfMessages}) + .success(function(responseFromServer) { + clearStatusDisplay(); + updateMessageIndex(responseFromServer); + showNewMessages(responseFromServer); + }) + .error(function(jqXHR, textStatus) { + statusDisplay("Failed!"); + }); + + }; + + var init = function() { + setInterval(displayNewMessages, 2000); + }; + + init(); +}); diff --git a/opensrp-web/bin/src/main/webapp/js/domain/auditmessage.js b/opensrp-web/bin/src/main/webapp/js/domain/auditmessage.js new file mode 100644 index 0000000000..8a83db3887 --- /dev/null +++ b/opensrp-web/bin/src/main/webapp/js/domain/auditmessage.js @@ -0,0 +1,37 @@ +function AuditMessage(auditItem) { + var handleSMS = function(item, messageToPutStuffInto) { + messageToPutStuffInto.type = "SMS"; + + var smsNotSentMessage = item.data.smsIsSent == "true" ? " " : " NOT "; + messageToPutStuffInto.content = "SMS" + smsNotSentMessage + "sent to " + item.data.recipient + ": " + item.data.message; + messageToPutStuffInto.actions = [{ + text : "Resend SMS", + link : "javascript:alert('Not implemented yet.');" + }] + }; + + var handleFormSubmission = function(item, messageToPutStuffInto) { + messageToPutStuffInto.type = "Form Submission"; + + var formData = JSON.parse(item.data.formData); + for(var key in formData) { + messageToPutStuffInto.info[key] = formData[key]; + } + + messageToPutStuffInto.content = "Form for '" + item.data.formType + "' submitted for case: " + messageToPutStuffInto.info.caseId + "."; + + messageToPutStuffInto.actions = [{ + text : "Open form in CommCare", + link : "https://www.commcarehq.org/a/frhs-who-columbia/reports/form_data/" + item.data.formId + "/" + }] + }; + + this.time = auditItem.time; + this.info = {}; + if (auditItem.type === "SMS") { + handleSMS(auditItem, this); + } + else if (auditItem.type === "FORM_SUBMISSION") { + handleFormSubmission(auditItem, this); + } +}; \ No newline at end of file diff --git a/opensrp-web/bin/src/main/webapp/js/fakeactions.js b/opensrp-web/bin/src/main/webapp/js/fakeactions.js new file mode 100644 index 0000000000..aaf5c8aa15 --- /dev/null +++ b/opensrp-web/bin/src/main/webapp/js/fakeactions.js @@ -0,0 +1,56 @@ +$(document).ready(function() { + var statusDisplay = function(status) { + $('#status').text(status); + }; + + var formStatusDisplay = function(formName, status) { + $('#' + formName + '-status').text(status).css('opacity', '100'); + }; + + var clearStatusDisplay = function(formName) { + $('#' + formName + '-status').text('.').css('opacity', '0'); + }; + + var createObjectFrom = function(formFields) { + var data = {}; + $.each(formFields, function(i, field) { + data[field.id.slice(field.id.indexOf('-') + 1)] = field.value; + }); + return data; + }; + + var handleSubmit = function(form) { + var payload = createObjectFrom($(form).children(".field")); + var data = createObjectFrom($(form).children(".data")); + var anmId = $(form).children(".anm")[0].value; + payload['data'] = data; + payload['details'] = {}; + payload['actionType'] = form.id; + + $.post('../action/submit', { formData: JSON.stringify(payload), anmIdentifier: anmId }) + .success(function(responseFromServer) { formStatusDisplay(form.id, "Success!"); }) + .error(function(responseFromServer, textStatus) { + formStatusDisplay(form.id, "Failed!"); + }); + }; + + var hookUpAllForms = function() { + $('form').each(function(formIndex, form) { + $(form).children('.mapping').each(function(mappingIndex, mapping) { + $(mapping).change(function() { clearStatusDisplay(form.id); }); + }); + + $(form).submit(function() { + handleSubmit(form); + return false; + }); + }); + + }; + + var init = function() { + hookUpAllForms(); + }; + + init(); +}); diff --git a/opensrp-web/bin/src/main/webapp/js/faketime.js b/opensrp-web/bin/src/main/webapp/js/faketime.js new file mode 100644 index 0000000000..c91fbf3bf8 --- /dev/null +++ b/opensrp-web/bin/src/main/webapp/js/faketime.js @@ -0,0 +1,59 @@ +$(document).ready(function() { + var timeToSet = function() { + return new Date($('#year').val(), $('#month').val() - 1, $('#day').val(), + $('#hour').val(), $('#minute').val(), $('#second').val()); + }; + + var changeTimeToSetDisplay = function() { + $('#timeToSet').text(timeToSet().toString()); + $('#status').text(''); + }; + + var setupCurrentTimeDisplay = function() { + var currentTime = new Date(); + + $('#year').val(currentTime.getFullYear()); + $('#month').val(currentTime.getMonth() + 1); + $('#day').val(currentTime.getDate()); + + $('#hour').val(currentTime.getHours()); + $('#minute').val(currentTime.getMinutes()); + $('#second').val(currentTime.getSeconds()); + + changeTimeToSetDisplay(); + }; + + var statusDisplay = function(status) { + $('#status').text(status); + }; + + var setTimeTo = function(offsetInSeconds) { + $.post('../time/set', { offset: offsetInSeconds }) + .success(function(responseFromServer) { + var timeOnServer = new Date(parseInt(responseFromServer)); + var offsetOnServerInSeconds = (timeOnServer - new Date()) / 1000; + var differenceBetweenExpectedAndActualOffset = offsetInSeconds - offsetOnServerInSeconds; + + var statusAccordingToExpectedOffset = differenceBetweenExpectedAndActualOffset > 10 ? "Failed to set time. Is faketime running?" : "Success!"; + + statusDisplay(statusAccordingToExpectedOffset + " Time on server: " + timeOnServer); + }) + .error(function(jqXHR, textStatus) { statusDisplay("Failed!"); }); + }; + + var init = function() { + setupCurrentTimeDisplay(); + + $('input#setTime').click(function() { + var currentTime = new Date(); + var offsetInSeconds = Math.ceil((timeToSet() - currentTime) / 1000); + setTimeTo(offsetInSeconds); + }); + + $('input[type="text"]').change(function() { + changeTimeToSetDisplay(); + }); + }; + + init(); +}); diff --git a/opensrp-web/bin/src/main/webapp/js/handlebars-1.0.0.beta.6.js b/opensrp-web/bin/src/main/webapp/js/handlebars-1.0.0.beta.6.js new file mode 100644 index 0000000000..83119ff88d --- /dev/null +++ b/opensrp-web/bin/src/main/webapp/js/handlebars-1.0.0.beta.6.js @@ -0,0 +1,1550 @@ +// lib/handlebars/base.js +var Handlebars = {}; + +Handlebars.VERSION = "1.0.beta.6"; + +Handlebars.helpers = {}; +Handlebars.partials = {}; + +Handlebars.registerHelper = function(name, fn, inverse) { + if(inverse) { fn.not = inverse; } + this.helpers[name] = fn; +}; + +Handlebars.registerPartial = function(name, str) { + this.partials[name] = str; +}; + +Handlebars.registerHelper('helperMissing', function(arg) { + if(arguments.length === 2) { + return undefined; + } else { + throw new Error("Could not find property '" + arg + "'"); + } +}); + +var toString = Object.prototype.toString, functionType = "[object Function]"; + +Handlebars.registerHelper('blockHelperMissing', function(context, options) { + var inverse = options.inverse || function() {}, fn = options.fn; + + + var ret = ""; + var type = toString.call(context); + + if(type === functionType) { context = context.call(this); } + + if(context === true) { + return fn(this); + } else if(context === false || context == null) { + return inverse(this); + } else if(type === "[object Array]") { + if(context.length > 0) { + for(var i=0, j=context.length; i 0) { + for(var i=0, j=context.length; i 2) { + expected.push("'" + this.terminals_[p] + "'"); + } + var errStr = ""; + if (this.lexer.showPosition) { + errStr = "Parse error on line " + (yylineno + 1) + ":\n" + this.lexer.showPosition() + "\nExpecting " + expected.join(", ") + ", got '" + this.terminals_[symbol] + "'"; + } else { + errStr = "Parse error on line " + (yylineno + 1) + ": Unexpected " + (symbol == 1?"end of input":"'" + (this.terminals_[symbol] || symbol) + "'"); + } + this.parseError(errStr, {text: this.lexer.match, token: this.terminals_[symbol] || symbol, line: this.lexer.yylineno, loc: yyloc, expected: expected}); + } + } + if (action[0] instanceof Array && action.length > 1) { + throw new Error("Parse Error: multiple actions possible at state: " + state + ", token: " + symbol); + } + switch (action[0]) { + case 1: + stack.push(symbol); + vstack.push(this.lexer.yytext); + lstack.push(this.lexer.yylloc); + stack.push(action[1]); + symbol = null; + if (!preErrorSymbol) { + yyleng = this.lexer.yyleng; + yytext = this.lexer.yytext; + yylineno = this.lexer.yylineno; + yyloc = this.lexer.yylloc; + if (recovering > 0) + recovering--; + } else { + symbol = preErrorSymbol; + preErrorSymbol = null; + } + break; + case 2: + len = this.productions_[action[1]][1]; + yyval.$ = vstack[vstack.length - len]; + yyval._$ = {first_line: lstack[lstack.length - (len || 1)].first_line, last_line: lstack[lstack.length - 1].last_line, first_column: lstack[lstack.length - (len || 1)].first_column, last_column: lstack[lstack.length - 1].last_column}; + r = this.performAction.call(yyval, yytext, yyleng, yylineno, this.yy, action[1], vstack, lstack); + if (typeof r !== "undefined") { + return r; + } + if (len) { + stack = stack.slice(0, -1 * len * 2); + vstack = vstack.slice(0, -1 * len); + lstack = lstack.slice(0, -1 * len); + } + stack.push(this.productions_[action[1]][0]); + vstack.push(yyval.$); + lstack.push(yyval._$); + newState = table[stack[stack.length - 2]][stack[stack.length - 1]]; + stack.push(newState); + break; + case 3: + return true; + } + } + return true; +} +};/* Jison generated lexer */ +var lexer = (function(){ + +var lexer = ({EOF:1, +parseError:function parseError(str, hash) { + if (this.yy.parseError) { + this.yy.parseError(str, hash); + } else { + throw new Error(str); + } + }, +setInput:function (input) { + this._input = input; + this._more = this._less = this.done = false; + this.yylineno = this.yyleng = 0; + this.yytext = this.matched = this.match = ''; + this.conditionStack = ['INITIAL']; + this.yylloc = {first_line:1,first_column:0,last_line:1,last_column:0}; + return this; + }, +input:function () { + var ch = this._input[0]; + this.yytext+=ch; + this.yyleng++; + this.match+=ch; + this.matched+=ch; + var lines = ch.match(/\n/); + if (lines) this.yylineno++; + this._input = this._input.slice(1); + return ch; + }, +unput:function (ch) { + this._input = ch + this._input; + return this; + }, +more:function () { + this._more = true; + return this; + }, +pastInput:function () { + var past = this.matched.substr(0, this.matched.length - this.match.length); + return (past.length > 20 ? '...':'') + past.substr(-20).replace(/\n/g, ""); + }, +upcomingInput:function () { + var next = this.match; + if (next.length < 20) { + next += this._input.substr(0, 20-next.length); + } + return (next.substr(0,20)+(next.length > 20 ? '...':'')).replace(/\n/g, ""); + }, +showPosition:function () { + var pre = this.pastInput(); + var c = new Array(pre.length + 1).join("-"); + return pre + this.upcomingInput() + "\n" + c+"^"; + }, +next:function () { + if (this.done) { + return this.EOF; + } + if (!this._input) this.done = true; + + var token, + match, + col, + lines; + if (!this._more) { + this.yytext = ''; + this.match = ''; + } + var rules = this._currentRules(); + for (var i=0;i < rules.length; i++) { + match = this._input.match(this.rules[rules[i]]); + if (match) { + lines = match[0].match(/\n.*/g); + if (lines) this.yylineno += lines.length; + this.yylloc = {first_line: this.yylloc.last_line, + last_line: this.yylineno+1, + first_column: this.yylloc.last_column, + last_column: lines ? lines[lines.length-1].length-1 : this.yylloc.last_column + match[0].length} + this.yytext += match[0]; + this.match += match[0]; + this.matches = match; + this.yyleng = this.yytext.length; + this._more = false; + this._input = this._input.slice(match[0].length); + this.matched += match[0]; + token = this.performAction.call(this, this.yy, this, rules[i],this.conditionStack[this.conditionStack.length-1]); + if (token) return token; + else return; + } + } + if (this._input === "") { + return this.EOF; + } else { + this.parseError('Lexical error on line '+(this.yylineno+1)+'. Unrecognized text.\n'+this.showPosition(), + {text: "", token: null, line: this.yylineno}); + } + }, +lex:function lex() { + var r = this.next(); + if (typeof r !== 'undefined') { + return r; + } else { + return this.lex(); + } + }, +begin:function begin(condition) { + this.conditionStack.push(condition); + }, +popState:function popState() { + return this.conditionStack.pop(); + }, +_currentRules:function _currentRules() { + return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules; + }, +topState:function () { + return this.conditionStack[this.conditionStack.length-2]; + }, +pushState:function begin(condition) { + this.begin(condition); + }}); +lexer.performAction = function anonymous(yy,yy_,$avoiding_name_collisions,YY_START) { + +var YYSTATE=YY_START +switch($avoiding_name_collisions) { +case 0: + if(yy_.yytext.slice(-1) !== "\\") this.begin("mu"); + if(yy_.yytext.slice(-1) === "\\") yy_.yytext = yy_.yytext.substr(0,yy_.yyleng-1), this.begin("emu"); + if(yy_.yytext) return 14; + +break; +case 1: return 14; +break; +case 2: this.popState(); return 14; +break; +case 3: return 24; +break; +case 4: return 16; +break; +case 5: return 20; +break; +case 6: return 19; +break; +case 7: return 19; +break; +case 8: return 23; +break; +case 9: return 23; +break; +case 10: yy_.yytext = yy_.yytext.substr(3,yy_.yyleng-5); this.popState(); return 15; +break; +case 11: return 22; +break; +case 12: return 34; +break; +case 13: return 33; +break; +case 14: return 33; +break; +case 15: return 36; +break; +case 16: /*ignore whitespace*/ +break; +case 17: this.popState(); return 18; +break; +case 18: this.popState(); return 18; +break; +case 19: yy_.yytext = yy_.yytext.substr(1,yy_.yyleng-2).replace(/\\"/g,'"'); return 28; +break; +case 20: return 30; +break; +case 21: return 30; +break; +case 22: return 29; +break; +case 23: return 33; +break; +case 24: yy_.yytext = yy_.yytext.substr(1, yy_.yyleng-2); return 33; +break; +case 25: return 'INVALID'; +break; +case 26: return 5; +break; +} +}; +lexer.rules = [/^[^\x00]*?(?=(\{\{))/,/^[^\x00]+/,/^[^\x00]{2,}?(?=(\{\{))/,/^\{\{>/,/^\{\{#/,/^\{\{\//,/^\{\{\^/,/^\{\{\s*else\b/,/^\{\{\{/,/^\{\{&/,/^\{\{![\s\S]*?\}\}/,/^\{\{/,/^=/,/^\.(?=[} ])/,/^\.\./,/^[\/.]/,/^\s+/,/^\}\}\}/,/^\}\}/,/^"(\\["]|[^"])*"/,/^true(?=[}\s])/,/^false(?=[}\s])/,/^[0-9]+(?=[}\s])/,/^[a-zA-Z0-9_$-]+(?=[=}\s\/.])/,/^\[[^\]]*\]/,/^./,/^$/]; +lexer.conditions = {"mu":{"rules":[3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26],"inclusive":false},"emu":{"rules":[2],"inclusive":false},"INITIAL":{"rules":[0,1,26],"inclusive":true}};return lexer;})() +parser.lexer = lexer; +return parser; +})(); +if (typeof require !== 'undefined' && typeof exports !== 'undefined') { +exports.parser = handlebars; +exports.parse = function () { return handlebars.parse.apply(handlebars, arguments); } +exports.main = function commonjsMain(args) { + if (!args[1]) + throw new Error('Usage: '+args[0]+' FILE'); + if (typeof process !== 'undefined') { + var source = require('fs').readFileSync(require('path').join(process.cwd(), args[1]), "utf8"); + } else { + var cwd = require("file").path(require("file").cwd()); + var source = cwd.join(args[1]).read({charset: "utf-8"}); + } + return exports.parser.parse(source); +} +if (typeof module !== 'undefined' && require.main === module) { + exports.main(typeof process !== 'undefined' ? process.argv.slice(1) : require("system").args); +} +}; +; +// lib/handlebars/compiler/base.js +Handlebars.Parser = handlebars; + +Handlebars.parse = function(string) { + Handlebars.Parser.yy = Handlebars.AST; + return Handlebars.Parser.parse(string); +}; + +Handlebars.print = function(ast) { + return new Handlebars.PrintVisitor().accept(ast); +}; + +Handlebars.logger = { + DEBUG: 0, INFO: 1, WARN: 2, ERROR: 3, level: 3, + + // override in the host environment + log: function(level, str) {} +}; + +Handlebars.log = function(level, str) { Handlebars.logger.log(level, str); }; +; +// lib/handlebars/compiler/ast.js +(function() { + + Handlebars.AST = {}; + + Handlebars.AST.ProgramNode = function(statements, inverse) { + this.type = "program"; + this.statements = statements; + if(inverse) { this.inverse = new Handlebars.AST.ProgramNode(inverse); } + }; + + Handlebars.AST.MustacheNode = function(params, hash, unescaped) { + this.type = "mustache"; + this.id = params[0]; + this.params = params.slice(1); + this.hash = hash; + this.escaped = !unescaped; + }; + + Handlebars.AST.PartialNode = function(id, context) { + this.type = "partial"; + + // TODO: disallow complex IDs + + this.id = id; + this.context = context; + }; + + var verifyMatch = function(open, close) { + if(open.original !== close.original) { + throw new Handlebars.Exception(open.original + " doesn't match " + close.original); + } + }; + + Handlebars.AST.BlockNode = function(mustache, program, close) { + verifyMatch(mustache.id, close); + this.type = "block"; + this.mustache = mustache; + this.program = program; + }; + + Handlebars.AST.InverseNode = function(mustache, program, close) { + verifyMatch(mustache.id, close); + this.type = "inverse"; + this.mustache = mustache; + this.program = program; + }; + + Handlebars.AST.ContentNode = function(string) { + this.type = "content"; + this.string = string; + }; + + Handlebars.AST.HashNode = function(pairs) { + this.type = "hash"; + this.pairs = pairs; + }; + + Handlebars.AST.IdNode = function(parts) { + this.type = "ID"; + this.original = parts.join("."); + + var dig = [], depth = 0; + + for(var i=0,l=parts.length; i": ">", + '"': """, + "'": "'", + "`": "`" + }; + + var badChars = /&(?!\w+;)|[<>"'`]/g; + var possible = /[&<>"'`]/; + + var escapeChar = function(chr) { + return escape[chr] || "&"; + }; + + Handlebars.Utils = { + escapeExpression: function(string) { + // don't escape SafeStrings, since they're already safe + if (string instanceof Handlebars.SafeString) { + return string.toString(); + } else if (string == null || string === false) { + return ""; + } + + if(!possible.test(string)) { return string; } + return string.replace(badChars, escapeChar); + }, + + isEmpty: function(value) { + if (typeof value === "undefined") { + return true; + } else if (value === null) { + return true; + } else if (value === false) { + return true; + } else if(Object.prototype.toString.call(value) === "[object Array]" && value.length === 0) { + return true; + } else { + return false; + } + } + }; +})();; +// lib/handlebars/compiler/compiler.js +Handlebars.Compiler = function() {}; +Handlebars.JavaScriptCompiler = function() {}; + +(function(Compiler, JavaScriptCompiler) { + Compiler.OPCODE_MAP = { + appendContent: 1, + getContext: 2, + lookupWithHelpers: 3, + lookup: 4, + append: 5, + invokeMustache: 6, + appendEscaped: 7, + pushString: 8, + truthyOrFallback: 9, + functionOrFallback: 10, + invokeProgram: 11, + invokePartial: 12, + push: 13, + assignToHash: 15, + pushStringParam: 16 + }; + + Compiler.MULTI_PARAM_OPCODES = { + appendContent: 1, + getContext: 1, + lookupWithHelpers: 2, + lookup: 1, + invokeMustache: 3, + pushString: 1, + truthyOrFallback: 1, + functionOrFallback: 1, + invokeProgram: 3, + invokePartial: 1, + push: 1, + assignToHash: 1, + pushStringParam: 1 + }; + + Compiler.DISASSEMBLE_MAP = {}; + + for(var prop in Compiler.OPCODE_MAP) { + var value = Compiler.OPCODE_MAP[prop]; + Compiler.DISASSEMBLE_MAP[value] = prop; + } + + Compiler.multiParamSize = function(code) { + return Compiler.MULTI_PARAM_OPCODES[Compiler.DISASSEMBLE_MAP[code]]; + }; + + Compiler.prototype = { + compiler: Compiler, + + disassemble: function() { + var opcodes = this.opcodes, opcode, nextCode; + var out = [], str, name, value; + + for(var i=0, l=opcodes.length; i 0) { + this.source[1] = this.source[1] + ", " + locals.join(", "); + } + + // Generate minimizer alias mappings + if (!this.isChild) { + var aliases = [] + for (var alias in this.context.aliases) { + this.source[1] = this.source[1] + ', ' + alias + '=' + this.context.aliases[alias]; + } + } + + if (this.source[1]) { + this.source[1] = "var " + this.source[1].substring(2) + ";"; + } + + // Merge children + if (!this.isChild) { + this.source[1] += '\n' + this.context.programs.join('\n') + '\n'; + } + + if (!this.environment.isSimple) { + this.source.push("return buffer;"); + } + + var params = this.isChild ? ["depth0", "data"] : ["Handlebars", "depth0", "helpers", "partials", "data"]; + + for(var i=0, l=this.environment.depths.list.length; i this.stackVars.length) { this.stackVars.push("stack" + this.stackSlot); } + return "stack" + this.stackSlot; + }, + + popStack: function() { + return "stack" + this.stackSlot--; + }, + + topStack: function() { + return "stack" + this.stackSlot; + }, + + quotedString: function(str) { + return '"' + str + .replace(/\\/g, '\\\\') + .replace(/"/g, '\\"') + .replace(/\n/g, '\\n') + .replace(/\r/g, '\\r') + '"'; + } + }; + + var reservedWords = ( + "break else new var" + + " case finally return void" + + " catch for switch while" + + " continue function this with" + + " default if throw" + + " delete in try" + + " do instanceof typeof" + + " abstract enum int short" + + " boolean export interface static" + + " byte extends long super" + + " char final native synchronized" + + " class float package throws" + + " const goto private transient" + + " debugger implements protected volatile" + + " double import public let yield" + ).split(" "); + + var compilerWords = JavaScriptCompiler.RESERVED_WORDS = {}; + + for(var i=0, l=reservedWords.length; ia?d.min:d.maxk.mod/2?f+=k.mod:f-g>k.mod/2&&(f-=k.mod)),j[d.idx]=m((g-f)*b+f,d)))});return this[d](j)},blend:function(b){if(this._rgba[3]===1)return this;var c=this._rgba.slice(),d=c.pop(),e=f(b)._rgba;return f(a.map(c,function(a,b){return(1-d)*e[b]+d*a}))},toRgbaString:function(){var b="rgba(",c=a.map(this._rgba,function(a,b){return a==null?b>2?1:0:a});c[3]===1&&(c.pop(),b="rgb(");return b+c.join(",")+")"},toHslaString:function(){var b="hsla(",c=a.map(this.hsla(),function(a,b){a==null&&(a=b>2?1:0),b&&b<3&&(a=Math.round(a*100)+"%");return a});c[3]==1&&(c.pop(),b="hsl(");return b+c.join(",")+")"},toHexString:function(b){var c=this._rgba.slice(),d=c.pop();b&&c.push(~~(d*255));return"#"+a.map(c,function(a,b){a=(a||0).toString(16);return a.length==1?"0"+a:a}).join("")},toString:function(){return this._rgba[3]===0?"transparent":this.toRgbaString()}},f.fn.parse.prototype=f.fn,g.hsla.to=function(a){if(a[0]==null||a[1]==null||a[2]==null)return[null,null,null,a[3]];var b=a[0]/255,c=a[1]/255,d=a[2]/255,e=a[3],f=Math.max(b,c,d),g=Math.min(b,c,d),h=f-g,i=f+g,j=i*.5,k,l;g===f?k=0:b===f?k=60*(c-d)/h+360:c===f?k=60*(d-b)/h+120:k=60*(b-c)/h+240,j===0||j===1?l=j:j>.5?l=h/(2-i):l=h/i;return[Math.round(k)%360,l,j,e==null?1:e]},g.hsla.from=function(a){if(a[0]==null||a[1]==null||a[2]==null)return[null,null,null,a[3]];var b=a[0]/360,c=a[1],d=a[2],e=a[3],f=d<=.5?d*(1+c):d+c-d*c,g=2*d-f,h,i,j;return[Math.round(o(g,f,b+1/3)*255),Math.round(o(g,f,b)*255),Math.round(o(g,f,b-1/3)*255),e]},l(g,function(c,e){var g=e.props,h=e.cache,i=e.to,j=e.from;f.fn[c]=function(c){i&&!this[h]&&(this[h]=i(this._rgba));if(c===b)return this[h].slice();var d=a.type(c),e=d==="array"||d==="object"?c:arguments,k=this[h].slice(),n;l(g,function(a,b){var c=e[d==="object"?a:b.idx];c==null&&(c=k[b.idx]),k[b.idx]=m(c,b)});if(j){n=f(j(k)),n[h]=k;return n}return f(k)},l(g,function(b,e){f.fn[b]||(f.fn[b]=function(f){var g=a.type(f),h=b==="alpha"?this._hsla?"hsla":"rgba":c,i=this[h](),j=i[e.idx],k;if(g==="undefined")return j;g==="function"&&(f=f.call(this,j),g=a.type(f));if(f==null&&e.empty)return this;g==="string"&&(k=d.exec(f),k&&(f=j+parseFloat(k[2])*(k[1]==="+"?1:-1))),i[e.idx]=f;return this[h](i)})})}),l(c,function(b,c){a.cssHooks[c]={set:function(b,d){var e;if(a.type(d)!=="string"||(e=n(d))){d=f(e||d);if(!j.rgba&&d._rgba[3]!==1){var g,h=c==="backgroundColor"?b.parentNode:b;do g=a.curCSS(h,"backgroundColor");while((g===""||g==="transparent")&&(h=h.parentNode)&&h.style);d=d.blend(g&&g!=="transparent"?g:"_default")}d=d.toRgbaString()}b.style[c]=d}},a.fx.step[c]=function(b){b.colorInit||(b.start=f(b.elem,c),b.end=f(b.end),b.colorInit=!0),a.cssHooks[c].set(b.elem,b.start.transition(b.end,b.pos))}}),a(function(){var a=document.createElement("div"),b=a.style;b.cssText="background-color:rgba(1,1,1,.5)",j.rgba=b.backgroundColor.indexOf("rgba")>-1}),k=a.Color.names={aqua:"#00ffff",azure:"#f0ffff",beige:"#f5f5dc",black:"#000000",blue:"#0000ff",brown:"#a52a2a",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgrey:"#a9a9a9",darkgreen:"#006400",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkviolet:"#9400d3",fuchsia:"#ff00ff",gold:"#ffd700",green:"#008000",indigo:"#4b0082",khaki:"#f0e68c",lightblue:"#add8e6",lightcyan:"#e0ffff",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightyellow:"#ffffe0",lime:"#00ff00",magenta:"#ff00ff",maroon:"#800000",navy:"#000080",olive:"#808000",orange:"#ffa500",pink:"#ffc0cb",purple:"#800080",violet:"#800080",red:"#ff0000",silver:"#c0c0c0",white:"#ffffff",yellow:"#ffff00",transparent:[null,null,null,0],_default:"#ffffff"}})(jQuery); \ No newline at end of file diff --git a/opensrp-web/bin/src/main/webapp/js/jquery.min.js b/opensrp-web/bin/src/main/webapp/js/jquery.min.js new file mode 100644 index 0000000000..198b3ff07d --- /dev/null +++ b/opensrp-web/bin/src/main/webapp/js/jquery.min.js @@ -0,0 +1,4 @@ +/*! jQuery v1.7.1 jquery.com | jquery.org/license */ +(function(a,b){function cy(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cv(a){if(!ck[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){cl||(cl=c.createElement("iframe"),cl.frameBorder=cl.width=cl.height=0),b.appendChild(cl);if(!cm||!cl.createElement)cm=(cl.contentWindow||cl.contentDocument).document,cm.write((c.compatMode==="CSS1Compat"?"":"")+""),cm.close();d=cm.createElement(a),cm.body.appendChild(d),e=f.css(d,"display"),b.removeChild(cl)}ck[a]=e}return ck[a]}function cu(a,b){var c={};f.each(cq.concat.apply([],cq.slice(0,b)),function(){c[this]=a});return c}function ct(){cr=b}function cs(){setTimeout(ct,0);return cr=f.now()}function cj(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ci(){try{return new a.XMLHttpRequest}catch(b){}}function cc(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g0){if(c!=="border")for(;g=0===c})}function S(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function K(){return!0}function J(){return!1}function n(a,b,c){var d=b+"defer",e=b+"queue",g=b+"mark",h=f._data(a,d);h&&(c==="queue"||!f._data(a,e))&&(c==="mark"||!f._data(a,g))&&setTimeout(function(){!f._data(a,e)&&!f._data(a,g)&&(f.removeData(a,d,!0),h.fire())},0)}function m(a){for(var b in a){if(b==="data"&&f.isEmptyObject(a[b]))continue;if(b!=="toJSON")return!1}return!0}function l(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(k,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNumeric(d)?parseFloat(d):j.test(d)?f.parseJSON(d):d}catch(g){}f.data(a,c,d)}else d=b}return d}function h(a){var b=g[a]={},c,d;a=a.split(/\s+/);for(c=0,d=a.length;c)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,n=/^[\],:{}\s]*$/,o=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,p=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,q=/(?:^|:|,)(?:\s*\[)+/g,r=/(webkit)[ \/]([\w.]+)/,s=/(opera)(?:.*version)?[ \/]([\w.]+)/,t=/(msie) ([\w.]+)/,u=/(mozilla)(?:.*? rv:([\w.]+))?/,v=/-([a-z]|[0-9])/ig,w=/^-ms-/,x=function(a,b){return(b+"").toUpperCase()},y=d.userAgent,z,A,B,C=Object.prototype.toString,D=Object.prototype.hasOwnProperty,E=Array.prototype.push,F=Array.prototype.slice,G=String.prototype.trim,H=Array.prototype.indexOf,I={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=m.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return F.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?E.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),A.add(a);return this},eq:function(a){a=+a;return a===-1?this.slice(a):this.slice(a,a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(F.apply(this,arguments),"slice",F.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:E,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j0)return;A.fireWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").off("ready")}},bindReady:function(){if(!A){A=e.Callbacks("once memory");if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",B,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",B),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&J()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a&&typeof a=="object"&&"setInterval"in a},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return a==null?String(a):I[C.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;try{if(a.constructor&&!D.call(a,"constructor")&&!D.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||D.call(a,d)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw new Error(a)},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(n.test(b.replace(o,"@").replace(p,"]").replace(q,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(c){var d,f;try{a.DOMParser?(f=new DOMParser,d=f.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(g){d=b}(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&e.error("Invalid XML: "+c);return d},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(w,"ms-").replace(v,x)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i1?i.call(arguments,0):b,j.notifyWith(k,e)}}function l(a){return function(c){b[a]=arguments.length>1?i.call(arguments,0):c,--g||j.resolveWith(j,b)}}var b=i.call(arguments,0),c=0,d=b.length,e=Array(d),g=d,h=d,j=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred(),k=j.promise();if(d>1){for(;c
a",d=q.getElementsByTagName("*"),e=q.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=q.getElementsByTagName("input")[0],b={leadingWhitespace:q.firstChild.nodeType===3,tbody:!q.getElementsByTagName("tbody").length,htmlSerialize:!!q.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:q.className!=="t",enctype:!!c.createElement("form").enctype,html5Clone:c.createElement("nav").cloneNode(!0).outerHTML!=="<:nav>",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},i.checked=!0,b.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,b.optDisabled=!h.disabled;try{delete q.test}catch(s){b.deleteExpando=!1}!q.addEventListener&&q.attachEvent&&q.fireEvent&&(q.attachEvent("onclick",function(){b.noCloneEvent=!1}),q.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),b.radioValue=i.value==="t",i.setAttribute("checked","checked"),q.appendChild(i),k=c.createDocumentFragment(),k.appendChild(q.lastChild),b.checkClone=k.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=i.checked,k.removeChild(i),k.appendChild(q),q.innerHTML="",a.getComputedStyle&&(j=c.createElement("div"),j.style.width="0",j.style.marginRight="0",q.style.width="2px",q.appendChild(j),b.reliableMarginRight=(parseInt((a.getComputedStyle(j,null)||{marginRight:0}).marginRight,10)||0)===0);if(q.attachEvent)for(o in{submit:1,change:1,focusin:1})n="on"+o,p=n in q,p||(q.setAttribute(n,"return;"),p=typeof q[n]=="function"),b[o+"Bubbles"]=p;k.removeChild(q),k=g=h=j=q=i=null,f(function(){var a,d,e,g,h,i,j,k,m,n,o,r=c.getElementsByTagName("body")[0];!r||(j=1,k="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;",m="visibility:hidden;border:0;",n="style='"+k+"border:5px solid #000;padding:0;'",o="
"+""+"
",a=c.createElement("div"),a.style.cssText=m+"width:0;height:0;position:static;top:0;margin-top:"+j+"px",r.insertBefore(a,r.firstChild),q=c.createElement("div"),a.appendChild(q),q.innerHTML="
t
",l=q.getElementsByTagName("td"),p=l[0].offsetHeight===0,l[0].style.display="",l[1].style.display="none",b.reliableHiddenOffsets=p&&l[0].offsetHeight===0,q.innerHTML="",q.style.width=q.style.paddingLeft="1px",f.boxModel=b.boxModel=q.offsetWidth===2,typeof q.style.zoom!="undefined"&&(q.style.display="inline",q.style.zoom=1,b.inlineBlockNeedsLayout=q.offsetWidth===2,q.style.display="",q.innerHTML="
",b.shrinkWrapBlocks=q.offsetWidth!==2),q.style.cssText=k+m,q.innerHTML=o,d=q.firstChild,e=d.firstChild,h=d.nextSibling.firstChild.firstChild,i={doesNotAddBorder:e.offsetTop!==5,doesAddBorderForTableAndCells:h.offsetTop===5},e.style.position="fixed",e.style.top="20px",i.fixedPosition=e.offsetTop===20||e.offsetTop===15,e.style.position=e.style.top="",d.style.overflow="hidden",d.style.position="relative",i.subtractsBorderForOverflowNotVisible=e.offsetTop===-5,i.doesNotIncludeMarginInBodyOffset=r.offsetTop!==j,r.removeChild(a),q=a=null,f.extend(b,i))});return b}();var j=/^(?:\{.*\}|\[.*\])$/,k=/([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!m(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g,h,i,j=f.expando,k=typeof c=="string",l=a.nodeType,m=l?f.cache:a,n=l?a[j]:a[j]&&j,o=c==="events";if((!n||!m[n]||!o&&!e&&!m[n].data)&&k&&d===b)return;n||(l?a[j]=n=++f.uuid:n=j),m[n]||(m[n]={},l||(m[n].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?m[n]=f.extend(m[n],c):m[n].data=f.extend(m[n].data,c);g=h=m[n],e||(h.data||(h.data={}),h=h.data),d!==b&&(h[f.camelCase(c)]=d);if(o&&!h[c])return g.events;k?(i=h[c],i==null&&(i=h[f.camelCase(c)])):i=h;return i}},removeData:function(a,b,c){if(!!f.acceptData(a)){var d,e,g,h=f.expando,i=a.nodeType,j=i?f.cache:a,k=i?a[h]:h;if(!j[k])return;if(b){d=c?j[k]:j[k].data;if(d){f.isArray(b)||(b in d?b=[b]:(b=f.camelCase(b),b in d?b=[b]:b=b.split(" ")));for(e=0,g=b.length;e-1)return!0;return!1},val:function(a){var c,d,e,g=this[0];{if(!!arguments.length){e=f.isFunction(a);return this.each(function(d){var g=f(this),h;if(this.nodeType===1){e?h=a.call(this,d,g.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.nodeName.toLowerCase()]||f.valHooks[this.type];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}if(g){c=f.valHooks[g.nodeName.toLowerCase()]||f.valHooks[g.type];if(c&&"get"in c&&(d=c.get(g,"value"))!==b)return d;d=g.value;return typeof d=="string"?d.replace(q,""):d==null?"":d}}}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,g=a.selectedIndex,h=[],i=a.options,j=a.type==="select-one";if(g<0)return null;c=j?g:0,d=j?g+1:i.length;for(;c=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attr:function(a,c,d,e){var g,h,i,j=a.nodeType;if(!!a&&j!==3&&j!==8&&j!==2){if(e&&c in f.attrFn)return f(a)[c](d);if(typeof a.getAttribute=="undefined")return f.prop(a,c,d);i=j!==1||!f.isXMLDoc(a),i&&(c=c.toLowerCase(),h=f.attrHooks[c]||(u.test(c)?x:w));if(d!==b){if(d===null){f.removeAttr(a,c);return}if(h&&"set"in h&&i&&(g=h.set(a,d,c))!==b)return g;a.setAttribute(c,""+d);return d}if(h&&"get"in h&&i&&(g=h.get(a,c))!==null)return g;g=a.getAttribute(c);return g===null?b:g}},removeAttr:function(a,b){var c,d,e,g,h=0;if(b&&a.nodeType===1){d=b.toLowerCase().split(p),g=d.length;for(;h=0}})});var z=/^(?:textarea|input|select)$/i,A=/^([^\.]*)?(?:\.(.+))?$/,B=/\bhover(\.\S+)?\b/,C=/^key/,D=/^(?:mouse|contextmenu)|click/,E=/^(?:focusinfocus|focusoutblur)$/,F=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,G=function(a){var b=F.exec(a);b&&(b[1]=(b[1]||"").toLowerCase(),b[3]=b[3]&&new RegExp("(?:^|\\s)"+b[3]+"(?:\\s|$)"));return b},H=function(a,b){var c=a.attributes||{};return(!b[1]||a.nodeName.toLowerCase()===b[1])&&(!b[2]||(c.id||{}).value===b[2])&&(!b[3]||b[3].test((c["class"]||{}).value))},I=function(a){return f.event.special.hover?a:a.replace(B,"mouseenter$1 mouseleave$1")}; +f.event={add:function(a,c,d,e,g){var h,i,j,k,l,m,n,o,p,q,r,s;if(!(a.nodeType===3||a.nodeType===8||!c||!d||!(h=f._data(a)))){d.handler&&(p=d,d=p.handler),d.guid||(d.guid=f.guid++),j=h.events,j||(h.events=j={}),i=h.handle,i||(h.handle=i=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.dispatch.apply(i.elem,arguments):b},i.elem=a),c=f.trim(I(c)).split(" ");for(k=0;k=0&&(h=h.slice(0,-1),k=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if((!e||f.event.customEvent[h])&&!f.event.global[h])return;c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.isTrigger=!0,c.exclusive=k,c.namespace=i.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)"):null,o=h.indexOf(":")<0?"on"+h:"";if(!e){j=f.cache;for(l in j)j[l].events&&j[l].events[h]&&f.event.trigger(c,d,j[l].handle.elem,!0);return}c.result=b,c.target||(c.target=e),d=d!=null?f.makeArray(d):[],d.unshift(c),p=f.event.special[h]||{};if(p.trigger&&p.trigger.apply(e,d)===!1)return;r=[[e,p.bindType||h]];if(!g&&!p.noBubble&&!f.isWindow(e)){s=p.delegateType||h,m=E.test(s+h)?e:e.parentNode,n=null;for(;m;m=m.parentNode)r.push([m,s]),n=m;n&&n===e.ownerDocument&&r.push([n.defaultView||n.parentWindow||a,s])}for(l=0;le&&i.push({elem:this,matches:d.slice(e)});for(j=0;j0?this.on(b,null,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0),C.test(b)&&(f.event.fixHooks[b]=f.event.keyHooks),D.test(b)&&(f.event.fixHooks[b]=f.event.mouseHooks)}),function(){function x(a,b,c,e,f,g){for(var h=0,i=e.length;h0){k=j;break}}j=j[a]}e[h]=k}}}function w(a,b,c,e,f,g){for(var h=0,i=e.length;h+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d="sizcache"+(Math.random()+"").replace(".",""),e=0,g=Object.prototype.toString,h=!1,i=!0,j=/\\/g,k=/\r\n/g,l=/\W/;[0,0].sort(function(){i=!1;return 0});var m=function(b,d,e,f){e=e||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return e;var i,j,k,l,n,q,r,t,u=!0,v=m.isXML(d),w=[],x=b;do{a.exec(""),i=a.exec(x);if(i){x=i[3],w.push(i[1]);if(i[2]){l=i[3];break}}}while(i);if(w.length>1&&p.exec(b))if(w.length===2&&o.relative[w[0]])j=y(w[0]+w[1],d,f);else{j=o.relative[w[0]]?[d]:m(w.shift(),d);while(w.length)b=w.shift(),o.relative[b]&&(b+=w.shift()),j=y(b,j,f)}else{!f&&w.length>1&&d.nodeType===9&&!v&&o.match.ID.test(w[0])&&!o.match.ID.test(w[w.length-1])&&(n=m.find(w.shift(),d,v),d=n.expr?m.filter(n.expr,n.set)[0]:n.set[0]);if(d){n=f?{expr:w.pop(),set:s(f)}:m.find(w.pop(),w.length===1&&(w[0]==="~"||w[0]==="+")&&d.parentNode?d.parentNode:d,v),j=n.expr?m.filter(n.expr,n.set):n.set,w.length>0?k=s(j):u=!1;while(w.length)q=w.pop(),r=q,o.relative[q]?r=w.pop():q="",r==null&&(r=d),o.relative[q](k,r,v)}else k=w=[]}k||(k=j),k||m.error(q||b);if(g.call(k)==="[object Array]")if(!u)e.push.apply(e,k);else if(d&&d.nodeType===1)for(t=0;k[t]!=null;t++)k[t]&&(k[t]===!0||k[t].nodeType===1&&m.contains(d,k[t]))&&e.push(j[t]);else for(t=0;k[t]!=null;t++)k[t]&&k[t].nodeType===1&&e.push(j[t]);else s(k,e);l&&(m(l,h,e,f),m.uniqueSort(e));return e};m.uniqueSort=function(a){if(u){h=i,a.sort(u);if(h)for(var b=1;b0},m.find=function(a,b,c){var d,e,f,g,h,i;if(!a)return[];for(e=0,f=o.order.length;e":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!l.test(b)){b=b.toLowerCase();for(;e=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(j,"")},TAG:function(a,b){return a[1].replace(j,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||m.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&m.error(a[0]);a[0]=e++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(j,"");!f&&o.attrMap[g]&&(a[1]=o.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(j,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=m(b[3],null,null,c);else{var g=m.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(o.match.POS.test(b[0])||o.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!m(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return bc[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=o.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||n([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||!!a.nodeName&&a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=m.attr?m.attr(a,c):o.attrHandle[c]?o.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":!f&&m.attr?d!=null:f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=o.setFilters[e];if(f)return f(a,c,b,d)}}},p=o.match.POS,q=function(a,b){return"\\"+(b-0+1)};for(var r in o.match)o.match[r]=new RegExp(o.match[r].source+/(?![^\[]*\])(?![^\(]*\))/.source),o.leftMatch[r]=new RegExp(/(^(?:.|\r|\n)*?)/.source+o.match[r].source.replace(/\\(\d+)/g,q));var s=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(t){s=function(a,b){var c=0,d=b||[];if(g.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var e=a.length;c",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(o.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},o.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(o.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(o.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=m,b=c.createElement("div"),d="__sizzle__";b.innerHTML="

";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){m=function(b,e,f,g){e=e||c;if(!g&&!m.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return s(e.getElementsByTagName(b),f);if(h[2]&&o.find.CLASS&&e.getElementsByClassName)return s(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return s([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return s([],f);if(i.id===h[3])return s([i],f)}try{return s(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var k=e,l=e.getAttribute("id"),n=l||d,p=e.parentNode,q=/^\s*[+~]/.test(b);l?n=n.replace(/'/g,"\\$&"):e.setAttribute("id",n),q&&p&&(e=e.parentNode);try{if(!q||p)return s(e.querySelectorAll("[id='"+n+"'] "+b),f)}catch(r){}finally{l||k.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)m[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}m.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!m.isXML(a))try{if(e||!o.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return m(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="
";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;o.order.splice(1,0,"CLASS"),o.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?m.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?m.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:m.contains=function(){return!1},m.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var y=function(a,b,c){var d,e=[],f="",g=b.nodeType?[b]:b;while(d=o.match.PSEUDO.exec(a))f+=d[0],a=a.replace(o.match.PSEUDO,"");a=o.relative[a]?a+"*":a;for(var h=0,i=g.length;h0)for(h=g;h=0:f.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h=1;while(g&&g.ownerDocument&&g!==b){for(d=0;d-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a)return this[0]&&this[0].parentNode?this.prevAll().length:-1;if(typeof a=="string")return f.inArray(this[0],f(a));return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(S(c[0])||S(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling(a.parentNode.firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c);L.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!R[a]?f.unique(e):e,(this.length>1||N.test(d))&&M.test(a)&&(e=e.reverse());return this.pushStack(e,a,P.call(arguments).join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var V="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",W=/ jQuery\d+="(?:\d+|null)"/g,X=/^\s+/,Y=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,Z=/<([\w:]+)/,$=/",""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]},bh=U(c);bg.optgroup=bg.option,bg.tbody=bg.tfoot=bg.colgroup=bg.caption=bg.thead,bg.th=bg.td,f.support.htmlSerialize||(bg._default=[1,"div
","
"]),f.fn.extend({text:function(a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.text(a.call(this,b,c.text()))});if(typeof a!="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return f.text(this)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=f.isFunction(a);return this.each(function(c){f(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f.clean(arguments);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f.clean(arguments));return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function() +{for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(W,""):null;if(typeof a=="string"&&!ba.test(a)&&(f.support.leadingWhitespace||!X.test(a))&&!bg[(Z.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Y,"<$1>");try{for(var c=0,d=this.length;c1&&l0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d,e,g,h=f.support.html5Clone||!bc.test("<"+a.nodeName)?a.cloneNode(!0):bo(a);if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bk(a,h),d=bl(a),e=bl(h);for(g=0;d[g];++g)e[g]&&bk(d[g],e[g])}if(b){bj(a,h);if(c){d=bl(a),e=bl(h);for(g=0;d[g];++g)bj(d[g],e[g])}}d=e=null;return h},clean:function(a,b,d,e){var g;b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);var h=[],i;for(var j=0,k;(k=a[j])!=null;j++){typeof k=="number"&&(k+="");if(!k)continue;if(typeof k=="string")if(!_.test(k))k=b.createTextNode(k);else{k=k.replace(Y,"<$1>");var l=(Z.exec(k)||["",""])[1].toLowerCase(),m=bg[l]||bg._default,n=m[0],o=b.createElement("div");b===c?bh.appendChild(o):U(b).appendChild(o),o.innerHTML=m[1]+k+m[2];while(n--)o=o.lastChild;if(!f.support.tbody){var p=$.test(k),q=l==="table"&&!p?o.firstChild&&o.firstChild.childNodes:m[1]===""&&!p?o.childNodes:[];for(i=q.length-1;i>=0;--i)f.nodeName(q[i],"tbody")&&!q[i].childNodes.length&&q[i].parentNode.removeChild(q[i])}!f.support.leadingWhitespace&&X.test(k)&&o.insertBefore(b.createTextNode(X.exec(k)[0]),o.firstChild),k=o.childNodes}var r;if(!f.support.appendChecked)if(k[0]&&typeof (r=k.length)=="number")for(i=0;i=0)return b+"px"}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return br.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=f.isNumeric(b)?"alpha(opacity="+b*100+")":"",g=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&f.trim(g.replace(bq,""))===""){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bq.test(g)?g.replace(bq,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){var c;f.swap(a,{display:"inline-block"},function(){b?c=bz(a,"margin-right","marginRight"):c=a.style.marginRight});return c}})}),c.defaultView&&c.defaultView.getComputedStyle&&(bA=function(a,b){var c,d,e;b=b.replace(bs,"-$1").toLowerCase(),(d=a.ownerDocument.defaultView)&&(e=d.getComputedStyle(a,null))&&(c=e.getPropertyValue(b),c===""&&!f.contains(a.ownerDocument.documentElement,a)&&(c=f.style(a,b)));return c}),c.documentElement.currentStyle&&(bB=function(a,b){var c,d,e,f=a.currentStyle&&a.currentStyle[b],g=a.style;f===null&&g&&(e=g[b])&&(f=e),!bt.test(f)&&bu.test(f)&&(c=g.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),g.left=b==="fontSize"?"1em":f||0,f=g.pixelLeft+"px",g.left=c,d&&(a.runtimeStyle.left=d));return f===""?"auto":f}),bz=bA||bB,f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style&&a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)});var bD=/%20/g,bE=/\[\]$/,bF=/\r?\n/g,bG=/#.*$/,bH=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bI=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bJ=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,bK=/^(?:GET|HEAD)$/,bL=/^\/\//,bM=/\?/,bN=/)<[^<]*)*<\/script>/gi,bO=/^(?:select|textarea)/i,bP=/\s+/,bQ=/([?&])_=[^&]*/,bR=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bS=f.fn.load,bT={},bU={},bV,bW,bX=["*/"]+["*"];try{bV=e.href}catch(bY){bV=c.createElement("a"),bV.href="",bV=bV.href}bW=bR.exec(bV.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bS)return bS.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("
").append(c.replace(bN,"")).find(g):c)),d&&i.each(d,[c,b,a])}});return this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bO.test(this.nodeName)||bI.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bF,"\r\n")}}):{name:b.name,value:c.replace(bF,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.on(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?b_(a,f.ajaxSettings):(b=a,a=f.ajaxSettings),b_(a,b);return a},ajaxSettings:{url:bV,isLocal:bJ.test(bW[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":bX},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:bZ(bT),ajaxTransport:bZ(bU),ajax:function(a,c){function w(a,c,l,m){if(s!==2){s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a>0?4:0;var o,r,u,w=c,x=l?cb(d,v,l):b,y,z;if(a>=200&&a<300||a===304){if(d.ifModified){if(y=v.getResponseHeader("Last-Modified"))f.lastModified[k]=y;if(z=v.getResponseHeader("Etag"))f.etag[k]=z}if(a===304)w="notmodified",o=!0;else try{r=cc(d,x),w="success",o=!0}catch(A){w="parsererror",u=A}}else{u=w;if(!w||a)w="error",a<0&&(a=0)}v.status=a,v.statusText=""+(c||w),o?h.resolveWith(e,[r,w,v]):h.rejectWith(e,[v,w,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.fireWith(e,[v,w]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f.Callbacks("once memory"),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bH.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){s||(d.mimeType=a);return this},abort:function(a){a=a||"abort",p&&p.abort(a),w(0,a);return this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.add,v.statusCode=function(a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+"").replace(bG,"").replace(bL,bW[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bP),d.crossDomain==null&&(r=bR.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bW[1]&&r[2]==bW[2]&&(r[3]||(r[1]==="http:"?80:443))==(bW[3]||(bW[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),b$(bT,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bK.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bM.test(d.url)?"&":"?")+d.data,delete d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bQ,"$1_="+x);d.url=y+(y===d.url?(bM.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.etag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", "+bX+"; q=0.01":""):d.accepts["*"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return!1}for(u in{success:1,error:1,complete:1})v[u](d[u]);p=b$(bU,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){if(s<2)w(-1,z);else throw z}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)ca(g,a[g],c,e);return d.join("&").replace(bD,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var cd=f.now(),ce=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+cd++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=b.contentType==="application/x-www-form-urlencoded"&&typeof b.data=="string";if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(ce.test(b.url)||e&&ce.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";b.jsonp!==!1&&(j=j.replace(ce,l),b.url===j&&(e&&(k=k.replace(ce,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){g||f.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){f.globalEval(a);return a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var cf=a.ActiveXObject?function(){for(var a in ch)ch[a](0,1)}:!1,cg=0,ch;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ci()||cj()}:ci,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c){if(!c.crossDomain||f.support.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,cf&&delete ch[i]);if(e)h.readyState!==4&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n),m.text=h.responseText;try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++cg,cf&&(ch||(ch={},f(a).unload(cf)),ch[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var ck={},cl,cm,cn=/^(?:toggle|show|hide)$/,co=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,cp,cq=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],cr;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(cu("show",3),a,b,c);for(var g=0,h=this.length;g=i.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),i.animatedProperties[this.prop]=!0;for(b in i.animatedProperties)i.animatedProperties[b]!==!0&&(g=!1);if(g){i.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){h.style["overflow"+b]=i.overflow[a]}),i.hide&&f(h).hide();if(i.hide||i.show)for(b in i.animatedProperties)f.style(h,b,i.orig[b]),f.removeData(h,"fxshow"+b,!0),f.removeData(h,"toggle"+b,!0);d=i.complete,d&&(i.complete=!1,d.call(h))}return!1}i.duration==Infinity?this.now=e:(c=e-this.startTime,this.state=c/i.duration,this.pos=f.easing[i.animatedProperties[this.prop]](this.state,c,0,1,i.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},f.extend(f.fx,{tick:function(){var a,b=f.timers,c=0;for(;c-1,k={},l={},m,n;j?(l=e.position(),m=l.top,n=l.left):(m=parseFloat(h)||0,n=parseFloat(i)||0),f.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):e.css(k)}},f.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),d=cx.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0;return{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!cx.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each(["Left","Top"],function(a,c){var d="scroll"+c;f.fn[d]=function(c){var e,g;if(c===b){e=this[0];if(!e)return null;g=cy(e);return g?"pageXOffset"in g?g[a?"pageYOffset":"pageXOffset"]:f.support.boxModel&&g.document.documentElement[d]||g.document.body[d]:e[d]}return this.each(function(){g=cy(this),g?g.scrollTo(a?f(g).scrollLeft():c,a?c:f(g).scrollTop()):this[d]=c})}}),f.each(["Height","Width"],function(a,c){var d=c.toLowerCase();f.fn["inner"+c]=function(){var a=this[0];return a?a.style?parseFloat(f.css(a,d,"padding")):this[d]():null},f.fn["outer"+c]=function(a){var b=this[0];return b?b.style?parseFloat(f.css(b,d,a?"margin":"border")):this[d]():null},f.fn[d]=function(a){var e=this[0];if(!e)return a==null?null:this;if(f.isFunction(a))return this.each(function(b){var c=f(this);c[d](a.call(this,b,c[d]()))});if(f.isWindow(e)){var g=e.document.documentElement["client"+c],h=e.document.body;return e.document.compatMode==="CSS1Compat"&&g||h&&h["client"+c]||g}if(e.nodeType===9)return Math.max(e.documentElement["client"+c],e.body["scroll"+c],e.documentElement["scroll"+c],e.body["offset"+c],e.documentElement["offset"+c]);if(a===b){var i=f.css(e,d),j=parseFloat(i);return f.isNumeric(j)?j:i}return this.css(d,typeof a=="string"?a:a+"px")}}),a.jQuery=a.$=f,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return f})})(window); \ No newline at end of file diff --git a/opensrp-web/bin/src/main/webapp/resources/css/bootstrap-theme.min.css b/opensrp-web/bin/src/main/webapp/resources/css/bootstrap-theme.min.css new file mode 100644 index 0000000000..61358b13d0 --- /dev/null +++ b/opensrp-web/bin/src/main/webapp/resources/css/bootstrap-theme.min.css @@ -0,0 +1,5 @@ +/*! + * Bootstrap v3.3.5 (http://getbootstrap.com) + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */.btn-danger,.btn-default,.btn-info,.btn-primary,.btn-success,.btn-warning{text-shadow:0 -1px 0 rgba(0,0,0,.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075)}.btn-danger.active,.btn-danger:active,.btn-default.active,.btn-default:active,.btn-info.active,.btn-info:active,.btn-primary.active,.btn-primary:active,.btn-success.active,.btn-success:active,.btn-warning.active,.btn-warning:active{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-danger.disabled,.btn-danger[disabled],.btn-default.disabled,.btn-default[disabled],.btn-info.disabled,.btn-info[disabled],.btn-primary.disabled,.btn-primary[disabled],.btn-success.disabled,.btn-success[disabled],.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-danger,fieldset[disabled] .btn-default,fieldset[disabled] .btn-info,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-success,fieldset[disabled] .btn-warning{-webkit-box-shadow:none;box-shadow:none}.btn-danger .badge,.btn-default .badge,.btn-info .badge,.btn-primary .badge,.btn-success .badge,.btn-warning .badge{text-shadow:none}.btn.active,.btn:active{background-image:none}.btn-default{text-shadow:0 1px 0 #fff;background-image:-webkit-linear-gradient(top,#fff 0,#e0e0e0 100%);background-image:-o-linear-gradient(top,#fff 0,#e0e0e0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#e0e0e0));background-image:linear-gradient(to bottom,#fff 0,#e0e0e0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#dbdbdb;border-color:#ccc}.btn-default:focus,.btn-default:hover{background-color:#e0e0e0;background-position:0 -15px}.btn-default.active,.btn-default:active{background-color:#e0e0e0;border-color:#dbdbdb}.btn-default.disabled,.btn-default.disabled.active,.btn-default.disabled.focus,.btn-default.disabled:active,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled],.btn-default[disabled].active,.btn-default[disabled].focus,.btn-default[disabled]:active,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default,fieldset[disabled] .btn-default.active,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:active,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#e0e0e0;background-image:none}.btn-primary{background-image:-webkit-linear-gradient(top,#337ab7 0,#265a88 100%);background-image:-o-linear-gradient(top,#337ab7 0,#265a88 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#265a88));background-image:linear-gradient(to bottom,#337ab7 0,#265a88 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#245580}.btn-primary:focus,.btn-primary:hover{background-color:#265a88;background-position:0 -15px}.btn-primary.active,.btn-primary:active{background-color:#265a88;border-color:#245580}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled.focus,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled].focus,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#265a88;background-image:none}.btn-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#419641 100%);background-image:-o-linear-gradient(top,#5cb85c 0,#419641 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5cb85c),to(#419641));background-image:linear-gradient(to bottom,#5cb85c 0,#419641 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#3e8f3e}.btn-success:focus,.btn-success:hover{background-color:#419641;background-position:0 -15px}.btn-success.active,.btn-success:active{background-color:#419641;border-color:#3e8f3e}.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled.focus,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled].focus,.btn-success[disabled]:active,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success.active,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#419641;background-image:none}.btn-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#2aabd2 100%);background-image:-o-linear-gradient(top,#5bc0de 0,#2aabd2 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5bc0de),to(#2aabd2));background-image:linear-gradient(to bottom,#5bc0de 0,#2aabd2 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#28a4c9}.btn-info:focus,.btn-info:hover{background-color:#2aabd2;background-position:0 -15px}.btn-info.active,.btn-info:active{background-color:#2aabd2;border-color:#28a4c9}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled.focus,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled].focus,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#2aabd2;background-image:none}.btn-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#eb9316 100%);background-image:-o-linear-gradient(top,#f0ad4e 0,#eb9316 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f0ad4e),to(#eb9316));background-image:linear-gradient(to bottom,#f0ad4e 0,#eb9316 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#e38d13}.btn-warning:focus,.btn-warning:hover{background-color:#eb9316;background-position:0 -15px}.btn-warning.active,.btn-warning:active{background-color:#eb9316;border-color:#e38d13}.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled.focus,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled].focus,.btn-warning[disabled]:active,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning.active,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#eb9316;background-image:none}.btn-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c12e2a 100%);background-image:-o-linear-gradient(top,#d9534f 0,#c12e2a 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9534f),to(#c12e2a));background-image:linear-gradient(to bottom,#d9534f 0,#c12e2a 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#b92c28}.btn-danger:focus,.btn-danger:hover{background-color:#c12e2a;background-position:0 -15px}.btn-danger.active,.btn-danger:active{background-color:#c12e2a;border-color:#b92c28}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled.focus,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled].focus,.btn-danger[disabled]:active,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger.active,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#c12e2a;background-image:none}.img-thumbnail,.thumbnail{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{background-color:#e8e8e8;background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-o-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#e8e8e8));background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);background-repeat:repeat-x}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{background-color:#2e6da4;background-image:-webkit-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));background-image:linear-gradient(to bottom,#337ab7 0,#2e6da4 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);background-repeat:repeat-x}.navbar-default{background-image:-webkit-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:-o-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#f8f8f8));background-image:linear-gradient(to bottom,#fff 0,#f8f8f8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-radius:4px;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075)}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.open>a{background-image:-webkit-linear-gradient(top,#dbdbdb 0,#e2e2e2 100%);background-image:-o-linear-gradient(top,#dbdbdb 0,#e2e2e2 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dbdbdb),to(#e2e2e2));background-image:linear-gradient(to bottom,#dbdbdb 0,#e2e2e2 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0);background-repeat:repeat-x;-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.075);box-shadow:inset 0 3px 9px rgba(0,0,0,.075)}.navbar-brand,.navbar-nav>li>a{text-shadow:0 1px 0 rgba(255,255,255,.25)}.navbar-inverse{background-image:-webkit-linear-gradient(top,#3c3c3c 0,#222 100%);background-image:-o-linear-gradient(top,#3c3c3c 0,#222 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#3c3c3c),to(#222));background-image:linear-gradient(to bottom,#3c3c3c 0,#222 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-radius:4px}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.open>a{background-image:-webkit-linear-gradient(top,#080808 0,#0f0f0f 100%);background-image:-o-linear-gradient(top,#080808 0,#0f0f0f 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#080808),to(#0f0f0f));background-image:linear-gradient(to bottom,#080808 0,#0f0f0f 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0);background-repeat:repeat-x;-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.25);box-shadow:inset 0 3px 9px rgba(0,0,0,.25)}.navbar-inverse .navbar-brand,.navbar-inverse .navbar-nav>li>a{text-shadow:0 -1px 0 rgba(0,0,0,.25)}.navbar-fixed-bottom,.navbar-fixed-top,.navbar-static-top{border-radius:0}@media (max-width:767px){.navbar .navbar-nav .open .dropdown-menu>.active>a,.navbar .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-image:-webkit-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));background-image:linear-gradient(to bottom,#337ab7 0,#2e6da4 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);background-repeat:repeat-x}}.alert{text-shadow:0 1px 0 rgba(255,255,255,.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05)}.alert-success{background-image:-webkit-linear-gradient(top,#dff0d8 0,#c8e5bc 100%);background-image:-o-linear-gradient(top,#dff0d8 0,#c8e5bc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dff0d8),to(#c8e5bc));background-image:linear-gradient(to bottom,#dff0d8 0,#c8e5bc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);background-repeat:repeat-x;border-color:#b2dba1}.alert-info{background-image:-webkit-linear-gradient(top,#d9edf7 0,#b9def0 100%);background-image:-o-linear-gradient(top,#d9edf7 0,#b9def0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9edf7),to(#b9def0));background-image:linear-gradient(to bottom,#d9edf7 0,#b9def0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);background-repeat:repeat-x;border-color:#9acfea}.alert-warning{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#f8efc0 100%);background-image:-o-linear-gradient(top,#fcf8e3 0,#f8efc0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fcf8e3),to(#f8efc0));background-image:linear-gradient(to bottom,#fcf8e3 0,#f8efc0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);background-repeat:repeat-x;border-color:#f5e79e}.alert-danger{background-image:-webkit-linear-gradient(top,#f2dede 0,#e7c3c3 100%);background-image:-o-linear-gradient(top,#f2dede 0,#e7c3c3 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f2dede),to(#e7c3c3));background-image:linear-gradient(to bottom,#f2dede 0,#e7c3c3 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);background-repeat:repeat-x;border-color:#dca7a7}.progress{background-image:-webkit-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:-o-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#ebebeb),to(#f5f5f5));background-image:linear-gradient(to bottom,#ebebeb 0,#f5f5f5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);background-repeat:repeat-x}.progress-bar{background-image:-webkit-linear-gradient(top,#337ab7 0,#286090 100%);background-image:-o-linear-gradient(top,#337ab7 0,#286090 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#286090));background-image:linear-gradient(to bottom,#337ab7 0,#286090 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0);background-repeat:repeat-x}.progress-bar-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:-o-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5cb85c),to(#449d44));background-image:linear-gradient(to bottom,#5cb85c 0,#449d44 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);background-repeat:repeat-x}.progress-bar-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:-o-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5bc0de),to(#31b0d5));background-image:linear-gradient(to bottom,#5bc0de 0,#31b0d5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);background-repeat:repeat-x}.progress-bar-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:-o-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f0ad4e),to(#ec971f));background-image:linear-gradient(to bottom,#f0ad4e 0,#ec971f 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);background-repeat:repeat-x}.progress-bar-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:-o-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9534f),to(#c9302c));background-image:linear-gradient(to bottom,#d9534f 0,#c9302c 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);background-repeat:repeat-x}.progress-bar-striped{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.list-group{border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{text-shadow:0 -1px 0 #286090;background-image:-webkit-linear-gradient(top,#337ab7 0,#2b669a 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2b669a 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2b669a));background-image:linear-gradient(to bottom,#337ab7 0,#2b669a 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0);background-repeat:repeat-x;border-color:#2b669a}.list-group-item.active .badge,.list-group-item.active:focus .badge,.list-group-item.active:hover .badge{text-shadow:none}.panel{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.05);box-shadow:0 1px 2px rgba(0,0,0,.05)}.panel-default>.panel-heading{background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-o-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#e8e8e8));background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);background-repeat:repeat-x}.panel-primary>.panel-heading{background-image:-webkit-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));background-image:linear-gradient(to bottom,#337ab7 0,#2e6da4 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);background-repeat:repeat-x}.panel-success>.panel-heading{background-image:-webkit-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:-o-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dff0d8),to(#d0e9c6));background-image:linear-gradient(to bottom,#dff0d8 0,#d0e9c6 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);background-repeat:repeat-x}.panel-info>.panel-heading{background-image:-webkit-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:-o-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9edf7),to(#c4e3f3));background-image:linear-gradient(to bottom,#d9edf7 0,#c4e3f3 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);background-repeat:repeat-x}.panel-warning>.panel-heading{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:-o-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fcf8e3),to(#faf2cc));background-image:linear-gradient(to bottom,#fcf8e3 0,#faf2cc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);background-repeat:repeat-x}.panel-danger>.panel-heading{background-image:-webkit-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:-o-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f2dede),to(#ebcccc));background-image:linear-gradient(to bottom,#f2dede 0,#ebcccc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);background-repeat:repeat-x}.well{background-image:-webkit-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:-o-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#e8e8e8),to(#f5f5f5));background-image:linear-gradient(to bottom,#e8e8e8 0,#f5f5f5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);background-repeat:repeat-x;border-color:#dcdcdc;-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1)} \ No newline at end of file diff --git a/opensrp-web/bin/src/main/webapp/resources/css/bootstrap.min.css b/opensrp-web/bin/src/main/webapp/resources/css/bootstrap.min.css new file mode 100644 index 0000000000..d65c66b1ba --- /dev/null +++ b/opensrp-web/bin/src/main/webapp/resources/css/bootstrap.min.css @@ -0,0 +1,5 @@ +/*! + * Bootstrap v3.3.5 (http://getbootstrap.com) + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0;font-size:2em}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid silver}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,:after,:before{color:#000!important;text-shadow:none!important;background:0 0!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="javascript:"]:after,a[href^="#"]:after{content:""}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff2) format('woff2'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-eur:before,.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:focus,a:hover{color:#23527c;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.carousel-inner>.item>a>img,.carousel-inner>.item>img,.img-responsive,.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;max-width:100%;height:auto;padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role=button]{cursor:pointer}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:focus,a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:focus,a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:focus,a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:focus,a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:focus,a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:focus,a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:focus,a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:focus,a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:focus,a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:focus,a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ol,ul{margin-top:0;margin-bottom:10px}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;margin-left:-5px;list-style:none}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dd,dt{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote .small:before,blockquote footer:before,blockquote small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:''}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:'\00A0 \2014'}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=radio]{margin:4px 0 0;margin-top:1px\9;line-height:normal}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=checkbox]:focus,input[type=radio]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}input[type=search]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date].form-control,input[type=time].form-control,input[type=datetime-local].form-control,input[type=month].form-control{line-height:34px}.input-group-sm input[type=date],.input-group-sm input[type=time],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:30px}.input-group-lg input[type=date],.input-group-lg input[type=time],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg{line-height:46px}}.form-group{margin-bottom:15px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox label,.radio label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-top:4px\9;margin-left:-20px}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}.checkbox-inline.disabled,.radio-inline.disabled,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio-inline{cursor:not-allowed}.checkbox.disabled label,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .radio label{cursor:not-allowed}.form-control-static{min-height:34px;padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm select[multiple].form-control,.form-group-sm textarea.form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg{height:46px;line-height:46px}select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:46px;line-height:46px}.form-group-lg select[multiple].form-control,.form-group-lg textarea.form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:11px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.form-group-lg .form-control+.form-control-feedback,.input-group-lg+.form-control-feedback,.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.form-group-sm .form-control+.form-control-feedback,.input-group-sm+.form-control-feedback,.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:14.33px;font-size:18px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;opacity:.65}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default.focus,.btn-default:focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.btn-default:hover{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.dropdown-toggle.btn-default.focus,.open>.dropdown-toggle.btn-default:focus,.open>.dropdown-toggle.btn-default:hover{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled,.btn-default.disabled.active,.btn-default.disabled.focus,.btn-default.disabled:active,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled],.btn-default[disabled].active,.btn-default[disabled].focus,.btn-default[disabled]:active,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default,fieldset[disabled] .btn-default.active,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:active,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#286090;border-color:#122b40}.btn-primary:hover{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.dropdown-toggle.btn-primary.focus,.open>.dropdown-toggle.btn-primary:focus,.open>.dropdown-toggle.btn-primary:hover{color:#fff;background-color:#204d74;border-color:#122b40}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled.focus,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled].focus,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#449d44;border-color:#255625}.btn-success:hover{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.dropdown-toggle.btn-success.focus,.open>.dropdown-toggle.btn-success:focus,.open>.dropdown-toggle.btn-success:hover{color:#fff;background-color:#398439;border-color:#255625}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled.focus,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled].focus,.btn-success[disabled]:active,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success.active,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.dropdown-toggle.btn-info.focus,.open>.dropdown-toggle.btn-info:focus,.open>.dropdown-toggle.btn-info:hover{color:#fff;background-color:#269abc;border-color:#1b6d85}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled.focus,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled].focus,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning.focus,.btn-warning:focus{color:#fff;background-color:#ec971f;border-color:#985f0d}.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.dropdown-toggle.btn-warning.focus,.open>.dropdown-toggle.btn-warning:focus,.open>.dropdown-toggle.btn-warning:hover{color:#fff;background-color:#d58512;border-color:#985f0d}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled.focus,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled].focus,.btn-warning[disabled]:active,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning.active,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c9302c;border-color:#761c19}.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.dropdown-toggle.btn-danger.focus,.open>.dropdown-toggle.btn-danger:focus,.open>.dropdown-toggle.btn-danger:hover{color:#fff;background-color:#ac2925;border-color:#761c19}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled.focus,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled].focus,.btn-danger[disabled]:active,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger.active,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#337ab7;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-property:height,visibility;-o-transition-property:height,visibility;transition-property:height,visibility}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid\9;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown,.dropup{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px dashed;border-bottom:4px solid\9}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;height:50px;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#337ab7;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{z-index:3;color:#23527c;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:2;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:focus,.label-success[href]:hover{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:focus,.label-info[href]:hover{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-group-xs>.btn .badge,.btn-xs .badge{top:0;padding:1px 5px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron .h1,.jumbotron h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail a>img,.thumbnail>img{margin-right:auto;margin-left:auto}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{overflow:hidden;zoom:1}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover,button.list-group-item:focus,button.list-group-item:hover{color:#555;text-decoration:none;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{color:#777;cursor:not-allowed;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#c7ddef}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-right:15px;padding-left:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{min-height:16.43px;padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;filter:alpha(opacity=0);opacity:0;line-break:auto}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);line-break:auto}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>a>img,.carousel-inner>.item>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.active.right,.carousel-inner>.item.next{left:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.carousel-inner>.item.active.left,.carousel-inner>.item.prev{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{left:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:focus,.carousel-control:hover{color:#fff;text-decoration:none;filter:alpha(opacity=90);outline:0;opacity:.9}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block;margin-top:-10px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-next,.carousel-control .icon-prev{width:20px;height:20px;font-family:serif;line-height:1}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000\9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-15px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-15px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-15px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{display:table;content:" "}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-lg,.visible-md,.visible-sm,.visible-xs{display:none!important}.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table!important}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (max-width:767px){.visible-xs-block{display:block!important}}@media (max-width:767px){.visible-xs-inline{display:inline!important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table!important}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table!important}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table!important}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table!important}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}} \ No newline at end of file diff --git a/opensrp-web/bin/src/main/webapp/resources/css/jquery.dataTables.min.css b/opensrp-web/bin/src/main/webapp/resources/css/jquery.dataTables.min.css new file mode 100644 index 0000000000..2edb32f7c7 --- /dev/null +++ b/opensrp-web/bin/src/main/webapp/resources/css/jquery.dataTables.min.css @@ -0,0 +1 @@ +table.dataTable{width:100%;margin:0 auto;clear:both;border-collapse:separate;border-spacing:0}table.dataTable thead th,table.dataTable tfoot th{font-weight:bold}table.dataTable thead th,table.dataTable thead td{padding:10px 18px;border-bottom:1px solid #111}table.dataTable thead th:active,table.dataTable thead td:active{outline:none}table.dataTable tfoot th,table.dataTable tfoot td{padding:10px 18px 6px 18px;border-top:1px solid #111}table.dataTable thead .sorting,table.dataTable thead .sorting_asc,table.dataTable thead .sorting_desc{cursor:pointer;*cursor:hand}table.dataTable thead .sorting,table.dataTable thead .sorting_asc,table.dataTable thead .sorting_desc,table.dataTable thead .sorting_asc_disabled,table.dataTable thead .sorting_desc_disabled{background-repeat:no-repeat;background-position:center right}table.dataTable thead .sorting{background-image:url("../images/sort_both.png")}table.dataTable thead .sorting_asc{background-image:url("../images/sort_asc.png")}table.dataTable thead .sorting_desc{background-image:url("../images/sort_desc.png")}table.dataTable thead .sorting_asc_disabled{background-image:url("../images/sort_asc_disabled.png")}table.dataTable thead .sorting_desc_disabled{background-image:url("../images/sort_desc_disabled.png")}table.dataTable tbody tr{background-color:#fff}table.dataTable tbody tr.selected{background-color:#B0BED9}table.dataTable tbody th,table.dataTable tbody td{padding:8px 10px}table.dataTable.row-border tbody th,table.dataTable.row-border tbody td,table.dataTable.display tbody th,table.dataTable.display tbody td{border-top:1px solid #ddd}table.dataTable.row-border tbody tr:first-child th,table.dataTable.row-border tbody tr:first-child td,table.dataTable.display tbody tr:first-child th,table.dataTable.display tbody tr:first-child td{border-top:none}table.dataTable.cell-border tbody th,table.dataTable.cell-border tbody td{border-top:1px solid #ddd;border-right:1px solid #ddd}table.dataTable.cell-border tbody tr th:first-child,table.dataTable.cell-border tbody tr td:first-child{border-left:1px solid #ddd}table.dataTable.cell-border tbody tr:first-child th,table.dataTable.cell-border tbody tr:first-child td{border-top:none}table.dataTable.stripe tbody tr.odd,table.dataTable.display tbody tr.odd{background-color:#f9f9f9}table.dataTable.stripe tbody tr.odd.selected,table.dataTable.display tbody tr.odd.selected{background-color:#abb9d3}table.dataTable.hover tbody tr:hover,table.dataTable.display tbody tr:hover{background-color:#f5f5f5}table.dataTable.hover tbody tr:hover.selected,table.dataTable.display tbody tr:hover.selected{background-color:#a9b7d1}table.dataTable.order-column tbody tr>.sorting_1,table.dataTable.order-column tbody tr>.sorting_2,table.dataTable.order-column tbody tr>.sorting_3,table.dataTable.display tbody tr>.sorting_1,table.dataTable.display tbody tr>.sorting_2,table.dataTable.display tbody tr>.sorting_3{background-color:#f9f9f9}table.dataTable.order-column tbody tr.selected>.sorting_1,table.dataTable.order-column tbody tr.selected>.sorting_2,table.dataTable.order-column tbody tr.selected>.sorting_3,table.dataTable.display tbody tr.selected>.sorting_1,table.dataTable.display tbody tr.selected>.sorting_2,table.dataTable.display tbody tr.selected>.sorting_3{background-color:#acbad4}table.dataTable.display tbody tr.odd>.sorting_1,table.dataTable.order-column.stripe tbody tr.odd>.sorting_1{background-color:#f1f1f1}table.dataTable.display tbody tr.odd>.sorting_2,table.dataTable.order-column.stripe tbody tr.odd>.sorting_2{background-color:#f3f3f3}table.dataTable.display tbody tr.odd>.sorting_3,table.dataTable.order-column.stripe tbody tr.odd>.sorting_3{background-color:#f5f5f5}table.dataTable.display tbody tr.odd.selected>.sorting_1,table.dataTable.order-column.stripe tbody tr.odd.selected>.sorting_1{background-color:#a6b3cd}table.dataTable.display tbody tr.odd.selected>.sorting_2,table.dataTable.order-column.stripe tbody tr.odd.selected>.sorting_2{background-color:#a7b5ce}table.dataTable.display tbody tr.odd.selected>.sorting_3,table.dataTable.order-column.stripe tbody tr.odd.selected>.sorting_3{background-color:#a9b6d0}table.dataTable.display tbody tr.even>.sorting_1,table.dataTable.order-column.stripe tbody tr.even>.sorting_1{background-color:#f9f9f9}table.dataTable.display tbody tr.even>.sorting_2,table.dataTable.order-column.stripe tbody tr.even>.sorting_2{background-color:#fbfbfb}table.dataTable.display tbody tr.even>.sorting_3,table.dataTable.order-column.stripe tbody tr.even>.sorting_3{background-color:#fdfdfd}table.dataTable.display tbody tr.even.selected>.sorting_1,table.dataTable.order-column.stripe tbody tr.even.selected>.sorting_1{background-color:#acbad4}table.dataTable.display tbody tr.even.selected>.sorting_2,table.dataTable.order-column.stripe tbody tr.even.selected>.sorting_2{background-color:#adbbd6}table.dataTable.display tbody tr.even.selected>.sorting_3,table.dataTable.order-column.stripe tbody tr.even.selected>.sorting_3{background-color:#afbdd8}table.dataTable.display tbody tr:hover>.sorting_1,table.dataTable.order-column.hover tbody tr:hover>.sorting_1{background-color:#eaeaea}table.dataTable.display tbody tr:hover>.sorting_2,table.dataTable.order-column.hover tbody tr:hover>.sorting_2{background-color:#ebebeb}table.dataTable.display tbody tr:hover>.sorting_3,table.dataTable.order-column.hover tbody tr:hover>.sorting_3{background-color:#eee}table.dataTable.display tbody tr:hover.selected>.sorting_1,table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_1{background-color:#a1aec7}table.dataTable.display tbody tr:hover.selected>.sorting_2,table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_2{background-color:#a2afc8}table.dataTable.display tbody tr:hover.selected>.sorting_3,table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_3{background-color:#a4b2cb}table.dataTable.no-footer{border-bottom:1px solid #111}table.dataTable.nowrap th,table.dataTable.nowrap td{white-space:nowrap}table.dataTable.compact thead th,table.dataTable.compact thead td{padding:4px 17px 4px 4px}table.dataTable.compact tfoot th,table.dataTable.compact tfoot td{padding:4px}table.dataTable.compact tbody th,table.dataTable.compact tbody td{padding:4px}table.dataTable th.dt-left,table.dataTable td.dt-left{text-align:left}table.dataTable th.dt-center,table.dataTable td.dt-center,table.dataTable td.dataTables_empty{text-align:center}table.dataTable th.dt-right,table.dataTable td.dt-right{text-align:right}table.dataTable th.dt-justify,table.dataTable td.dt-justify{text-align:justify}table.dataTable th.dt-nowrap,table.dataTable td.dt-nowrap{white-space:nowrap}table.dataTable thead th.dt-head-left,table.dataTable thead td.dt-head-left,table.dataTable tfoot th.dt-head-left,table.dataTable tfoot td.dt-head-left{text-align:left}table.dataTable thead th.dt-head-center,table.dataTable thead td.dt-head-center,table.dataTable tfoot th.dt-head-center,table.dataTable tfoot td.dt-head-center{text-align:center}table.dataTable thead th.dt-head-right,table.dataTable thead td.dt-head-right,table.dataTable tfoot th.dt-head-right,table.dataTable tfoot td.dt-head-right{text-align:right}table.dataTable thead th.dt-head-justify,table.dataTable thead td.dt-head-justify,table.dataTable tfoot th.dt-head-justify,table.dataTable tfoot td.dt-head-justify{text-align:justify}table.dataTable thead th.dt-head-nowrap,table.dataTable thead td.dt-head-nowrap,table.dataTable tfoot th.dt-head-nowrap,table.dataTable tfoot td.dt-head-nowrap{white-space:nowrap}table.dataTable tbody th.dt-body-left,table.dataTable tbody td.dt-body-left{text-align:left}table.dataTable tbody th.dt-body-center,table.dataTable tbody td.dt-body-center{text-align:center}table.dataTable tbody th.dt-body-right,table.dataTable tbody td.dt-body-right{text-align:right}table.dataTable tbody th.dt-body-justify,table.dataTable tbody td.dt-body-justify{text-align:justify}table.dataTable tbody th.dt-body-nowrap,table.dataTable tbody td.dt-body-nowrap{white-space:nowrap}table.dataTable,table.dataTable th,table.dataTable td{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.dataTables_wrapper{position:relative;clear:both;*zoom:1;zoom:1}.dataTables_wrapper .dataTables_length{float:left}.dataTables_wrapper .dataTables_filter{float:right;text-align:right}.dataTables_wrapper .dataTables_filter input{margin-left:0.5em}.dataTables_wrapper .dataTables_info{clear:both;float:left;padding-top:0.755em}.dataTables_wrapper .dataTables_paginate{float:right;text-align:right;padding-top:0.25em}.dataTables_wrapper .dataTables_paginate .paginate_button{box-sizing:border-box;display:inline-block;min-width:1.5em;padding:0.5em 1em;margin-left:2px;text-align:center;text-decoration:none !important;cursor:pointer;*cursor:hand;color:#333 !important;border:1px solid transparent}.dataTables_wrapper .dataTables_paginate .paginate_button.current,.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover{color:#333 !important;border:1px solid #cacaca;background-color:#fff;background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #fff), color-stop(100%, #dcdcdc));background:-webkit-linear-gradient(top, #fff 0%, #dcdcdc 100%);background:-moz-linear-gradient(top, #fff 0%, #dcdcdc 100%);background:-ms-linear-gradient(top, #fff 0%, #dcdcdc 100%);background:-o-linear-gradient(top, #fff 0%, #dcdcdc 100%);background:linear-gradient(to bottom, #fff 0%, #dcdcdc 100%)}.dataTables_wrapper .dataTables_paginate .paginate_button.disabled,.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover,.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:active{cursor:default;color:#666 !important;border:1px solid transparent;background:transparent;box-shadow:none}.dataTables_wrapper .dataTables_paginate .paginate_button:hover{color:white !important;border:1px solid #111;background-color:#585858;background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #585858), color-stop(100%, #111));background:-webkit-linear-gradient(top, #585858 0%, #111 100%);background:-moz-linear-gradient(top, #585858 0%, #111 100%);background:-ms-linear-gradient(top, #585858 0%, #111 100%);background:-o-linear-gradient(top, #585858 0%, #111 100%);background:linear-gradient(to bottom, #585858 0%, #111 100%)}.dataTables_wrapper .dataTables_paginate .paginate_button:active{outline:none;background-color:#2b2b2b;background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #2b2b2b), color-stop(100%, #0c0c0c));background:-webkit-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);background:-moz-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);background:-ms-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);background:-o-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);background:linear-gradient(to bottom, #2b2b2b 0%, #0c0c0c 100%);box-shadow:inset 0 0 3px #111}.dataTables_wrapper .dataTables_paginate .ellipsis{padding:0 1em}.dataTables_wrapper .dataTables_processing{position:absolute;top:50%;left:50%;width:100%;height:40px;margin-left:-50%;margin-top:-25px;padding-top:20px;text-align:center;font-size:1.2em;background-color:white;background:-webkit-gradient(linear, left top, right top, color-stop(0%, rgba(255,255,255,0)), color-stop(25%, rgba(255,255,255,0.9)), color-stop(75%, rgba(255,255,255,0.9)), color-stop(100%, rgba(255,255,255,0)));background:-webkit-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);background:-moz-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);background:-ms-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);background:-o-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);background:linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%)}.dataTables_wrapper .dataTables_length,.dataTables_wrapper .dataTables_filter,.dataTables_wrapper .dataTables_info,.dataTables_wrapper .dataTables_processing,.dataTables_wrapper .dataTables_paginate{color:#333}.dataTables_wrapper .dataTables_scroll{clear:both}.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody{*margin-top:-1px;-webkit-overflow-scrolling:touch}.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody th>div.dataTables_sizing,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody td>div.dataTables_sizing{height:0;overflow:hidden;margin:0 !important;padding:0 !important}.dataTables_wrapper.no-footer .dataTables_scrollBody{border-bottom:1px solid #111}.dataTables_wrapper.no-footer div.dataTables_scrollHead table,.dataTables_wrapper.no-footer div.dataTables_scrollBody table{border-bottom:none}.dataTables_wrapper:after{visibility:hidden;display:block;content:"";clear:both;height:0}@media screen and (max-width: 767px){.dataTables_wrapper .dataTables_info,.dataTables_wrapper .dataTables_paginate{float:none;text-align:center}.dataTables_wrapper .dataTables_paginate{margin-top:0.5em}}@media screen and (max-width: 640px){.dataTables_wrapper .dataTables_length,.dataTables_wrapper .dataTables_filter{float:none;text-align:center}.dataTables_wrapper .dataTables_filter{margin-top:0.5em}} diff --git a/opensrp-web/bin/src/main/webapp/resources/css/style.css b/opensrp-web/bin/src/main/webapp/resources/css/style.css new file mode 100644 index 0000000000..360c4f6aab --- /dev/null +++ b/opensrp-web/bin/src/main/webapp/resources/css/style.css @@ -0,0 +1 @@ +# Empty CSS file for your own CSS \ No newline at end of file diff --git a/opensrp-web/bin/src/main/webapp/resources/fonts/glyphicons-halflings-regular.eot b/opensrp-web/bin/src/main/webapp/resources/fonts/glyphicons-halflings-regular.eot new file mode 100644 index 0000000000000000000000000000000000000000..b93a4953fff68df523aa7656497ee339d6026d64 GIT binary patch literal 20127 zcma%hV{j!vx9y2-`@~L8?1^pLwlPU2wr$&<*tR|KBoo`2;LUg6eW-eW-tKDb)vH%` z^`A!Vd<6hNSRMcX|Cb;E|1qflDggj6Kmr)xA10^t-vIc3*Z+F{r%|K(GyE^?|I{=9 zNq`(c8=wS`0!RZy0g3{M(8^tv41d}oRU?8#IBFtJy*9zAN5dcxqGlMZGL>GG%R#)4J zDJ2;)4*E1pyHia%>lMv3X7Q`UoFyoB@|xvh^)kOE3)IL&0(G&i;g08s>c%~pHkN&6 z($7!kyv|A2DsV2mq-5Ku)D#$Kn$CzqD-wm5Q*OtEOEZe^&T$xIb0NUL}$)W)Ck`6oter6KcQG9Zcy>lXip)%e&!lQgtQ*N`#abOlytt!&i3fo)cKV zP0BWmLxS1gQv(r_r|?9>rR0ZeEJPx;Vi|h1!Eo*dohr&^lJgqJZns>&vexP@fs zkPv93Nyw$-kM5Mw^{@wPU47Y1dSkiHyl3dtHLwV&6Tm1iv{ve;sYA}Z&kmH802s9Z zyJEn+cfl7yFu#1^#DbtP7k&aR06|n{LnYFYEphKd@dJEq@)s#S)UA&8VJY@S2+{~> z(4?M();zvayyd^j`@4>xCqH|Au>Sfzb$mEOcD7e4z8pPVRTiMUWiw;|gXHw7LS#U< zsT(}Z5SJ)CRMXloh$qPnK77w_)ctHmgh}QAe<2S{DU^`!uwptCoq!Owz$u6bF)vnb zL`bM$%>baN7l#)vtS3y6h*2?xCk z>w+s)@`O4(4_I{L-!+b%)NZcQ&ND=2lyP+xI#9OzsiY8$c)ys-MI?TG6 zEP6f=vuLo!G>J7F4v|s#lJ+7A`^nEQScH3e?B_jC&{sj>m zYD?!1z4nDG_Afi$!J(<{>z{~Q)$SaXWjj~%ZvF152Hd^VoG14rFykR=_TO)mCn&K$ z-TfZ!vMBvnToyBoKRkD{3=&=qD|L!vb#jf1f}2338z)e)g>7#NPe!FoaY*jY{f)Bf>ohk-K z4{>fVS}ZCicCqgLuYR_fYx2;*-4k>kffuywghn?15s1dIOOYfl+XLf5w?wtU2Og*f z%X5x`H55F6g1>m~%F`655-W1wFJtY>>qNSdVT`M`1Mlh!5Q6#3j={n5#za;!X&^OJ zgq;d4UJV-F>gg?c3Y?d=kvn3eV)Jb^ zO5vg0G0yN0%}xy#(6oTDSVw8l=_*2k;zTP?+N=*18H5wp`s90K-C67q{W3d8vQGmr zhpW^>1HEQV2TG#8_P_0q91h8QgHT~8=-Ij5snJ3cj?Jn5_66uV=*pq(j}yHnf$Ft;5VVC?bz%9X31asJeQF2jEa47H#j` zk&uxf3t?g!tltVP|B#G_UfDD}`<#B#iY^i>oDd-LGF}A@Fno~dR72c&hs6bR z2F}9(i8+PR%R|~FV$;Ke^Q_E_Bc;$)xN4Ti>Lgg4vaip!%M z06oxAF_*)LH57w|gCW3SwoEHwjO{}}U=pKhjKSZ{u!K?1zm1q? zXyA6y@)}_sONiJopF}_}(~}d4FDyp|(@w}Vb;Fl5bZL%{1`}gdw#i{KMjp2@Fb9pg ziO|u7qP{$kxH$qh8%L+)AvwZNgUT6^zsZq-MRyZid{D?t`f|KzSAD~C?WT3d0rO`0 z=qQ6{)&UXXuHY{9g|P7l_nd-%eh}4%VVaK#Nik*tOu9lBM$<%FS@`NwGEbP0&;Xbo zObCq=y%a`jSJmx_uTLa{@2@}^&F4c%z6oe-TN&idjv+8E|$FHOvBqg5hT zMB=7SHq`_-E?5g=()*!V>rIa&LcX(RU}aLm*38U_V$C_g4)7GrW5$GnvTwJZdBmy6 z*X)wi3=R8L=esOhY0a&eH`^fSpUHV8h$J1|o^3fKO|9QzaiKu>yZ9wmRkW?HTkc<*v7i*ylJ#u#j zD1-n&{B`04oG>0Jn{5PKP*4Qsz{~`VVA3578gA+JUkiPc$Iq!^K|}*p_z3(-c&5z@ zKxmdNpp2&wg&%xL3xZNzG-5Xt7jnI@{?c z25=M>-VF|;an2Os$Nn%HgQz7m(ujC}Ii0Oesa(y#8>D+P*_m^X##E|h$M6tJr%#=P zWP*)Px>7z`E~U^2LNCNiy%Z7!!6RI%6fF@#ZY3z`CK91}^J$F!EB0YF1je9hJKU7!S5MnXV{+#K;y zF~s*H%p@vj&-ru7#(F2L+_;IH46X(z{~HTfcThqD%b{>~u@lSc<+f5#xgt9L7$gSK ziDJ6D*R%4&YeUB@yu@4+&70MBNTnjRyqMRd+@&lU#rV%0t3OmouhC`mkN}pL>tXin zY*p)mt=}$EGT2E<4Q>E2`6)gZ`QJhGDNpI}bZL9}m+R>q?l`OzFjW?)Y)P`fUH(_4 zCb?sm1=DD0+Q5v}BW#0n5;Nm(@RTEa3(Y17H2H67La+>ptQHJ@WMy2xRQT$|7l`8c zYHCxYw2o-rI?(fR2-%}pbs$I%w_&LPYE{4bo}vRoAW>3!SY_zH3`ofx3F1PsQ?&iq z*BRG>?<6%z=x#`NhlEq{K~&rU7Kc7Y-90aRnoj~rVoKae)L$3^z*Utppk?I`)CX&& zZ^@Go9fm&fN`b`XY zt0xE5aw4t@qTg_k=!-5LXU+_~DlW?53!afv6W(k@FPPX-`nA!FBMp7b!ODbL1zh58 z*69I}P_-?qSLKj}JW7gP!la}K@M}L>v?rDD!DY-tu+onu9kLoJz20M4urX_xf2dfZ zORd9Zp&28_ff=wdMpXi%IiTTNegC}~RLkdYjA39kWqlA?jO~o1`*B&85Hd%VPkYZT z48MPe62;TOq#c%H(`wX5(Bu>nlh4Fbd*Npasdhh?oRy8a;NB2(eb}6DgwXtx=n}fE zx67rYw=(s0r?EsPjaya}^Qc-_UT5|*@|$Q}*|>V3O~USkIe6a0_>vd~6kHuP8=m}_ zo2IGKbv;yA+TBtlCpnw)8hDn&eq?26gN$Bh;SdxaS04Fsaih_Cfb98s39xbv)=mS0 z6M<@pM2#pe32w*lYSWG>DYqB95XhgAA)*9dOxHr{t)er0Xugoy)!Vz#2C3FaUMzYl zCxy{igFB901*R2*F4>grPF}+G`;Yh zGi@nRjWyG3mR(BVOeBPOF=_&}2IWT%)pqdNAcL{eP`L*^FDv#Rzql5U&Suq_X%JfR_lC!S|y|xd5mQ0{0!G#9hV46S~A` z0B!{yI-4FZEtol5)mNWXcX(`x&Pc*&gh4k{w%0S#EI>rqqlH2xv7mR=9XNCI$V#NG z4wb-@u{PfQP;tTbzK>(DF(~bKp3;L1-A*HS!VB)Ae>Acnvde15Anb`h;I&0)aZBS6 z55ZS7mL5Wp!LCt45^{2_70YiI_Py=X{I3>$Px5Ez0ahLQ+ z9EWUWSyzA|+g-Axp*Lx-M{!ReQO07EG7r4^)K(xbj@%ZU=0tBC5shl)1a!ifM5OkF z0w2xQ-<+r-h1fi7B6waX15|*GGqfva)S)dVcgea`lQ~SQ$KXPR+(3Tn2I2R<0 z9tK`L*pa^+*n%>tZPiqt{_`%v?Bb7CR-!GhMON_Fbs0$#|H}G?rW|{q5fQhvw!FxI zs-5ZK>hAbnCS#ZQVi5K0X3PjL1JRdQO+&)*!oRCqB{wen60P6!7bGiWn@vD|+E@Xq zb!!_WiU^I|@1M}Hz6fN-m04x=>Exm{b@>UCW|c8vC`aNbtA@KCHujh^2RWZC}iYhL^<*Z93chIBJYU&w>$CGZDRcHuIgF&oyesDZ#&mA;?wxx4Cm#c0V$xYG?9OL(Smh}#fFuX(K;otJmvRP{h ze^f-qv;)HKC7geB92_@3a9@MGijS(hNNVd%-rZ;%@F_f7?Fjinbe1( zn#jQ*jKZTqE+AUTEd3y6t>*=;AO##cmdwU4gc2&rT8l`rtKW2JF<`_M#p>cj+)yCG zgKF)y8jrfxTjGO&ccm8RU>qn|HxQ7Z#sUo$q)P5H%8iBF$({0Ya51-rA@!It#NHN8MxqK zrYyl_&=}WVfQ?+ykV4*@F6)=u_~3BebR2G2>>mKaEBPmSW3(qYGGXj??m3L zHec{@jWCsSD8`xUy0pqT?Sw0oD?AUK*WxZn#D>-$`eI+IT)6ki>ic}W)t$V32^ITD zR497@LO}S|re%A+#vdv-?fXsQGVnP?QB_d0cGE+U84Q=aM=XrOwGFN3`Lpl@P0fL$ zKN1PqOwojH*($uaQFh8_)H#>Acl&UBSZ>!2W1Dinei`R4dJGX$;~60X=|SG6#jci} z&t4*dVDR*;+6Y(G{KGj1B2!qjvDYOyPC}%hnPbJ@g(4yBJrViG1#$$X75y+Ul1{%x zBAuD}Q@w?MFNqF-m39FGpq7RGI?%Bvyyig&oGv)lR>d<`Bqh=p>urib5DE;u$c|$J zwim~nPb19t?LJZsm{<(Iyyt@~H!a4yywmHKW&=1r5+oj*Fx6c89heW@(2R`i!Uiy* zp)=`Vr8sR!)KChE-6SEIyi(dvG3<1KoVt>kGV=zZiG7LGonH1+~yOK-`g0)r#+O|Q>)a`I2FVW%wr3lhO(P{ksNQuR!G_d zeTx(M!%brW_vS9?IF>bzZ2A3mWX-MEaOk^V|4d38{1D|KOlZSjBKrj7Fgf^>JyL0k zLoI$adZJ0T+8i_Idsuj}C;6jgx9LY#Ukh;!8eJ^B1N}q=Gn4onF*a2vY7~`x$r@rJ z`*hi&Z2lazgu{&nz>gjd>#eq*IFlXed(%$s5!HRXKNm zDZld+DwDI`O6hyn2uJ)F^{^;ESf9sjJ)wMSKD~R=DqPBHyP!?cGAvL<1|7K-(=?VO zGcKcF1spUa+ki<`6K#@QxOTsd847N8WSWztG~?~ z!gUJn>z0O=_)VCE|56hkT~n5xXTp}Ucx$Ii%bQ{5;-a4~I2e|{l9ur#*ghd*hSqO= z)GD@ev^w&5%k}YYB~!A%3*XbPPU-N6&3Lp1LxyP@|C<{qcn&?l54+zyMk&I3YDT|E z{lXH-e?C{huu<@~li+73lMOk&k)3s7Asn$t6!PtXJV!RkA`qdo4|OC_a?vR!kE_}k zK5R9KB%V@R7gt@9=TGL{=#r2gl!@3G;k-6sXp&E4u20DgvbY$iE**Xqj3TyxK>3AU z!b9}NXuINqt>Htt6fXIy5mj7oZ{A&$XJ&thR5ySE{mkxq_YooME#VCHm2+3D!f`{) zvR^WSjy_h4v^|!RJV-RaIT2Ctv=)UMMn@fAgjQV$2G+4?&dGA8vK35c-8r)z9Qqa=%k(FU)?iec14<^olkOU3p zF-6`zHiDKPafKK^USUU+D01>C&Wh{{q?>5m zGQp|z*+#>IIo=|ae8CtrN@@t~uLFOeT{}vX(IY*;>wAU=u1Qo4c+a&R);$^VCr>;! zv4L{`lHgc9$BeM)pQ#XA_(Q#=_iSZL4>L~8Hx}NmOC$&*Q*bq|9Aq}rWgFnMDl~d*;7c44GipcpH9PWaBy-G$*MI^F0 z?Tdxir1D<2ui+Q#^c4?uKvq=p>)lq56=Eb|N^qz~w7rsZu)@E4$;~snz+wIxi+980O6M#RmtgLYh@|2}9BiHSpTs zacjGKvwkUwR3lwTSsCHlwb&*(onU;)$yvdhikonn|B44JMgs*&Lo!jn`6AE>XvBiO z*LKNX3FVz9yLcsnmL!cRVO_qv=yIM#X|u&}#f%_?Tj0>8)8P_0r0!AjWNw;S44tst zv+NXY1{zRLf9OYMr6H-z?4CF$Y%MdbpFIN@a-LEnmkcOF>h16cH_;A|e)pJTuCJ4O zY7!4FxT4>4aFT8a92}84>q0&?46h>&0Vv0p>u~k&qd5$C1A6Q$I4V(5X~6{15;PD@ ze6!s9xh#^QI`J+%8*=^(-!P!@9%~buBmN2VSAp@TOo6}C?az+ALP8~&a0FWZk*F5N z^8P8IREnN`N0i@>O0?{i-FoFShYbUB`D7O4HB`Im2{yzXmyrg$k>cY6A@>bf7i3n0 z5y&cf2#`zctT>dz+hNF&+d3g;2)U!#vsb-%LC+pqKRTiiSn#FH#e!bVwR1nAf*TG^ z!RKcCy$P>?Sfq6n<%M{T0I8?p@HlgwC!HoWO>~mT+X<{Ylm+$Vtj9};H3$EB}P2wR$3y!TO#$iY8eO-!}+F&jMu4%E6S>m zB(N4w9O@2=<`WNJay5PwP8javDp~o~xkSbd4t4t8)9jqu@bHmJHq=MV~Pt|(TghCA}fhMS?s-{klV>~=VrT$nsp7mf{?cze~KKOD4 z_1Y!F)*7^W+BBTt1R2h4f1X4Oy2%?=IMhZU8c{qk3xI1=!na*Sg<=A$?K=Y=GUR9@ zQ(ylIm4Lgm>pt#%p`zHxok%vx_=8Fap1|?OM02|N%X-g5_#S~sT@A!x&8k#wVI2lo z1Uyj{tDQRpb*>c}mjU^gYA9{7mNhFAlM=wZkXcA#MHXWMEs^3>p9X)Oa?dx7b%N*y zLz@K^%1JaArjgri;8ptNHwz1<0y8tcURSbHsm=26^@CYJ3hwMaEvC7 z3Wi-@AaXIQ)%F6#i@%M>?Mw7$6(kW@?et@wbk-APcvMCC{>iew#vkZej8%9h0JSc? zCb~K|!9cBU+))^q*co(E^9jRl7gR4Jihyqa(Z(P&ID#TPyysVNL7(^;?Gan!OU>au zN}miBc&XX-M$mSv%3xs)bh>Jq9#aD_l|zO?I+p4_5qI0Ms*OZyyxA`sXcyiy>-{YN zA70%HmibZYcHW&YOHk6S&PQ+$rJ3(utuUra3V0~@=_~QZy&nc~)AS>v&<6$gErZC3 zcbC=eVkV4Vu0#}E*r=&{X)Kgq|8MGCh(wsH4geLj@#8EGYa})K2;n z{1~=ghoz=9TSCxgzr5x3@sQZZ0FZ+t{?klSI_IZa16pSx6*;=O%n!uXVZ@1IL;JEV zfOS&yyfE9dtS*^jmgt6>jQDOIJM5Gx#Y2eAcC3l^lmoJ{o0T>IHpECTbfYgPI4#LZq0PKqnPCD}_ zyKxz;(`fE0z~nA1s?d{X2!#ZP8wUHzFSOoTWQrk%;wCnBV_3D%3@EC|u$Ao)tO|AO z$4&aa!wbf}rbNcP{6=ajgg(`p5kTeu$ji20`zw)X1SH*x zN?T36{d9TY*S896Ijc^!35LLUByY4QO=ARCQ#MMCjudFc7s!z%P$6DESz%zZ#>H|i zw3Mc@v4~{Eke;FWs`5i@ifeYPh-Sb#vCa#qJPL|&quSKF%sp8*n#t?vIE7kFWjNFh zJC@u^bRQ^?ra|%39Ux^Dn4I}QICyDKF0mpe+Bk}!lFlqS^WpYm&xwIYxUoS-rJ)N9 z1Tz*6Rl9;x`4lwS1cgW^H_M*)Dt*DX*W?ArBf?-t|1~ge&S}xM0K;U9Ibf{okZHf~ z#4v4qc6s6Zgm8iKch5VMbQc~_V-ZviirnKCi*ouN^c_2lo&-M;YSA>W>>^5tlXObg zacX$k0=9Tf$Eg+#9k6yV(R5-&F{=DHP8!yvSQ`Y~XRnUx@{O$-bGCksk~3&qH^dqX zkf+ZZ?Nv5u>LBM@2?k%k&_aUb5Xjqf#!&7%zN#VZwmv65ezo^Y4S#(ed0yUn4tFOB zh1f1SJ6_s?a{)u6VdwUC!Hv=8`%T9(^c`2hc9nt$(q{Dm2X)dK49ba+KEheQ;7^0) ziFKw$%EHy_B1)M>=yK^=Z$U-LT36yX>EKT zvD8IAom2&2?bTmX@_PBR4W|p?6?LQ+&UMzXxqHC5VHzf@Eb1u)kwyfy+NOM8Wa2y@ zNNDL0PE$F;yFyf^jy&RGwDXQwYw6yz>OMWvJt98X@;yr!*RQDBE- zE*l*u=($Zi1}0-Y4lGaK?J$yQjgb+*ljUvNQ!;QYAoCq@>70=sJ{o{^21^?zT@r~hhf&O;Qiq+ ziGQQLG*D@5;LZ%09mwMiE4Q{IPUx-emo*;a6#DrmWr(zY27d@ezre)Z1BGZdo&pXn z+);gOFelKDmnjq#8dL7CTiVH)dHOqWi~uE|NM^QI3EqxE6+_n>IW67~UB#J==QOGF zp_S)c8TJ}uiaEiaER}MyB(grNn=2m&0yztA=!%3xUREyuG_jmadN*D&1nxvjZ6^+2 zORi7iX1iPi$tKasppaR9$a3IUmrrX)m*)fg1>H+$KpqeB*G>AQV((-G{}h=qItj|d zz~{5@{?&Dab6;0c7!!%Se>w($RmlG7Jlv_zV3Ru8b2rugY0MVPOOYGlokI7%nhIy& z-B&wE=lh2dtD!F?noD{z^O1~Tq4MhxvchzuT_oF3-t4YyA*MJ*n&+1X3~6quEN z@m~aEp=b2~mP+}TUP^FmkRS_PDMA{B zaSy(P=$T~R!yc^Ye0*pl5xcpm_JWI;@-di+nruhqZ4gy7cq-)I&s&Bt3BkgT(Zdjf zTvvv0)8xzntEtp4iXm}~cT+pi5k{w{(Z@l2XU9lHr4Vy~3ycA_T?V(QS{qwt?v|}k z_ST!s;C4!jyV5)^6xC#v!o*uS%a-jQ6< z)>o?z7=+zNNtIz1*F_HJ(w@=`E+T|9TqhC(g7kKDc8z~?RbKQ)LRMn7A1p*PcX2YR zUAr{);~c7I#3Ssv<0i-Woj0&Z4a!u|@Xt2J1>N-|ED<3$o2V?OwL4oQ%$@!zLamVz zB)K&Ik^~GOmDAa143{I4?XUk1<3-k{<%?&OID&>Ud%z*Rkt*)mko0RwC2=qFf-^OV z=d@47?tY=A;=2VAh0mF(3x;!#X!%{|vn;U2XW{(nu5b&8kOr)Kop3-5_xnK5oO_3y z!EaIb{r%D{7zwtGgFVri4_!yUIGwR(xEV3YWSI_+E}Gdl>TINWsIrfj+7DE?xp+5^ zlr3pM-Cbse*WGKOd3+*Qen^*uHk)+EpH-{u@i%y}Z!YSid<}~kA*IRSk|nf+I1N=2 zIKi+&ej%Al-M5`cP^XU>9A(m7G>58>o|}j0ZWbMg&x`*$B9j#Rnyo0#=BMLdo%=ks zLa3(2EinQLXQ(3zDe7Bce%Oszu%?8PO648TNst4SMFvj=+{b%)ELyB!0`B?9R6aO{i-63|s@|raSQGL~s)9R#J#duFaTSZ2M{X z1?YuM*a!!|jP^QJ(hAisJuPOM`8Y-Hzl~%d@latwj}t&0{DNNC+zJARnuQfiN`HQ# z?boY_2?*q;Qk)LUB)s8(Lz5elaW56p&fDH*AWAq7Zrbeq1!?FBGYHCnFgRu5y1jwD zc|yBz+UW|X`zDsc{W~8m$sh@VVnZD$lLnKlq@Hg^;ky!}ZuPdKNi2BI70;hrpvaA4+Q_+K)I@|)q1N-H zrycZU`*YUW``Qi^`bDX-j7j^&bO+-Xg$cz2#i##($uyW{Nl&{DK{=lLWV3|=<&si||2)l=8^8_z+Vho-#5LB0EqQ3v5U#*DF7 zxT)1j^`m+lW}p$>WSIG1eZ>L|YR-@Feu!YNWiw*IZYh03mq+2QVtQ}1ezRJM?0PA< z;mK(J5@N8>u@<6Y$QAHWNE};rR|)U_&bv8dsnsza7{=zD1VBcxrALqnOf-qW(zzTn zTAp|pEo#FsQ$~*$j|~Q;$Zy&Liu9OM;VF@#_&*nL!N2hH!Q6l*OeTxq!l>dEc{;Hw zCQni{iN%jHU*C;?M-VUaXxf0FEJ_G=C8)C-wD!DvhY+qQ#FT3}Th8;GgV&AV94F`D ztT6=w_Xm8)*)dBnDkZd~UWL|W=Glu!$hc|1w7_7l!3MAt95oIp4Xp{M%clu&TXehO z+L-1#{mjkpTF@?|w1P98OCky~S%@OR&o75P&ZHvC}Y=(2_{ib(-Al_7aZ^U?s34#H}= zGfFi5%KnFVCKtdO^>Htpb07#BeCXMDO8U}crpe1Gm`>Q=6qB4i=nLoLZ%p$TY=OcP z)r}Et-Ed??u~f09d3Nx3bS@ja!fV(Dfa5lXxRs#;8?Y8G+Qvz+iv7fiRkL3liip}) z&G0u8RdEC9c$$rdU53=MH`p!Jn|DHjhOxHK$tW_pw9wCTf0Eo<){HoN=zG!!Gq4z4 z7PwGh)VNPXW-cE#MtofE`-$9~nmmj}m zlzZscQ2+Jq%gaB9rMgVJkbhup0Ggpb)&L01T=%>n7-?v@I8!Q(p&+!fd+Y^Pu9l+u zek(_$^HYFVRRIFt@0Fp52g5Q#I`tC3li`;UtDLP*rA{-#Yoa5qp{cD)QYhldihWe+ zG~zuaqLY~$-1sjh2lkbXCX;lq+p~!2Z=76cvuQe*Fl>IFwpUBP+d^&E4BGc{m#l%Kuo6#{XGoRyFc%Hqhf|%nYd<;yiC>tyEyk z4I+a`(%%Ie=-*n z-{mg=j&t12)LH3R?@-B1tEb7FLMePI1HK0`Ae@#)KcS%!Qt9p4_fmBl5zhO10n401 zBSfnfJ;?_r{%R)hh}BBNSl=$BiAKbuWrNGQUZ)+0=Mt&5!X*D@yGCSaMNY&@`;^a4 z;v=%D_!K!WXV1!3%4P-M*s%V2b#2jF2bk!)#2GLVuGKd#vNpRMyg`kstw0GQ8@^k^ zuqK5uR<>FeRZ#3{%!|4X!hh7hgirQ@Mwg%%ez8pF!N$xhMNQN((yS(F2-OfduxxKE zxY#7O(VGfNuLv-ImAw5+h@gwn%!ER;*Q+001;W7W^waWT%@(T+5k!c3A-j)a8y11t zx4~rSN0s$M8HEOzkcWW4YbKK9GQez2XJ|Nq?TFy;jmGbg;`m&%U4hIiarKmdTHt#l zL=H;ZHE?fYxKQQXKnC+K!TAU}r086{4m}r()-QaFmU(qWhJlc$eas&y?=H9EYQy8N$8^bni9TpDp zkA^WRs?KgYgjxX4T6?`SMs$`s3vlut(YU~f2F+id(Rf_)$BIMibk9lACI~LA+i7xn z%-+=DHV*0TCTJp~-|$VZ@g2vmd*|2QXV;HeTzt530KyK>v&253N1l}bP_J#UjLy4) zBJili9#-ey8Kj(dxmW^ctorxd;te|xo)%46l%5qE-YhAjP`Cc03vT)vV&GAV%#Cgb zX~2}uWNvh`2<*AuxuJpq>SyNtZwzuU)r@@dqC@v=Ocd(HnnzytN+M&|Qi#f4Q8D=h ziE<3ziFW%+!yy(q{il8H44g^5{_+pH60Mx5Z*FgC_3hKxmeJ+wVuX?T#ZfOOD3E4C zRJsj#wA@3uvwZwHKKGN{{Ag+8^cs?S4N@6(Wkd$CkoCst(Z&hp+l=ffZ?2m%%ffI3 zdV7coR`R+*dPbNx=*ivWeNJK=Iy_vKd`-_Hng{l?hmp=|T3U&epbmgXXWs9ySE|=G zeQ|^ioL}tveN{s72_&h+F+W;G}?;?_s@h5>DX(rp#eaZ!E=NivgLI zWykLKev+}sHH41NCRm7W>K+_qdoJ8x9o5Cf!)|qLtF7Izxk*p|fX8UqEY)_sI_45O zL2u>x=r5xLE%s|d%MO>zU%KV6QKFiEeo12g#bhei4!Hm+`~Fo~4h|BJ)%ENxy9)Up zOxupSf1QZWun=)gF{L0YWJ<(r0?$bPFANrmphJ>kG`&7E+RgrWQi}ZS#-CQJ*i#8j zM_A0?w@4Mq@xvk^>QSvEU|VYQoVI=TaOrsLTa`RZfe8{9F~mM{L+C`9YP9?OknLw| zmkvz>cS6`pF0FYeLdY%>u&XpPj5$*iYkj=m7wMzHqzZ5SG~$i_^f@QEPEC+<2nf-{ zE7W+n%)q$!5@2pBuXMxhUSi*%F>e_g!$T-_`ovjBh(3jK9Q^~OR{)}!0}vdTE^M+m z9QWsA?xG>EW;U~5gEuKR)Ubfi&YWnXV;3H6Zt^NE725*`;lpSK4HS1sN?{~9a4JkD z%}23oAovytUKfRN87XTH2c=kq1)O5(fH_M3M-o{{@&~KD`~TRot-gqg7Q2U2o-iiF}K>m?CokhmODaLB z1p6(6JYGntNOg(s!(>ZU&lzDf+Ur)^Lirm%*}Z>T)9)fAZ9>k(kvnM;ab$ptA=hoh zVgsVaveXbMpm{|4*d<0>?l_JUFOO8A3xNLQOh%nVXjYI6X8h?a@6kDe5-m&;M0xqx z+1U$s>(P9P)f0!{z%M@E7|9nn#IWgEx6A6JNJ(7dk`%6$3@!C!l;JK-p2?gg+W|d- ziEzgk$w7k48NMqg$CM*4O~Abj3+_yUKTyK1p6GDsGEs;}=E_q>^LI-~pym$qhXPJf z2`!PJDp4l(TTm#|n@bN!j;-FFOM__eLl!6{*}z=)UAcGYloj?bv!-XY1TA6Xz;82J zLRaF{8ayzGa|}c--}|^xh)xgX>6R(sZD|Z|qX50gu=d`gEwHqC@WYU7{%<5VOnf9+ zB@FX?|UL%`8EIAe!*UdYl|6wRz6Y>(#8x92$#y}wMeE|ZM2X*c}dKJ^4NIf;Fm zNwzq%QcO?$NR-7`su!*$dlIKo2y(N;qgH@1|8QNo$0wbyyJ2^}$iZ>M{BhBjTdMjK z>gPEzgX4;g3$rU?jvDeOq`X=>)zdt|jk1Lv3u~bjHI=EGLfIR&+K3ldcc4D&Um&04 z3^F*}WaxR(ZyaB>DlmF_UP@+Q*h$&nsOB#gwLt{1#F4i-{A5J@`>B9@{^i?g_Ce&O z<<}_We-RUFU&&MHa1#t56u_oM(Ljn7djja!T|gcxSoR=)@?owC*NkDarpBj=W4}=i1@)@L|C) zQKA+o<(pMVp*Su(`zBC0l1yTa$MRfQ#uby|$mlOMs=G`4J|?apMzKei%jZql#gP@IkOaOjB7MJM=@1j(&!jNnyVkn5;4lvro1!vq ztXiV8HYj5%)r1PPpIOj)f!>pc^3#LvfZ(hz}C@-3R(Cx7R427*Fwd!XO z4~j&IkPHcBm0h_|iG;ZNrYdJ4HI!$rSyo&sibmwIgm1|J#g6%>=ML1r!kcEhm(XY& zD@mIJt;!O%WP7CE&wwE3?1-dt;RTHdm~LvP7K`ccWXkZ0kfFa2S;wGtx_a}S2lslw z$<4^Jg-n#Ypc(3t2N67Juasu=h)j&UNTPNDil4MQMTlnI81kY46uMH5B^U{~nmc6+ z9>(lGhhvRK9ITfpAD!XQ&BPphL3p8B4PVBN0NF6U49;ZA0Tr75AgGw7(S=Yio+xg_ zepZ*?V#KD;sHH+15ix&yCs0eSB-Z%D%uujlXvT#V$Rz@$+w!u#3GIo*AwMI#Bm^oO zLr1e}k5W~G0xaO!C%Mb{sarxWZ4%Dn9vG`KHmPC9GWZwOOm11XJp#o0-P-${3m4g( z6~)X9FXw%Xm~&99tj>a-ri})ZcnsfJtc10F@t9xF5vq6E)X!iUXHq-ohlO`gQdS&k zZl})3k||u)!_=nNlvMbz%AuIr89l#I$;rG}qvDGiK?xTd5HzMQkw*p$YvFLGyQM!J zNC^gD!kP{A84nGosi~@MLKqWQNacfs7O$dkZtm4-BZ~iA8xWZPkTK!HpA5zr!9Z&+icfAJ1)NWkTd!-9`NWU>9uXXUr;`Js#NbKFgrNhTcY4GNv*71}}T zFJh?>=EcbUd2<|fiL+H=wMw8hbX6?+_cl4XnCB#ddwdG>bki* zt*&6Dy&EIPluL@A3_;R%)shA-tDQA1!Tw4ffBRyy;2n)vm_JV06(4Or&QAOKNZB5f(MVC}&_!B>098R{Simr!UG}?CW1Ah+X+0#~0`X)od zLYablwmFxN21L))!_zc`IfzWi`5>MxPe(DmjjO1}HHt7TJtAW+VXHt!aKZk>y6PoMsbDXRJnov;D~Ur~2R_7(Xr)aa%wJwZhS3gr7IGgt%@;`jpL@gyc6bGCVx!9CE7NgIbUNZ!Ur1RHror0~ zr(j$^yM4j`#c2KxSP61;(Tk^pe7b~}LWj~SZC=MEpdKf;B@on9=?_n|R|0q;Y*1_@ z>nGq>)&q!;u-8H)WCwtL&7F4vbnnfSAlK1mwnRq2&gZrEr!b1MA z(3%vAbh3aU-IX`d7b@q`-WiT6eitu}ZH9x#d&qx}?CtDuAXak%5<-P!{a`V=$|XmJ zUn@4lX6#ulB@a=&-9HG)a>KkH=jE7>&S&N~0X0zD=Q=t|7w;kuh#cU=NN7gBGbQTT z;?bdSt8V&IIi}sDTzA0dkU}Z-Qvg;RDe8v>468p3*&hbGT1I3hi9hh~Z(!H}{+>eUyF)H&gdrX=k$aB%J6I;6+^^kn1mL+E+?A!A}@xV(Qa@M%HD5C@+-4Mb4lI=Xp=@9+^x+jhtOc zYgF2aVa(uSR*n(O)e6tf3JEg2xs#dJfhEmi1iOmDYWk|wXNHU?g23^IGKB&yHnsm7 zm_+;p?YpA#N*7vXCkeN2LTNG`{QDa#U3fcFz7SB)83=<8rF)|udrEbrZL$o6W?oDR zQx!178Ih9B#D9Ko$H(jD{4MME&<|6%MPu|TfOc#E0B}!j^MMpV69D#h2`vsEQ{(?c zJ3Lh!3&=yS5fWL~;1wCZ?)%nmK`Eqgcu)O6rD^3%ijcxL50^z?OI(LaVDvfL0#zjZ z2?cPvC$QCzpxpt5jMFp05OxhK0F!Q`rPhDi5)y=-0C} zIM~ku&S@pl1&0=jl+rlS<4`riV~LC-#pqNde@44MB(j%)On$0Ko(@q?4`1?4149Z_ zZi!5aU@2vM$dHR6WSZpj+VboK+>u-CbNi7*lw4K^ZxxM#24_Yc`jvb9NPVi75L+MlM^U~`;a7`4H0L|TYK>%hfEfXLsu1JGM zbh|8{wuc7ucV+`Ys1kqxsj`dajwyM;^X^`)#<+a~$WFy8b2t_RS{8yNYKKlnv+>vB zX(QTf$kqrJ;%I@EwEs{cIcH@Z3|#^S@M+5jsP<^`@8^I4_8MlBb`~cE^n+{{;qW2q z=p1=&+fUo%T{GhVX@;56kH8K_%?X=;$OTYqW1L*)hzelm^$*?_K;9JyIWhsn4SK(| zSmXLTUE8VQX{se#8#Rj*lz`xHtT<61V~fb;WZUpu(M)f#;I+2_zR+)y5Jv?l`CxAinx|EY!`IJ*x9_gf_k&Gx2alL!hK zUWj1T_pk|?iv}4EP#PZvYD_-LpzU!NfcLL%fK&r$W8O1KH9c2&GV~N#T$kaXGvAOl)|T zuF9%6(i=Y3q?X%VK-D2YIYFPH3f|g$TrXW->&^Ab`WT z7>Oo!u1u40?jAJ8Hy`bv}qbgs8)cF0&qeVjD?e+3Ggn1Im>K77ZSpbU*08 zfZkIFcv?y)!*B{|>nx@cE{KoutP+seQU?bCGE`tS0GKUO3PN~t=2u7q_6$l;uw^4c zVu^f{uaqsZ{*a-N?2B8ngrLS8E&s6}Xtv9rR9C^b`@q8*iH)pFzf1|kCfiLw6u{Z%aC z!X^5CzF6qofFJgklJV3oc|Qc2XdFl+y5M9*P8}A>Kh{ zWRgRwMSZ(?Jw;m%0etU5BsWT-Dj-5F;Q$OQJrQd+lv`i6>MhVo^p*^w6{~=fhe|bN z*37oV0kji)4an^%3ABbg5RC;CS50@PV5_hKfXjYx+(DqQdKC^JIEMo6X66$qDdLRc z!YJPSKnbY`#Ht6`g@xGzJmKzzn|abYbP+_Q(v?~~ z96%cd{E0BCsH^0HaWt{y(Cuto4VE7jhB1Z??#UaU(*R&Eo+J`UN+8mcb51F|I|n*J zJCZ3R*OdyeS9hWkc_mA7-br>3Tw=CX2bl(=TpVt#WP8Bg^vE_9bP&6ccAf3lFMgr` z{3=h@?Ftb$RTe&@IQtiJfV;O&4fzh)e1>7seG; z=%mA4@c7{aXeJnhEg2J@Bm;=)j=O=cl#^NNkQ<{r;Bm|8Hg}bJ-S^g4`|itx)~!LN zXtL}?f1Hs6UQ+f0-X6&TBCW=A4>bU0{rv8C4T!(wD-h>VCK4YJk`6C9$by!fxOYw- zV#n+0{E(0ttq_#16B} ze8$E#X9o{B!0vbq#WUwmv5Xz6{(!^~+}sBW{xctdNHL4^vDk!0E}(g|W_q;jR|ZK< z8w>H-8G{%R#%f!E7cO_^B?yFRKLOH)RT9GJsb+kAKq~}WIF)NRLwKZ^Q;>!2MNa|} z-mh?=B;*&D{Nd-mQRcfVnHkChI=DRHU4ga%xJ%+QkBd|-d9uRI76@BT(bjsjwS+r) zvx=lGNLv1?SzZ;P)Gnn>04fO7Culg*?LmbEF0fATG8S@)oJ>NT3pYAXa*vX!eUTDF ziBrp(QyDqr0ZMTr?4uG_Nqs6f%S0g?h`1vO5fo=5S&u#wI2d4+3hWiolEU!=3_oFo zfie?+4W#`;1dd#X@g9Yj<53S<6OB!TM8w8})7k-$&q5(smc%;r z(BlXkTp`C47+%4JA{2X}MIaPbVF!35P#p;u7+fR*46{T+LR8+j25oduCfDzDv6R-hU{TVVo9fz?^N3ShMt!t0NsH)pB zRK8-S{Dn*y3b|k^*?_B70<2gHt==l7c&cT>r`C#{S}J2;s#d{M)ncW(#Y$C*lByLQ z&?+{dR7*gpdT~(1;M(FfF==3z`^eW)=5a9RqvF-)2?S-(G zhS;p(u~_qBum*q}On@$#08}ynd0+spzyVco0%G6;<-i5&016cV5UKzhQ~)fX03|>L z8ej+HzzgVr6_5ZUpa4HW0Ca!=r1%*}Oo;2no&Zz8DfR)L!@r<5 z2viSZpmvo5XqXyAz{Ms7`7kX>fnr1gi4X~7KpznRT0{Xc5Cfz@43PjBMBoH@z_{~( z(Wd}IPJ9hH+%)Fc)0!hrV+(A;76rhtI|YHbEDeERV~Ya>SQg^IvlazFkSK(KG9&{q zkPIR~EeQaaBmwA<20}mBO?)N$(z1@p)5?%}rM| zGF()~Z&Kx@OIDRI$d0T8;JX@vj3^2%pd_+@l9~a4lntZ;AvUIjqIZbuNTR6@hNJoV zk4F;ut)LN4ARuyn2M6F~eg-e#UH%2P;8uPGFW^vq1vj8mdIayFOZo(tphk8C7hpT~ z1Fv8?b_LNR3QD9J+!v=p%}# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/opensrp-web/bin/src/main/webapp/resources/fonts/glyphicons-halflings-regular.ttf b/opensrp-web/bin/src/main/webapp/resources/fonts/glyphicons-halflings-regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..1413fc609ab6f21774de0cb7e01360095584f65b GIT binary patch literal 45404 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 G`u_lkUM?>H literal 0 HcmV?d00001 diff --git a/opensrp-web/bin/src/main/webapp/resources/fonts/glyphicons-halflings-regular.woff2 b/opensrp-web/bin/src/main/webapp/resources/fonts/glyphicons-halflings-regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..64539b54c3751a6d9adb44c8e3a45ba5a73b77f0 GIT binary patch literal 18028 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 literal 0 HcmV?d00001 diff --git a/opensrp-web/bin/src/main/webapp/resources/images/Sorting icons.psd b/opensrp-web/bin/src/main/webapp/resources/images/Sorting icons.psd new file mode 100644 index 0000000000000000000000000000000000000000..53b2e06850767cb57c52b316f0b845b1a8e0ca0e GIT binary patch literal 27490 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 Y16@Zf7?Q8!JB-NJ(KYBs*Ff|C0Zg4MIsgCw literal 0 HcmV?d00001 diff --git a/opensrp-web/bin/src/main/webapp/resources/images/favicon.ico b/opensrp-web/bin/src/main/webapp/resources/images/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..6eeaa2a0d393190ce748107222d9a026f992e4a7 GIT binary patch literal 894 zcmZQzU<5(|0R|u`!H~hsz#zuJz@P!dKp_SNAO?xUfG{@$0|>*weY}F;x;`B~@Mg`jC-vo5%k$%{OoKy1zkdA+(K2o3 zEDKGQQ~gcX+N!TtEj1|9e2tL(rheJva*5dKY#gZsIRxM zB;!h75Wi?9l5?>z>S-`t`=OAFp5C?(007k>qM(bnVuyja#;c*qL9N z(Q%=@`f7d2?T&^wySIHjy#MKh?rZrO7i!Bt-@f(!@WDrwB`uD&)%Eqcd3o(gVV7ri zp6ji@(BF7(+uE0x&)(R!?s#YIg_7JW1=-KHZv1@s(DSxD9<^am-%+f#!uU}z9=j>5*%b{WE2`20#tutPWS1# zz4s39d~xOMwaqJzOl{rMU%#oo=xj&xyY1WF&71o?Hs-LOkAD^4SRbV?yXz(e#efNwKXpT1J^s+yE;1`KXoe5&f?1A$tYso}un=1c3AzCL>B&D=RpqN3i1hL&lnclP!D`u*G0#bsJv!oAH) z-rc|T`^Wdkrw?7(xb)_p%`Y#WdAn`Pvz+W#0Rbo6-Ha3zp1gPgjDkZ)k6Gz!@9D0( zG^hL4?)Be4zWep#`{$>RUhUoaq@wgyfd9*oU{6tz+SXQhl3284sj;T&{L=I*bGxt4 z@4vfX%A<*$FN^a&MMa!}GOXuX|8Oj3tosHiJ3*4TN zC7>_x-r1O=t(?KoTC+`+>7&2GzdqLHBg&F)2Q?&EGZ+}|Rpsc~9`m>jw35No)z4*} HQ$iB}HK{Sd literal 0 HcmV?d00001 diff --git a/opensrp-web/bin/src/main/webapp/resources/images/sort_asc_disabled.png b/opensrp-web/bin/src/main/webapp/resources/images/sort_asc_disabled.png new file mode 100644 index 0000000000000000000000000000000000000000..fb11dfe24a6c564cb7ddf8bc96703ebb121df1e7 GIT binary patch literal 148 zcmeAS@N?(olHy`uVBq!ia0vp^!XV7S0wixl{&NRX(Vi}jAsXkC6BcOhI9!^3NY?Do zDX;f`c1`y6n0RgO@$!H7chZT&|Jn0dmaqO^XNm-CGtk!Ur<_=Jws3;%W$<+Mb6Mw<&;$T1GdZXL literal 0 HcmV?d00001 diff --git a/opensrp-web/bin/src/main/webapp/resources/images/sort_both.png b/opensrp-web/bin/src/main/webapp/resources/images/sort_both.png new file mode 100644 index 0000000000000000000000000000000000000000..af5bc7c5a10b9d6d57cb641aeec752428a07f0ca GIT binary patch literal 201 zcmeAS@N?(olHy`uVBq!ia0vp^!XV7S0wixl{&NRX6FglULp08Bycxyy87-Q;~nRxO8@-UU*I^KVWyN+&SiMHu5xDOu|HNvwzODfTdXjhVyNu1 z#7^XbGKZ7LW3XeONb$RKLeE*WhqbYpIXPIqK@r4)v+qN8um%99%MPpS9d#7Ed7SL@Bp00i_>zopr0H-Zb Aj{pDw literal 0 HcmV?d00001 diff --git a/opensrp-web/bin/src/main/webapp/resources/images/sort_desc.png b/opensrp-web/bin/src/main/webapp/resources/images/sort_desc.png new file mode 100644 index 0000000000000000000000000000000000000000..0e156deb5f61d18f9e2ec5da4f6a8c94a5b4fb41 GIT binary patch literal 158 zcmeAS@N?(olHy`uVBq!ia0vp^!XV7S1|*9D%+3I*R8JSj5R22v2@yo z(czD9$NuDl3Ljm9c#_#4$vXUz=f1~&WY3aa=h!;z7fOEN>ySP9QA=6C-^Dmb&tuM= z4Z&=WZU;2WF>e%GI&mWJk^K!jrbro{W;-I>FeCfLGJl3}+Z^2)3Kw?+EoAU?^>bP0 Hl+XkKC^j|Q{b@g3TV7E(Grjn^aLC2o)_ptHrtUEoT$S@q)~)7U@V;W{6)!%@ u>N?4t-1qslpJw9!O?PJ&w0Cbythis.$items.length-1||0>a?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){b.to(a)}):c==a?this.pause().cycle():this.slide(a>c?"next":"prev",this.$items.eq(a))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){return this.sliding?void 0:this.slide("next")},c.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},c.prototype.slide=function(b,d){var e=this.$element.find(".item.active"),f=d||this.getItemForDirection(b,e),g=this.interval,h="next"==b?"left":"right",i=this;if(f.hasClass("active"))return this.sliding=!1;var j=f[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:h});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,g&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(f)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:h});return a.support.transition&&this.$element.hasClass("slide")?(f.addClass(b),f[0].offsetWidth,e.addClass(h),f.addClass(h),e.one("bsTransitionEnd",function(){f.removeClass([b,h].join(" ")).addClass("active"),e.removeClass(["active",h].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(e.removeClass("active"),f.addClass("active"),this.sliding=!1,this.$element.trigger(m)),g&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this};var e=function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}};a(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){var c,d=b.attr("data-target")||(c=b.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"");return a(d)}function c(b){return this.each(function(){var c=a(this),e=c.data("bs.collapse"),f=a.extend({},d.DEFAULTS,c.data(),"object"==typeof b&&b);!e&&f.toggle&&/show|hide/.test(b)&&(f.toggle=!1),e||c.data("bs.collapse",e=new d(this,f)),"string"==typeof b&&e[b]()})}var d=function(b,c){this.$element=a(b),this.options=a.extend({},d.DEFAULTS,c),this.$trigger=a('[data-toggle="collapse"][href="#'+b.id+'"],[data-toggle="collapse"][data-target="#'+b.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};d.VERSION="3.3.5",d.TRANSITION_DURATION=350,d.DEFAULTS={toggle:!0},d.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},d.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b,e=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(e&&e.length&&(b=e.data("bs.collapse"),b&&b.transitioning))){var f=a.Event("show.bs.collapse");if(this.$element.trigger(f),!f.isDefaultPrevented()){e&&e.length&&(c.call(e,"hide"),b||e.data("bs.collapse",null));var g=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[g](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var h=function(){this.$element.removeClass("collapsing").addClass("collapse in")[g](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return h.call(this);var i=a.camelCase(["scroll",g].join("-"));this.$element.one("bsTransitionEnd",a.proxy(h,this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i])}}}},d.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var e=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(e,this)).emulateTransitionEnd(d.TRANSITION_DURATION):e.call(this)}}},d.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},d.prototype.getParent=function(){return a(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(c,d){var e=a(d);this.addAriaAndCollapsedClass(b(e),e)},this)).end()},d.prototype.addAriaAndCollapsedClass=function(a,b){var c=a.hasClass("in");a.attr("aria-expanded",c),b.toggleClass("collapsed",!c).attr("aria-expanded",c)};var e=a.fn.collapse;a.fn.collapse=c,a.fn.collapse.Constructor=d,a.fn.collapse.noConflict=function(){return a.fn.collapse=e,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(d){var e=a(this);e.attr("data-target")||d.preventDefault();var f=b(e),g=f.data("bs.collapse"),h=g?"toggle":e.data();c.call(f,h)})}(jQuery),+function(a){"use strict";function b(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function c(c){c&&3===c.which||(a(e).remove(),a(f).each(function(){var d=a(this),e=b(d),f={relatedTarget:this};e.hasClass("open")&&(c&&"click"==c.type&&/input|textarea/i.test(c.target.tagName)&&a.contains(e[0],c.target)||(e.trigger(c=a.Event("hide.bs.dropdown",f)),c.isDefaultPrevented()||(d.attr("aria-expanded","false"),e.removeClass("open").trigger("hidden.bs.dropdown",f))))}))}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.3.5",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=b(e),g=f.hasClass("open");if(c(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(a(this)).on("click",c);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus").attr("aria-expanded","true"),f.toggleClass("open").trigger("shown.bs.dropdown",h)}return!1}},g.prototype.keydown=function(c){if(/(38|40|27|32)/.test(c.which)&&!/input|textarea/i.test(c.target.tagName)){var d=a(this);if(c.preventDefault(),c.stopPropagation(),!d.is(".disabled, :disabled")){var e=b(d),g=e.hasClass("open");if(!g&&27!=c.which||g&&27==c.which)return 27==c.which&&e.find(f).trigger("focus"),d.trigger("click");var h=" li:not(.disabled):visible a",i=e.find(".dropdown-menu"+h);if(i.length){var j=i.index(c.target);38==c.which&&j>0&&j--,40==c.which&&jdocument.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&a?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!a?this.scrollbarWidth:""})},c.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},c.prototype.checkScrollbar=function(){var a=window.innerWidth;if(!a){var b=document.documentElement.getBoundingClientRect();a=b.right-Math.abs(b.left)}this.bodyIsOverflowing=document.body.clientWidth
',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){if(this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(a.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},c.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusin"==b.type?"focus":"hover"]=!0),c.tip().hasClass("in")||"in"==c.hoverState?void(c.hoverState="in"):(clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show())},c.prototype.isInStateTrue=function(){for(var a in this.inState)if(this.inState[a])return!0;return!1},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusout"==b.type?"focus":"hover"]=!1),c.isInStateTrue()?void 0:(clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide())},c.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var d=a.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!d)return;var e=this,f=this.tip(),g=this.getUID(this.type);this.setContent(),f.attr("id",g),this.$element.attr("aria-describedby",g),this.options.animation&&f.addClass("fade");var h="function"==typeof this.options.placement?this.options.placement.call(this,f[0],this.$element[0]):this.options.placement,i=/\s?auto?\s?/i,j=i.test(h);j&&(h=h.replace(i,"")||"top"),f.detach().css({top:0,left:0,display:"block"}).addClass(h).data("bs."+this.type,this),this.options.container?f.appendTo(this.options.container):f.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var k=this.getPosition(),l=f[0].offsetWidth,m=f[0].offsetHeight;if(j){var n=h,o=this.getPosition(this.$viewport);h="bottom"==h&&k.bottom+m>o.bottom?"top":"top"==h&&k.top-mo.width?"left":"left"==h&&k.left-lg.top+g.height&&(e.top=g.top+g.height-i)}else{var j=b.left-f,k=b.left+f+c;jg.right&&(e.left=g.left+g.width-k)}return e},c.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},c.prototype.getUID=function(a){do a+=~~(1e6*Math.random());while(document.getElementById(a));return a},c.prototype.tip=function(){if(!this.$tip&&(this.$tip=a(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},c.prototype.enable=function(){this.enabled=!0},c.prototype.disable=function(){this.enabled=!1},c.prototype.toggleEnabled=function(){this.enabled=!this.enabled},c.prototype.toggle=function(b){var c=this;b&&(c=a(b.currentTarget).data("bs."+this.type),c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c))),b?(c.inState.click=!c.inState.click,c.isInStateTrue()?c.enter(c):c.leave(c)):c.tip().hasClass("in")?c.leave(c):c.enter(c)},c.prototype.destroy=function(){var a=this;clearTimeout(this.timeout),this.hide(function(){a.$element.off("."+a.type).removeData("bs."+a.type),a.$tip&&a.$tip.detach(),a.$tip=null,a.$arrow=null,a.$viewport=null})};var d=a.fn.tooltip;a.fn.tooltip=b,a.fn.tooltip.Constructor=c,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=d,this}}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof b&&b;(e||!/destroy|hide/.test(b))&&(e||d.data("bs.popover",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");c.VERSION="3.3.5",c.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:''}),c.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),c.prototype.constructor=c,c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},c.prototype.hasContent=function(){return this.getTitle()||this.getContent()},c.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var d=a.fn.popover;a.fn.popover=b,a.fn.popover.Constructor=c,a.fn.popover.noConflict=function(){return a.fn.popover=d,this}}(jQuery),+function(a){"use strict";function b(c,d){this.$body=a(document.body),this.$scrollElement=a(a(c).is(document.body)?window:c),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",a.proxy(this.process,this)),this.refresh(),this.process()}function c(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})}b.VERSION="3.3.5",b.DEFAULTS={offset:10},b.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},b.prototype.refresh=function(){var b=this,c="offset",d=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),a.isWindow(this.$scrollElement[0])||(c="position",d=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var b=a(this),e=b.data("target")||b.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[c]().top+d,e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){b.offsets.push(this[0]),b.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.getScrollHeight(),d=this.options.offset+c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(this.scrollHeight!=c&&this.refresh(),b>=d)return g!=(a=f[f.length-1])&&this.activate(a);if(g&&b=e[a]&&(void 0===e[a+1]||b .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),b.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),h?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu").length&&b.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),e&&e()}var g=d.find("> .active"),h=e&&a.support.transition&&(g.length&&g.hasClass("fade")||!!d.find("> .fade").length);g.length&&h?g.one("bsTransitionEnd",f).emulateTransitionEnd(c.TRANSITION_DURATION):f(),g.removeClass("in")};var d=a.fn.tab;a.fn.tab=b,a.fn.tab.Constructor=c,a.fn.tab.noConflict=function(){return a.fn.tab=d,this};var e=function(c){c.preventDefault(),b.call(a(this),"show")};a(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',e).on("click.bs.tab.data-api",'[data-toggle="pill"]',e)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof b&&b;e||d.data("bs.affix",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.options=a.extend({},c.DEFAULTS,d),this.$target=a(this.options.target).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(b),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};c.VERSION="3.3.5",c.RESET="affix affix-top affix-bottom",c.DEFAULTS={offset:0,target:window},c.prototype.getState=function(a,b,c,d){var e=this.$target.scrollTop(),f=this.$element.offset(),g=this.$target.height();if(null!=c&&"top"==this.affixed)return c>e?"top":!1;if("bottom"==this.affixed)return null!=c?e+this.unpin<=f.top?!1:"bottom":a-d>=e+g?!1:"bottom";var h=null==this.affixed,i=h?e:f.top,j=h?g:b;return null!=c&&c>=e?"top":null!=d&&i+j>=a-d?"bottom":!1},c.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(c.RESET).addClass("affix");var a=this.$target.scrollTop(),b=this.$element.offset();return this.pinnedOffset=b.top-a},c.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},c.prototype.checkPosition=function(){if(this.$element.is(":visible")){var b=this.$element.height(),d=this.options.offset,e=d.top,f=d.bottom,g=Math.max(a(document).height(),a(document.body).height());"object"!=typeof d&&(f=e=d),"function"==typeof e&&(e=d.top(this.$element)),"function"==typeof f&&(f=d.bottom(this.$element));var h=this.getState(g,b,e,f);if(this.affixed!=h){null!=this.unpin&&this.$element.css("top","");var i="affix"+(h?"-"+h:""),j=a.Event(i+".bs.affix");if(this.$element.trigger(j),j.isDefaultPrevented())return;this.affixed=h,this.unpin="bottom"==h?this.getPinnedOffset():null,this.$element.removeClass(c.RESET).addClass(i).trigger(i.replace("affix","affixed")+".bs.affix")}"bottom"==h&&this.$element.offset({top:g-b-f})}};var d=a.fn.affix;a.fn.affix=b,a.fn.affix.Constructor=c,a.fn.affix.noConflict=function(){return a.fn.affix=d,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var c=a(this),d=c.data();d.offset=d.offset||{},null!=d.offsetBottom&&(d.offset.bottom=d.offsetBottom),null!=d.offsetTop&&(d.offset.top=d.offsetTop),b.call(c,d)})})}(jQuery); \ No newline at end of file diff --git a/opensrp-web/bin/src/main/webapp/resources/js/jquery.dataTables.js b/opensrp-web/bin/src/main/webapp/resources/js/jquery.dataTables.js new file mode 100644 index 0000000000..2a9bdb36e7 --- /dev/null +++ b/opensrp-web/bin/src/main/webapp/resources/js/jquery.dataTables.js @@ -0,0 +1,14951 @@ +/*! DataTables 1.10.7 + * ©2008-2014 SpryMedia Ltd - datatables.net/license + */ + +/** + * @summary DataTables + * @description Paginate, search and order HTML tables + * @version 1.10.7 + * @file jquery.dataTables.js + * @author SpryMedia Ltd (www.sprymedia.co.uk) + * @contact www.sprymedia.co.uk/contact + * @copyright Copyright 2008-2014 SpryMedia Ltd. + * + * This source file is free software, available under the following license: + * MIT license - http://datatables.net/license + * + * This source file is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the license files for details. + * + * For details please refer to: http://www.datatables.net + */ + +/*jslint evil: true, undef: true, browser: true */ +/*globals $,require,jQuery,define,_selector_run,_selector_opts,_selector_first,_selector_row_indexes,_ext,_Api,_api_register,_api_registerPlural,_re_new_lines,_re_html,_re_formatted_numeric,_re_escape_regex,_empty,_intVal,_numToDecimal,_isNumber,_isHtml,_htmlNumeric,_pluck,_pluck_order,_range,_stripHtml,_unique,_fnBuildAjax,_fnAjaxUpdate,_fnAjaxParameters,_fnAjaxUpdateDraw,_fnAjaxDataSrc,_fnAddColumn,_fnColumnOptions,_fnAdjustColumnSizing,_fnVisibleToColumnIndex,_fnColumnIndexToVisible,_fnVisbleColumns,_fnGetColumns,_fnColumnTypes,_fnApplyColumnDefs,_fnHungarianMap,_fnCamelToHungarian,_fnLanguageCompat,_fnBrowserDetect,_fnAddData,_fnAddTr,_fnNodeToDataIndex,_fnNodeToColumnIndex,_fnGetCellData,_fnSetCellData,_fnSplitObjNotation,_fnGetObjectDataFn,_fnSetObjectDataFn,_fnGetDataMaster,_fnClearTable,_fnDeleteIndex,_fnInvalidate,_fnGetRowElements,_fnCreateTr,_fnBuildHead,_fnDrawHead,_fnDraw,_fnReDraw,_fnAddOptionsHtml,_fnDetectHeader,_fnGetUniqueThs,_fnFeatureHtmlFilter,_fnFilterComplete,_fnFilterCustom,_fnFilterColumn,_fnFilter,_fnFilterCreateSearch,_fnEscapeRegex,_fnFilterData,_fnFeatureHtmlInfo,_fnUpdateInfo,_fnInfoMacros,_fnInitialise,_fnInitComplete,_fnLengthChange,_fnFeatureHtmlLength,_fnFeatureHtmlPaginate,_fnPageChange,_fnFeatureHtmlProcessing,_fnProcessingDisplay,_fnFeatureHtmlTable,_fnScrollDraw,_fnApplyToChildren,_fnCalculateColumnWidths,_fnThrottle,_fnConvertToWidth,_fnScrollingWidthAdjust,_fnGetWidestNode,_fnGetMaxLenString,_fnStringToCss,_fnScrollBarWidth,_fnSortFlatten,_fnSort,_fnSortAria,_fnSortListener,_fnSortAttachListener,_fnSortingClasses,_fnSortData,_fnSaveState,_fnLoadState,_fnSettingsFromNode,_fnLog,_fnMap,_fnBindAction,_fnCallbackReg,_fnCallbackFire,_fnLengthOverflow,_fnRenderer,_fnDataSource,_fnRowAttributes*/ + +(/** @lends */function( window, document, undefined ) { + +(function( factory ) { + "use strict"; + + if ( typeof define === 'function' && define.amd ) { + // Define as an AMD module if possible + define( 'datatables', ['jquery'], factory ); + } + else if ( typeof exports === 'object' ) { + // Node/CommonJS + module.exports = factory( require( 'jquery' ) ); + } + else if ( jQuery && !jQuery.fn.dataTable ) { + // Define using browser globals otherwise + // Prevent multiple instantiations if the script is loaded twice + factory( jQuery ); + } +} +(/** @lends */function( $ ) { + "use strict"; + + /** + * DataTables is a plug-in for the jQuery Javascript library. It is a highly + * flexible tool, based upon the foundations of progressive enhancement, + * which will add advanced interaction controls to any HTML table. For a + * full list of features please refer to + * [DataTables.net](href="http://datatables.net). + * + * Note that the `DataTable` object is not a global variable but is aliased + * to `jQuery.fn.DataTable` and `jQuery.fn.dataTable` through which it may + * be accessed. + * + * @class + * @param {object} [init={}] Configuration object for DataTables. Options + * are defined by {@link DataTable.defaults} + * @requires jQuery 1.7+ + * + * @example + * // Basic initialisation + * $(document).ready( function { + * $('#example').dataTable(); + * } ); + * + * @example + * // Initialisation with configuration options - in this case, disable + * // pagination and sorting. + * $(document).ready( function { + * $('#example').dataTable( { + * "paginate": false, + * "sort": false + * } ); + * } ); + */ + var DataTable; + + + /* + * It is useful to have variables which are scoped locally so only the + * DataTables functions can access them and they don't leak into global space. + * At the same time these functions are often useful over multiple files in the + * core and API, so we list, or at least document, all variables which are used + * by DataTables as private variables here. This also ensures that there is no + * clashing of variable names and that they can easily referenced for reuse. + */ + + + // Defined else where + // _selector_run + // _selector_opts + // _selector_first + // _selector_row_indexes + + var _ext; // DataTable.ext + var _Api; // DataTable.Api + var _api_register; // DataTable.Api.register + var _api_registerPlural; // DataTable.Api.registerPlural + + var _re_dic = {}; + var _re_new_lines = /[\r\n]/g; + var _re_html = /<.*?>/g; + var _re_date_start = /^[\w\+\-]/; + var _re_date_end = /[\w\+\-]$/; + + // Escape regular expression special characters + var _re_escape_regex = new RegExp( '(\\' + [ '/', '.', '*', '+', '?', '|', '(', ')', '[', ']', '{', '}', '\\', '$', '^', '-' ].join('|\\') + ')', 'g' ); + + // http://en.wikipedia.org/wiki/Foreign_exchange_market + // - \u20BD - Russian ruble. + // - \u20a9 - South Korean Won + // - \u20BA - Turkish Lira + // - \u20B9 - Indian Rupee + // - R - Brazil (R$) and South Africa + // - fr - Swiss Franc + // - kr - Swedish krona, Norwegian krone and Danish krone + // - \u2009 is thin space and \u202F is narrow no-break space, both used in many + // standards as thousands separators. + var _re_formatted_numeric = /[',$£€¥%\u2009\u202F\u20BD\u20a9\u20BArfk]/gi; + + + var _empty = function ( d ) { + return !d || d === true || d === '-' ? true : false; + }; + + + var _intVal = function ( s ) { + var integer = parseInt( s, 10 ); + return !isNaN(integer) && isFinite(s) ? integer : null; + }; + + // Convert from a formatted number with characters other than `.` as the + // decimal place, to a Javascript number + var _numToDecimal = function ( num, decimalPoint ) { + // Cache created regular expressions for speed as this function is called often + if ( ! _re_dic[ decimalPoint ] ) { + _re_dic[ decimalPoint ] = new RegExp( _fnEscapeRegex( decimalPoint ), 'g' ); + } + return typeof num === 'string' && decimalPoint !== '.' ? + num.replace( /\./g, '' ).replace( _re_dic[ decimalPoint ], '.' ) : + num; + }; + + + var _isNumber = function ( d, decimalPoint, formatted ) { + var strType = typeof d === 'string'; + + // If empty return immediately so there must be a number if it is a + // formatted string (this stops the string "k", or "kr", etc being detected + // as a formatted number for currency + if ( _empty( d ) ) { + return true; + } + + if ( decimalPoint && strType ) { + d = _numToDecimal( d, decimalPoint ); + } + + if ( formatted && strType ) { + d = d.replace( _re_formatted_numeric, '' ); + } + + return !isNaN( parseFloat(d) ) && isFinite( d ); + }; + + + // A string without HTML in it can be considered to be HTML still + var _isHtml = function ( d ) { + return _empty( d ) || typeof d === 'string'; + }; + + + var _htmlNumeric = function ( d, decimalPoint, formatted ) { + if ( _empty( d ) ) { + return true; + } + + var html = _isHtml( d ); + return ! html ? + null : + _isNumber( _stripHtml( d ), decimalPoint, formatted ) ? + true : + null; + }; + + + var _pluck = function ( a, prop, prop2 ) { + var out = []; + var i=0, ien=a.length; + + // Could have the test in the loop for slightly smaller code, but speed + // is essential here + if ( prop2 !== undefined ) { + for ( ; i') + .css( { + position: 'absolute', + top: 0, + left: 0, + height: 1, + width: 1, + overflow: 'hidden' + } ) + .append( + $('
') + .css( { + position: 'absolute', + top: 1, + left: 1, + width: 100, + overflow: 'scroll' + } ) + .append( + $('
') + .css( { + width: '100%', + height: 10 + } ) + ) + ) + .appendTo( 'body' ); + + var test = n.find('.test'); + + // IE6/7 will oversize a width 100% element inside a scrolling element, to + // include the width of the scrollbar, while other browsers ensure the inner + // element is contained without forcing scrolling + browser.bScrollOversize = test[0].offsetWidth === 100; + + // In rtl text layout, some browsers (most, but not all) will place the + // scrollbar on the left, rather than the right. + browser.bScrollbarLeft = Math.round( test.offset().left ) !== 1; + + n.remove(); + } + + + /** + * Array.prototype reduce[Right] method, used for browsers which don't support + * JS 1.6. Done this way to reduce code size, since we iterate either way + * @param {object} settings dataTables settings object + * @memberof DataTable#oApi + */ + function _fnReduce ( that, fn, init, start, end, inc ) + { + var + i = start, + value, + isSet = false; + + if ( init !== undefined ) { + value = init; + isSet = true; + } + + while ( i !== end ) { + if ( ! that.hasOwnProperty(i) ) { + continue; + } + + value = isSet ? + fn( value, that[i], i, that ) : + that[i]; + + isSet = true; + i += inc; + } + + return value; + } + + /** + * Add a column to the list used for the table with default values + * @param {object} oSettings dataTables settings object + * @param {node} nTh The th element for this column + * @memberof DataTable#oApi + */ + function _fnAddColumn( oSettings, nTh ) + { + // Add column to aoColumns array + var oDefaults = DataTable.defaults.column; + var iCol = oSettings.aoColumns.length; + var oCol = $.extend( {}, DataTable.models.oColumn, oDefaults, { + "nTh": nTh ? nTh : document.createElement('th'), + "sTitle": oDefaults.sTitle ? oDefaults.sTitle : nTh ? nTh.innerHTML : '', + "aDataSort": oDefaults.aDataSort ? oDefaults.aDataSort : [iCol], + "mData": oDefaults.mData ? oDefaults.mData : iCol, + idx: iCol + } ); + oSettings.aoColumns.push( oCol ); + + // Add search object for column specific search. Note that the `searchCols[ iCol ]` + // passed into extend can be undefined. This allows the user to give a default + // with only some of the parameters defined, and also not give a default + var searchCols = oSettings.aoPreSearchCols; + searchCols[ iCol ] = $.extend( {}, DataTable.models.oSearch, searchCols[ iCol ] ); + + // Use the default column options function to initialise classes etc + _fnColumnOptions( oSettings, iCol, $(nTh).data() ); + } + + + /** + * Apply options for a column + * @param {object} oSettings dataTables settings object + * @param {int} iCol column index to consider + * @param {object} oOptions object with sType, bVisible and bSearchable etc + * @memberof DataTable#oApi + */ + function _fnColumnOptions( oSettings, iCol, oOptions ) + { + var oCol = oSettings.aoColumns[ iCol ]; + var oClasses = oSettings.oClasses; + var th = $(oCol.nTh); + + // Try to get width information from the DOM. We can't get it from CSS + // as we'd need to parse the CSS stylesheet. `width` option can override + if ( ! oCol.sWidthOrig ) { + // Width attribute + oCol.sWidthOrig = th.attr('width') || null; + + // Style attribute + var t = (th.attr('style') || '').match(/width:\s*(\d+[pxem%]+)/); + if ( t ) { + oCol.sWidthOrig = t[1]; + } + } + + /* User specified column options */ + if ( oOptions !== undefined && oOptions !== null ) + { + // Backwards compatibility + _fnCompatCols( oOptions ); + + // Map camel case parameters to their Hungarian counterparts + _fnCamelToHungarian( DataTable.defaults.column, oOptions ); + + /* Backwards compatibility for mDataProp */ + if ( oOptions.mDataProp !== undefined && !oOptions.mData ) + { + oOptions.mData = oOptions.mDataProp; + } + + if ( oOptions.sType ) + { + oCol._sManualType = oOptions.sType; + } + + // `class` is a reserved word in Javascript, so we need to provide + // the ability to use a valid name for the camel case input + if ( oOptions.className && ! oOptions.sClass ) + { + oOptions.sClass = oOptions.className; + } + + $.extend( oCol, oOptions ); + _fnMap( oCol, oOptions, "sWidth", "sWidthOrig" ); + + /* iDataSort to be applied (backwards compatibility), but aDataSort will take + * priority if defined + */ + if ( oOptions.iDataSort !== undefined ) + { + oCol.aDataSort = [ oOptions.iDataSort ]; + } + _fnMap( oCol, oOptions, "aDataSort" ); + } + + /* Cache the data get and set functions for speed */ + var mDataSrc = oCol.mData; + var mData = _fnGetObjectDataFn( mDataSrc ); + var mRender = oCol.mRender ? _fnGetObjectDataFn( oCol.mRender ) : null; + + var attrTest = function( src ) { + return typeof src === 'string' && src.indexOf('@') !== -1; + }; + oCol._bAttrSrc = $.isPlainObject( mDataSrc ) && ( + attrTest(mDataSrc.sort) || attrTest(mDataSrc.type) || attrTest(mDataSrc.filter) + ); + + oCol.fnGetData = function (rowData, type, meta) { + var innerData = mData( rowData, type, undefined, meta ); + + return mRender && type ? + mRender( innerData, type, rowData, meta ) : + innerData; + }; + oCol.fnSetData = function ( rowData, val, meta ) { + return _fnSetObjectDataFn( mDataSrc )( rowData, val, meta ); + }; + + // Indicate if DataTables should read DOM data as an object or array + // Used in _fnGetRowElements + if ( typeof mDataSrc !== 'number' ) { + oSettings._rowReadObject = true; + } + + /* Feature sorting overrides column specific when off */ + if ( !oSettings.oFeatures.bSort ) + { + oCol.bSortable = false; + th.addClass( oClasses.sSortableNone ); // Have to add class here as order event isn't called + } + + /* Check that the class assignment is correct for sorting */ + var bAsc = $.inArray('asc', oCol.asSorting) !== -1; + var bDesc = $.inArray('desc', oCol.asSorting) !== -1; + if ( !oCol.bSortable || (!bAsc && !bDesc) ) + { + oCol.sSortingClass = oClasses.sSortableNone; + oCol.sSortingClassJUI = ""; + } + else if ( bAsc && !bDesc ) + { + oCol.sSortingClass = oClasses.sSortableAsc; + oCol.sSortingClassJUI = oClasses.sSortJUIAscAllowed; + } + else if ( !bAsc && bDesc ) + { + oCol.sSortingClass = oClasses.sSortableDesc; + oCol.sSortingClassJUI = oClasses.sSortJUIDescAllowed; + } + else + { + oCol.sSortingClass = oClasses.sSortable; + oCol.sSortingClassJUI = oClasses.sSortJUI; + } + } + + + /** + * Adjust the table column widths for new data. Note: you would probably want to + * do a redraw after calling this function! + * @param {object} settings dataTables settings object + * @memberof DataTable#oApi + */ + function _fnAdjustColumnSizing ( settings ) + { + /* Not interested in doing column width calculation if auto-width is disabled */ + if ( settings.oFeatures.bAutoWidth !== false ) + { + var columns = settings.aoColumns; + + _fnCalculateColumnWidths( settings ); + for ( var i=0 , iLen=columns.length ; i
').appendTo(this); + } + oSettings.nTBody = tbody[0]; + + var tfoot = $this.children('tfoot'); + if ( tfoot.length === 0 && captions.length > 0 && (oSettings.oScroll.sX !== "" || oSettings.oScroll.sY !== "") ) + { + // If we are a scrolling table, and no footer has been given, then we need to create + // a tfoot element for the caption element to be appended to + tfoot = $('').appendTo(this); + } + + if ( tfoot.length === 0 || tfoot.children().length === 0 ) { + $this.addClass( oClasses.sNoFooter ); + } + else if ( tfoot.length > 0 ) { + oSettings.nTFoot = tfoot[0]; + _fnDetectHeader( oSettings.aoFooter, oSettings.nTFoot ); + } + + /* Check if there is data passing into the constructor */ + if ( oInit.aaData ) + { + for ( i=0 ; i idx ? + new _Api( ctx[idx], this[idx] ) : + null; + }, + + + filter: function ( fn ) + { + var a = []; + + if ( __arrayProto.filter ) { + a = __arrayProto.filter.call( this, fn, this ); + } + else { + // Compatibility for browsers without EMCA-252-5 (JS 1.6) + for ( var i=0, ien=this.length ; i 0 ) { + return ctx[0].json; + } + + // else return undefined; + } ); + + + /** + * Get the data submitted in the last Ajax request + */ + _api_register( 'ajax.params()', function () { + var ctx = this.context; + + if ( ctx.length > 0 ) { + return ctx[0].oAjaxData; + } + + // else return undefined; + } ); + + + /** + * Reload tables from the Ajax data source. Note that this function will + * automatically re-draw the table when the remote data has been loaded. + * + * @param {boolean} [reset=true] Reset (default) or hold the current paging + * position. A full re-sort and re-filter is performed when this method is + * called, which is why the pagination reset is the default action. + * @returns {DataTables.Api} this + */ + _api_register( 'ajax.reload()', function ( callback, resetPaging ) { + return this.iterator( 'table', function (settings) { + __reload( settings, resetPaging===false, callback ); + } ); + } ); + + + /** + * Get the current Ajax URL. Note that this returns the URL from the first + * table in the current context. + * + * @return {string} Current Ajax source URL + *//** + * Set the Ajax URL. Note that this will set the URL for all tables in the + * current context. + * + * @param {string} url URL to set. + * @returns {DataTables.Api} this + */ + _api_register( 'ajax.url()', function ( url ) { + var ctx = this.context; + + if ( url === undefined ) { + // get + if ( ctx.length === 0 ) { + return undefined; + } + ctx = ctx[0]; + + return ctx.ajax ? + $.isPlainObject( ctx.ajax ) ? + ctx.ajax.url : + ctx.ajax : + ctx.sAjaxSource; + } + + // set + return this.iterator( 'table', function ( settings ) { + if ( $.isPlainObject( settings.ajax ) ) { + settings.ajax.url = url; + } + else { + settings.ajax = url; + } + // No need to consider sAjaxSource here since DataTables gives priority + // to `ajax` over `sAjaxSource`. So setting `ajax` here, renders any + // value of `sAjaxSource` redundant. + } ); + } ); + + + /** + * Load data from the newly set Ajax URL. Note that this method is only + * available when `ajax.url()` is used to set a URL. Additionally, this method + * has the same effect as calling `ajax.reload()` but is provided for + * convenience when setting a new URL. Like `ajax.reload()` it will + * automatically redraw the table once the remote data has been loaded. + * + * @returns {DataTables.Api} this + */ + _api_register( 'ajax.url().load()', function ( callback, resetPaging ) { + // Same as a reload, but makes sense to present it for easy access after a + // url change + return this.iterator( 'table', function ( ctx ) { + __reload( ctx, resetPaging===false, callback ); + } ); + } ); + + + + + var _selector_run = function ( type, selector, selectFn, settings, opts ) + { + var + out = [], res, + a, i, ien, j, jen, + selectorType = typeof selector; + + // Can't just check for isArray here, as an API or jQuery instance might be + // given with their array like look + if ( ! selector || selectorType === 'string' || selectorType === 'function' || selector.length === undefined ) { + selector = [ selector ]; + } + + for ( i=0, ien=selector.length ; i 0 ) { + // Assign the first element to the first item in the instance + // and truncate the instance and context + inst[0] = inst[i]; + inst[0].length = 1; + inst.length = 1; + inst.context = [ inst.context[i] ]; + + return inst; + } + } + + // Not found - return an empty instance + inst.length = 0; + return inst; + }; + + + var _selector_row_indexes = function ( settings, opts ) + { + var + i, ien, tmp, a=[], + displayFiltered = settings.aiDisplay, + displayMaster = settings.aiDisplayMaster; + + var + search = opts.search, // none, applied, removed + order = opts.order, // applied, current, index (original - compatibility with 1.9) + page = opts.page; // all, current + + if ( _fnDataSource( settings ) == 'ssp' ) { + // In server-side processing mode, most options are irrelevant since + // rows not shown don't exist and the index order is the applied order + // Removed is a special case - for consistency just return an empty + // array + return search === 'removed' ? + [] : + _range( 0, displayMaster.length ); + } + else if ( page == 'current' ) { + // Current page implies that order=current and fitler=applied, since it is + // fairly senseless otherwise, regardless of what order and search actually + // are + for ( i=settings._iDisplayStart, ien=settings.fnDisplayEnd() ; i= 0 && search == 'applied') ) + { + a.push( i ); + } + } + } + } + + return a; + }; + + + /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + * Rows + * + * {} - no selector - use all available rows + * {integer} - row aoData index + * {node} - TR node + * {string} - jQuery selector to apply to the TR elements + * {array} - jQuery array of nodes, or simply an array of TR nodes + * + */ + + + var __row_selector = function ( settings, selector, opts ) + { + var run = function ( sel ) { + var selInt = _intVal( sel ); + var i, ien; + + // Short cut - selector is a number and no options provided (default is + // all records, so no need to check if the index is in there, since it + // must be - dev error if the index doesn't exist). + if ( selInt !== null && ! opts ) { + return [ selInt ]; + } + + var rows = _selector_row_indexes( settings, opts ); + + if ( selInt !== null && $.inArray( selInt, rows ) !== -1 ) { + // Selector - integer + return [ selInt ]; + } + else if ( ! sel ) { + // Selector - none + return rows; + } + + // Selector - function + if ( typeof sel === 'function' ) { + return $.map( rows, function (idx) { + var row = settings.aoData[ idx ]; + return sel( idx, row._aData, row.nTr ) ? idx : null; + } ); + } + + // Get nodes in the order from the `rows` array with null values removed + var nodes = _removeEmpty( + _pluck_order( settings.aoData, rows, 'nTr' ) + ); + + // Selector - node + if ( sel.nodeName ) { + if ( $.inArray( sel, nodes ) !== -1 ) { + return [ sel._DT_RowIndex ]; // sel is a TR node that is in the table + // and DataTables adds a prop for fast lookup + } + } + + // Selector - jQuery selector string, array of nodes or jQuery object/ + // As jQuery's .filter() allows jQuery objects to be passed in filter, + // it also allows arrays, so this will cope with all three options + return $(nodes) + .filter( sel ) + .map( function () { + return this._DT_RowIndex; + } ) + .toArray(); + }; + + return _selector_run( 'row', selector, run, settings, opts ); + }; + + + _api_register( 'rows()', function ( selector, opts ) { + // argument shifting + if ( selector === undefined ) { + selector = ''; + } + else if ( $.isPlainObject( selector ) ) { + opts = selector; + selector = ''; + } + + opts = _selector_opts( opts ); + + var inst = this.iterator( 'table', function ( settings ) { + return __row_selector( settings, selector, opts ); + }, 1 ); + + // Want argument shifting here and in __row_selector? + inst.selector.rows = selector; + inst.selector.opts = opts; + + return inst; + } ); + + _api_register( 'rows().nodes()', function () { + return this.iterator( 'row', function ( settings, row ) { + return settings.aoData[ row ].nTr || undefined; + }, 1 ); + } ); + + _api_register( 'rows().data()', function () { + return this.iterator( true, 'rows', function ( settings, rows ) { + return _pluck_order( settings.aoData, rows, '_aData' ); + }, 1 ); + } ); + + _api_registerPlural( 'rows().cache()', 'row().cache()', function ( type ) { + return this.iterator( 'row', function ( settings, row ) { + var r = settings.aoData[ row ]; + return type === 'search' ? r._aFilterData : r._aSortData; + }, 1 ); + } ); + + _api_registerPlural( 'rows().invalidate()', 'row().invalidate()', function ( src ) { + return this.iterator( 'row', function ( settings, row ) { + _fnInvalidate( settings, row, src ); + } ); + } ); + + _api_registerPlural( 'rows().indexes()', 'row().index()', function () { + return this.iterator( 'row', function ( settings, row ) { + return row; + }, 1 ); + } ); + + _api_registerPlural( 'rows().remove()', 'row().remove()', function () { + var that = this; + + return this.iterator( 'row', function ( settings, row, thatIdx ) { + var data = settings.aoData; + + data.splice( row, 1 ); + + // Update the _DT_RowIndex parameter on all rows in the table + for ( var i=0, ien=data.length ; i').addClass( k ); + $('td', created) + .addClass( k ) + .html( r ) + [0].colSpan = _fnVisbleColumns( ctx ); + + rows.push( created[0] ); + } + }; + + addRow( data, klass ); + + if ( row._details ) { + row._details.remove(); + } + + row._details = $(rows); + + // If the children were already shown, that state should be retained + if ( row._detailsShow ) { + row._details.insertAfter( row.nTr ); + } + }; + + + var __details_remove = function ( api, idx ) + { + var ctx = api.context; + + if ( ctx.length ) { + var row = ctx[0].aoData[ idx !== undefined ? idx : api[0] ]; + + if ( row._details ) { + row._details.remove(); + + row._detailsShow = undefined; + row._details = undefined; + } + } + }; + + + var __details_display = function ( api, show ) { + var ctx = api.context; + + if ( ctx.length && api.length ) { + var row = ctx[0].aoData[ api[0] ]; + + if ( row._details ) { + row._detailsShow = show; + + if ( show ) { + row._details.insertAfter( row.nTr ); + } + else { + row._details.detach(); + } + + __details_events( ctx[0] ); + } + } + }; + + + var __details_events = function ( settings ) + { + var api = new _Api( settings ); + var namespace = '.dt.DT_details'; + var drawEvent = 'draw'+namespace; + var colvisEvent = 'column-visibility'+namespace; + var destroyEvent = 'destroy'+namespace; + var data = settings.aoData; + + api.off( drawEvent +' '+ colvisEvent +' '+ destroyEvent ); + + if ( _pluck( data, '_details' ).length > 0 ) { + // On each draw, insert the required elements into the document + api.on( drawEvent, function ( e, ctx ) { + if ( settings !== ctx ) { + return; + } + + api.rows( {page:'current'} ).eq(0).each( function (idx) { + // Internal data grab + var row = data[ idx ]; + + if ( row._detailsShow ) { + row._details.insertAfter( row.nTr ); + } + } ); + } ); + + // Column visibility change - update the colspan + api.on( colvisEvent, function ( e, ctx, idx, vis ) { + if ( settings !== ctx ) { + return; + } + + // Update the colspan for the details rows (note, only if it already has + // a colspan) + var row, visible = _fnVisbleColumns( ctx ); + + for ( var i=0, ien=data.length ; i=0 count from left, <0 count from right) + * "{integer}:visIdx" - visible column index (i.e. translate to column index) (>=0 count from left, <0 count from right) + * "{integer}:visible" - alias for {integer}:visIdx (>=0 count from left, <0 count from right) + * "{string}:name" - column name + * "{string}" - jQuery selector on column header nodes + * + */ + + // can be an array of these items, comma separated list, or an array of comma + // separated lists + + var __re_column_selector = /^(.+):(name|visIdx|visible)$/; + + + // r1 and r2 are redundant - but it means that the parameters match for the + // iterator callback in columns().data() + var __columnData = function ( settings, column, r1, r2, rows ) { + var a = []; + for ( var row=0, ien=rows.length ; row= 0 ? + selInt : // Count from left + columns.length + selInt // Count from right (+ because its a negative value) + ]; + } + + // Selector = function + if ( typeof s === 'function' ) { + var rows = _selector_row_indexes( settings, opts ); + + return $.map( columns, function (col, idx) { + return s( + idx, + __columnData( settings, idx, 0, 0, rows ), + nodes[ idx ] + ) ? idx : null; + } ); + } + + // jQuery or string selector + var match = typeof s === 'string' ? + s.match( __re_column_selector ) : + ''; + + if ( match ) { + switch( match[2] ) { + case 'visIdx': + case 'visible': + var idx = parseInt( match[1], 10 ); + // Visible index given, convert to column index + if ( idx < 0 ) { + // Counting from the right + var visColumns = $.map( columns, function (col,i) { + return col.bVisible ? i : null; + } ); + return [ visColumns[ visColumns.length + idx ] ]; + } + // Counting from the left + return [ _fnVisibleToColumnIndex( settings, idx ) ]; + + case 'name': + // match by name. `names` is column index complete and in order + return $.map( names, function (name, i) { + return name === match[1] ? i : null; + } ); + } + } + else { + // jQuery selector on the TH elements for the columns + return $( nodes ) + .filter( s ) + .map( function () { + return $.inArray( this, nodes ); // `nodes` is column index complete and in order + } ) + .toArray(); + } + }; + + return _selector_run( 'column', selector, run, settings, opts ); + }; + + + var __setColumnVis = function ( settings, column, vis, recalc ) { + var + cols = settings.aoColumns, + col = cols[ column ], + data = settings.aoData, + row, cells, i, ien, tr; + + // Get + if ( vis === undefined ) { + return col.bVisible; + } + + // Set + // No change + if ( col.bVisible === vis ) { + return; + } + + if ( vis ) { + // Insert column + // Need to decide if we should use appendChild or insertBefore + var insertBefore = $.inArray( true, _pluck(cols, 'bVisible'), column+1 ); + + for ( i=0, ien=data.length ; i iThat; + } + + return true; + }; + + + /** + * Check if a `
', { + 'valign': 'top', + 'colSpan': _fnVisbleColumns( oSettings ), + 'class': oSettings.oClasses.sRowEmpty + } ).html( sZero ) )[0]; + } + + /* Header and footer callbacks */ + _fnCallbackFire( oSettings, 'aoHeaderCallback', 'header', [ $(oSettings.nTHead).children('tr')[0], + _fnGetDataMaster( oSettings ), iDisplayStart, iDisplayEnd, aiDisplay ] ); + + _fnCallbackFire( oSettings, 'aoFooterCallback', 'footer', [ $(oSettings.nTFoot).children('tr')[0], + _fnGetDataMaster( oSettings ), iDisplayStart, iDisplayEnd, aiDisplay ] ); + + var body = $(oSettings.nTBody); + + body.children().detach(); + body.append( $(anRows) ); + + /* Call all required callback functions for the end of a draw */ + _fnCallbackFire( oSettings, 'aoDrawCallback', 'draw', [oSettings] ); + + /* Draw is complete, sorting and filtering must be as well */ + oSettings.bSorted = false; + oSettings.bFiltered = false; + oSettings.bDrawing = false; + } + + + /** + * Redraw the table - taking account of the various features which are enabled + * @param {object} oSettings dataTables settings object + * @param {boolean} [holdPosition] Keep the current paging position. By default + * the paging is reset to the first page + * @memberof DataTable#oApi + */ + function _fnReDraw( settings, holdPosition ) + { + var + features = settings.oFeatures, + sort = features.bSort, + filter = features.bFilter; + + if ( sort ) { + _fnSort( settings ); + } + + if ( filter ) { + _fnFilterComplete( settings, settings.oPreviousSearch ); + } + else { + // No filtering, so we want to just use the display master + settings.aiDisplay = settings.aiDisplayMaster.slice(); + } + + if ( holdPosition !== true ) { + settings._iDisplayStart = 0; + } + + // Let any modules know about the draw hold position state (used by + // scrolling internally) + settings._drawHold = holdPosition; + + _fnDraw( settings ); + + settings._drawHold = false; + } + + + /** + * Add the options to the page HTML for the table + * @param {object} oSettings dataTables settings object + * @memberof DataTable#oApi + */ + function _fnAddOptionsHtml ( oSettings ) + { + var classes = oSettings.oClasses; + var table = $(oSettings.nTable); + var holding = $('
').insertBefore( table ); // Holding element for speed + var features = oSettings.oFeatures; + + // All DataTables are wrapped in a div + var insert = $('
', { + id: oSettings.sTableId+'_wrapper', + 'class': classes.sWrapper + (oSettings.nTFoot ? '' : ' '+classes.sNoFooter) + } ); + + oSettings.nHolding = holding[0]; + oSettings.nTableWrapper = insert[0]; + oSettings.nTableReinsertBefore = oSettings.nTable.nextSibling; + + /* Loop over the user set positioning and place the elements as needed */ + var aDom = oSettings.sDom.split(''); + var featureNode, cOption, nNewNode, cNext, sAttr, j; + for ( var i=0 ; i')[0]; + + /* Check to see if we should append an id and/or a class name to the container */ + cNext = aDom[i+1]; + if ( cNext == "'" || cNext == '"' ) + { + sAttr = ""; + j = 2; + while ( aDom[i+j] != cNext ) + { + sAttr += aDom[i+j]; + j++; + } + + /* Replace jQuery UI constants @todo depreciated */ + if ( sAttr == "H" ) + { + sAttr = classes.sJUIHeader; + } + else if ( sAttr == "F" ) + { + sAttr = classes.sJUIFooter; + } + + /* The attribute can be in the format of "#id.class", "#id" or "class" This logic + * breaks the string into parts and applies them as needed + */ + if ( sAttr.indexOf('.') != -1 ) + { + var aSplit = sAttr.split('.'); + nNewNode.id = aSplit[0].substr(1, aSplit[0].length-1); + nNewNode.className = aSplit[1]; + } + else if ( sAttr.charAt(0) == "#" ) + { + nNewNode.id = sAttr.substr(1, sAttr.length-1); + } + else + { + nNewNode.className = sAttr; + } + + i += j; /* Move along the position array */ + } + + insert.append( nNewNode ); + insert = $(nNewNode); + } + else if ( cOption == '>' ) + { + /* End container div */ + insert = insert.parent(); + } + // @todo Move options into their own plugins? + else if ( cOption == 'l' && features.bPaginate && features.bLengthChange ) + { + /* Length */ + featureNode = _fnFeatureHtmlLength( oSettings ); + } + else if ( cOption == 'f' && features.bFilter ) + { + /* Filter */ + featureNode = _fnFeatureHtmlFilter( oSettings ); + } + else if ( cOption == 'r' && features.bProcessing ) + { + /* pRocessing */ + featureNode = _fnFeatureHtmlProcessing( oSettings ); + } + else if ( cOption == 't' ) + { + /* Table */ + featureNode = _fnFeatureHtmlTable( oSettings ); + } + else if ( cOption == 'i' && features.bInfo ) + { + /* Info */ + featureNode = _fnFeatureHtmlInfo( oSettings ); + } + else if ( cOption == 'p' && features.bPaginate ) + { + /* Pagination */ + featureNode = _fnFeatureHtmlPaginate( oSettings ); + } + else if ( DataTable.ext.feature.length !== 0 ) + { + /* Plug-in features */ + var aoFeatures = DataTable.ext.feature; + for ( var k=0, kLen=aoFeatures.length ; k'; + + var str = language.sSearch; + str = str.match(/_INPUT_/) ? + str.replace('_INPUT_', input) : + str+input; + + var filter = $('
', { + 'id': ! features.f ? tableId+'_filter' : null, + 'class': classes.sFilter + } ) + .append( $('
').html( _fnGetCellData( settings, idx, colIdx, 'display' ) )[0] : + data.anCells[ colIdx ]; + } + + + /** + * Get the maximum strlen for each data column + * @param {object} settings dataTables settings object + * @param {int} colIdx column of interest + * @returns {string} max string length for each column + * @memberof DataTable#oApi + */ + function _fnGetMaxLenString( settings, colIdx ) + { + var s, max=-1, maxIdx = -1; + + for ( var i=0, ien=settings.aoData.length ; i max ) { + max = s.length; + maxIdx = i; + } + } + + return maxIdx; + } + + + /** + * Append a CSS unit (only if required) to a string + * @param {string} value to css-ify + * @returns {string} value with css unit + * @memberof DataTable#oApi + */ + function _fnStringToCss( s ) + { + if ( s === null ) { + return '0px'; + } + + if ( typeof s == 'number' ) { + return s < 0 ? + '0px' : + s+'px'; + } + + // Check it has a unit character already + return s.match(/\d$/) ? + s+'px' : + s; + } + + + /** + * Get the width of a scroll bar in this browser being used + * @returns {int} width in pixels + * @memberof DataTable#oApi + */ + function _fnScrollBarWidth () + { + // On first run a static variable is set, since this is only needed once. + // Subsequent runs will just use the previously calculated value + var width = DataTable.__scrollbarWidth; + + if ( width === undefined ) { + var sizer = $('

').css( { + position: 'absolute', + top: 0, + left: 0, + width: '100%', + height: 150, + padding: 0, + overflow: 'scroll', + visibility: 'hidden' + } ) + .appendTo('body'); + + width = sizer[0].offsetWidth - sizer[0].clientWidth; + DataTable.__scrollbarWidth = width; + + sizer.remove(); + } + + return width; + } + + + + function _fnSortFlatten ( settings ) + { + var + i, iLen, k, kLen, + aSort = [], + aiOrig = [], + aoColumns = settings.aoColumns, + aDataSort, iCol, sType, srcCol, + fixed = settings.aaSortingFixed, + fixedObj = $.isPlainObject( fixed ), + nestedSort = [], + add = function ( a ) { + if ( a.length && ! $.isArray( a[0] ) ) { + // 1D array + nestedSort.push( a ); + } + else { + // 2D array + nestedSort.push.apply( nestedSort, a ); + } + }; + + // Build the sort array, with pre-fix and post-fix options if they have been + // specified + if ( $.isArray( fixed ) ) { + add( fixed ); + } + + if ( fixedObj && fixed.pre ) { + add( fixed.pre ); + } + + add( settings.aaSorting ); + + if (fixedObj && fixed.post ) { + add( fixed.post ); + } + + for ( i=0 ; iy ? 1 : 0; + if ( test !== 0 ) { + return sort.dir === 'asc' ? test : -test; + } + } + + x = aiOrig[a]; + y = aiOrig[b]; + return xy ? 1 : 0; + } ); + } + else { + // Depreciated - remove in 1.11 (providing a plug-in option) + // Not all sort types have formatting methods, so we have to call their sorting + // methods. + displayMaster.sort( function ( a, b ) { + var + x, y, k, l, test, sort, fn, + len=aSort.length, + dataA = aoData[a]._aSortData, + dataB = aoData[b]._aSortData; + + for ( k=0 ; ky ? 1 : 0; + } ); + } + } + + /* Tell the draw function that we have sorted the data */ + oSettings.bSorted = true; + } + + + function _fnSortAria ( settings ) + { + var label; + var nextSort; + var columns = settings.aoColumns; + var aSort = _fnSortFlatten( settings ); + var oAria = settings.oLanguage.oAria; + + // ARIA attributes - need to loop all columns, to update all (removing old + // attributes as needed) + for ( var i=0, iLen=columns.length ; i/g, "" ); + var th = col.nTh; + + // IE7 is throwing an error when setting these properties with jQuery's + // attr() and removeAttr() methods... + th.removeAttribute('aria-sort'); + + /* In ARIA only the first sorting column can be marked as sorting - no multi-sort option */ + if ( col.bSortable ) { + if ( aSort.length > 0 && aSort[0].col == i ) { + th.setAttribute('aria-sort', aSort[0].dir=="asc" ? "ascending" : "descending" ); + nextSort = asSorting[ aSort[0].index+1 ] || asSorting[0]; + } + else { + nextSort = asSorting[0]; + } + + label = sTitle + ( nextSort === "asc" ? + oAria.sSortAscending : + oAria.sSortDescending + ); + } + else { + label = sTitle; + } + + th.setAttribute('aria-label', label); + } + } + + + /** + * Function to run on user sort request + * @param {object} settings dataTables settings object + * @param {node} attachTo node to attach the handler to + * @param {int} colIdx column sorting index + * @param {boolean} [append=false] Append the requested sort to the existing + * sort if true (i.e. multi-column sort) + * @param {function} [callback] callback function + * @memberof DataTable#oApi + */ + function _fnSortListener ( settings, colIdx, append, callback ) + { + var col = settings.aoColumns[ colIdx ]; + var sorting = settings.aaSorting; + var asSorting = col.asSorting; + var nextSortIdx; + var next = function ( a, overflow ) { + var idx = a._idx; + if ( idx === undefined ) { + idx = $.inArray( a[1], asSorting ); + } + + return idx+1 < asSorting.length ? + idx+1 : + overflow ? + null : + 0; + }; + + // Convert to 2D array if needed + if ( typeof sorting[0] === 'number' ) { + sorting = settings.aaSorting = [ sorting ]; + } + + // If appending the sort then we are multi-column sorting + if ( append && settings.oFeatures.bSortMulti ) { + // Are we already doing some kind of sort on this column? + var sortIdx = $.inArray( colIdx, _pluck(sorting, '0') ); + + if ( sortIdx !== -1 ) { + // Yes, modify the sort + nextSortIdx = next( sorting[sortIdx], true ); + + if ( nextSortIdx === null && sorting.length === 1 ) { + nextSortIdx = 0; // can't remove sorting completely + } + + if ( nextSortIdx === null ) { + sorting.splice( sortIdx, 1 ); + } + else { + sorting[sortIdx][1] = asSorting[ nextSortIdx ]; + sorting[sortIdx]._idx = nextSortIdx; + } + } + else { + // No sort on this column yet + sorting.push( [ colIdx, asSorting[0], 0 ] ); + sorting[sorting.length-1]._idx = 0; + } + } + else if ( sorting.length && sorting[0][0] == colIdx ) { + // Single column - already sorting on this column, modify the sort + nextSortIdx = next( sorting[0] ); + + sorting.length = 1; + sorting[0][1] = asSorting[ nextSortIdx ]; + sorting[0]._idx = nextSortIdx; + } + else { + // Single column - sort only on this column + sorting.length = 0; + sorting.push( [ colIdx, asSorting[0] ] ); + sorting[0]._idx = 0; + } + + // Run the sort by calling a full redraw + _fnReDraw( settings ); + + // callback used for async user interaction + if ( typeof callback == 'function' ) { + callback( settings ); + } + } + + + /** + * Attach a sort handler (click) to a node + * @param {object} settings dataTables settings object + * @param {node} attachTo node to attach the handler to + * @param {int} colIdx column sorting index + * @param {function} [callback] callback function + * @memberof DataTable#oApi + */ + function _fnSortAttachListener ( settings, attachTo, colIdx, callback ) + { + var col = settings.aoColumns[ colIdx ]; + + _fnBindAction( attachTo, {}, function (e) { + /* If the column is not sortable - don't to anything */ + if ( col.bSortable === false ) { + return; + } + + // If processing is enabled use a timeout to allow the processing + // display to be shown - otherwise to it synchronously + if ( settings.oFeatures.bProcessing ) { + _fnProcessingDisplay( settings, true ); + + setTimeout( function() { + _fnSortListener( settings, colIdx, e.shiftKey, callback ); + + // In server-side processing, the draw callback will remove the + // processing display + if ( _fnDataSource( settings ) !== 'ssp' ) { + _fnProcessingDisplay( settings, false ); + } + }, 0 ); + } + else { + _fnSortListener( settings, colIdx, e.shiftKey, callback ); + } + } ); + } + + + /** + * Set the sorting classes on table's body, Note: it is safe to call this function + * when bSort and bSortClasses are false + * @param {object} oSettings dataTables settings object + * @memberof DataTable#oApi + */ + function _fnSortingClasses( settings ) + { + var oldSort = settings.aLastSort; + var sortClass = settings.oClasses.sSortColumn; + var sort = _fnSortFlatten( settings ); + var features = settings.oFeatures; + var i, ien, colIdx; + + if ( features.bSort && features.bSortClasses ) { + // Remove old sorting classes + for ( i=0, ien=oldSort.length ; i 0 && state.time < +new Date() - (duration*1000) ) { + return; + } + + // Number of columns have changed - all bets are off, no restore of settings + if ( columns.length !== state.columns.length ) { + return; + } + + // Store the saved state so it might be accessed at any time + settings.oLoadedState = $.extend( true, {}, state ); + + // Restore key features - todo - for 1.11 this needs to be done by + // subscribed events + if ( state.start !== undefined ) { + settings._iDisplayStart = state.start; + settings.iInitDisplayStart = state.start; + } + if ( state.length !== undefined ) { + settings._iDisplayLength = state.length; + } + + // Order + if ( state.order !== undefined ) { + settings.aaSorting = []; + $.each( state.order, function ( i, col ) { + settings.aaSorting.push( col[0] >= columns.length ? + [ 0, col[1] ] : + col + ); + } ); + } + + // Search + if ( state.search !== undefined ) { + $.extend( settings.oPreviousSearch, _fnSearchToHung( state.search ) ); + } + + // Columns + for ( i=0, ien=state.columns.length ; i= end ) + { + start = end - len; + } + + // Keep the start record on the current page + start -= (start % len); + + if ( len === -1 || start < 0 ) + { + start = 0; + } + + settings._iDisplayStart = start; + } + + + function _fnRenderer( settings, type ) + { + var renderer = settings.renderer; + var host = DataTable.ext.renderer[type]; + + if ( $.isPlainObject( renderer ) && renderer[type] ) { + // Specific renderer for this type. If available use it, otherwise use + // the default. + return host[renderer[type]] || host._; + } + else if ( typeof renderer === 'string' ) { + // Common renderer - if there is one available for this type use it, + // otherwise use the default + return host[renderer] || host._; + } + + // Use the default + return host._; + } + + + /** + * Detect the data source being used for the table. Used to simplify the code + * a little (ajax) and to make it compress a little smaller. + * + * @param {object} settings dataTables settings object + * @returns {string} Data source + * @memberof DataTable#oApi + */ + function _fnDataSource ( settings ) + { + if ( settings.oFeatures.bServerSide ) { + return 'ssp'; + } + else if ( settings.ajax || settings.sAjaxSource ) { + return 'ajax'; + } + return 'dom'; + } + + + DataTable = function( options ) + { + /** + * Perform a jQuery selector action on the table's TR elements (from the tbody) and + * return the resulting jQuery object. + * @param {string|node|jQuery} sSelector jQuery selector or node collection to act on + * @param {object} [oOpts] Optional parameters for modifying the rows to be included + * @param {string} [oOpts.filter=none] Select TR elements that meet the current filter + * criterion ("applied") or all TR elements (i.e. no filter). + * @param {string} [oOpts.order=current] Order of the TR elements in the processed array. + * Can be either 'current', whereby the current sorting of the table is used, or + * 'original' whereby the original order the data was read into the table is used. + * @param {string} [oOpts.page=all] Limit the selection to the currently displayed page + * ("current") or not ("all"). If 'current' is given, then order is assumed to be + * 'current' and filter is 'applied', regardless of what they might be given as. + * @returns {object} jQuery object, filtered by the given selector. + * @dtopt API + * @deprecated Since v1.10 + * + * @example + * $(document).ready(function() { + * var oTable = $('#example').dataTable(); + * + * // Highlight every second row + * oTable.$('tr:odd').css('backgroundColor', 'blue'); + * } ); + * + * @example + * $(document).ready(function() { + * var oTable = $('#example').dataTable(); + * + * // Filter to rows with 'Webkit' in them, add a background colour and then + * // remove the filter, thus highlighting the 'Webkit' rows only. + * oTable.fnFilter('Webkit'); + * oTable.$('tr', {"search": "applied"}).css('backgroundColor', 'blue'); + * oTable.fnFilter(''); + * } ); + */ + this.$ = function ( sSelector, oOpts ) + { + return this.api(true).$( sSelector, oOpts ); + }; + + + /** + * Almost identical to $ in operation, but in this case returns the data for the matched + * rows - as such, the jQuery selector used should match TR row nodes or TD/TH cell nodes + * rather than any descendants, so the data can be obtained for the row/cell. If matching + * rows are found, the data returned is the original data array/object that was used to + * create the row (or a generated array if from a DOM source). + * + * This method is often useful in-combination with $ where both functions are given the + * same parameters and the array indexes will match identically. + * @param {string|node|jQuery} sSelector jQuery selector or node collection to act on + * @param {object} [oOpts] Optional parameters for modifying the rows to be included + * @param {string} [oOpts.filter=none] Select elements that meet the current filter + * criterion ("applied") or all elements (i.e. no filter). + * @param {string} [oOpts.order=current] Order of the data in the processed array. + * Can be either 'current', whereby the current sorting of the table is used, or + * 'original' whereby the original order the data was read into the table is used. + * @param {string} [oOpts.page=all] Limit the selection to the currently displayed page + * ("current") or not ("all"). If 'current' is given, then order is assumed to be + * 'current' and filter is 'applied', regardless of what they might be given as. + * @returns {array} Data for the matched elements. If any elements, as a result of the + * selector, were not TR, TD or TH elements in the DataTable, they will have a null + * entry in the array. + * @dtopt API + * @deprecated Since v1.10 + * + * @example + * $(document).ready(function() { + * var oTable = $('#example').dataTable(); + * + * // Get the data from the first row in the table + * var data = oTable._('tr:first'); + * + * // Do something useful with the data + * alert( "First cell is: "+data[0] ); + * } ); + * + * @example + * $(document).ready(function() { + * var oTable = $('#example').dataTable(); + * + * // Filter to 'Webkit' and get all data for + * oTable.fnFilter('Webkit'); + * var data = oTable._('tr', {"search": "applied"}); + * + * // Do something with the data + * alert( data.length+" rows matched the search" ); + * } ); + */ + this._ = function ( sSelector, oOpts ) + { + return this.api(true).rows( sSelector, oOpts ).data(); + }; + + + /** + * Create a DataTables Api instance, with the currently selected tables for + * the Api's context. + * @param {boolean} [traditional=false] Set the API instance's context to be + * only the table referred to by the `DataTable.ext.iApiIndex` option, as was + * used in the API presented by DataTables 1.9- (i.e. the traditional mode), + * or if all tables captured in the jQuery object should be used. + * @return {DataTables.Api} + */ + this.api = function ( traditional ) + { + return traditional ? + new _Api( + _fnSettingsFromNode( this[ _ext.iApiIndex ] ) + ) : + new _Api( this ); + }; + + + /** + * Add a single new row or multiple rows of data to the table. Please note + * that this is suitable for client-side processing only - if you are using + * server-side processing (i.e. "bServerSide": true), then to add data, you + * must add it to the data source, i.e. the server-side, through an Ajax call. + * @param {array|object} data The data to be added to the table. This can be: + *

    + *
  • 1D array of data - add a single row with the data provided
  • + *
  • 2D array of arrays - add multiple rows in a single call
  • + *
  • object - data object when using mData
  • + *
  • array of objects - multiple data objects when using mData
  • + *
+ * @param {bool} [redraw=true] redraw the table or not + * @returns {array} An array of integers, representing the list of indexes in + * aoData ({@link DataTable.models.oSettings}) that have been added to + * the table. + * @dtopt API + * @deprecated Since v1.10 + * + * @example + * // Global var for counter + * var giCount = 2; + * + * $(document).ready(function() { + * $('#example').dataTable(); + * } ); + * + * function fnClickAddRow() { + * $('#example').dataTable().fnAddData( [ + * giCount+".1", + * giCount+".2", + * giCount+".3", + * giCount+".4" ] + * ); + * + * giCount++; + * } + */ + this.fnAddData = function( data, redraw ) + { + var api = this.api( true ); + + /* Check if we want to add multiple rows or not */ + var rows = $.isArray(data) && ( $.isArray(data[0]) || $.isPlainObject(data[0]) ) ? + api.rows.add( data ) : + api.row.add( data ); + + if ( redraw === undefined || redraw ) { + api.draw(); + } + + return rows.flatten().toArray(); + }; + + + /** + * This function will make DataTables recalculate the column sizes, based on the data + * contained in the table and the sizes applied to the columns (in the DOM, CSS or + * through the sWidth parameter). This can be useful when the width of the table's + * parent element changes (for example a window resize). + * @param {boolean} [bRedraw=true] Redraw the table or not, you will typically want to + * @dtopt API + * @deprecated Since v1.10 + * + * @example + * $(document).ready(function() { + * var oTable = $('#example').dataTable( { + * "sScrollY": "200px", + * "bPaginate": false + * } ); + * + * $(window).bind('resize', function () { + * oTable.fnAdjustColumnSizing(); + * } ); + * } ); + */ + this.fnAdjustColumnSizing = function ( bRedraw ) + { + var api = this.api( true ).columns.adjust(); + var settings = api.settings()[0]; + var scroll = settings.oScroll; + + if ( bRedraw === undefined || bRedraw ) { + api.draw( false ); + } + else if ( scroll.sX !== "" || scroll.sY !== "" ) { + /* If not redrawing, but scrolling, we want to apply the new column sizes anyway */ + _fnScrollDraw( settings ); + } + }; + + + /** + * Quickly and simply clear a table + * @param {bool} [bRedraw=true] redraw the table or not + * @dtopt API + * @deprecated Since v1.10 + * + * @example + * $(document).ready(function() { + * var oTable = $('#example').dataTable(); + * + * // Immediately 'nuke' the current rows (perhaps waiting for an Ajax callback...) + * oTable.fnClearTable(); + * } ); + */ + this.fnClearTable = function( bRedraw ) + { + var api = this.api( true ).clear(); + + if ( bRedraw === undefined || bRedraw ) { + api.draw(); + } + }; + + + /** + * The exact opposite of 'opening' a row, this function will close any rows which + * are currently 'open'. + * @param {node} nTr the table row to 'close' + * @returns {int} 0 on success, or 1 if failed (can't find the row) + * @dtopt API + * @deprecated Since v1.10 + * + * @example + * $(document).ready(function() { + * var oTable; + * + * // 'open' an information row when a row is clicked on + * $('#example tbody tr').click( function () { + * if ( oTable.fnIsOpen(this) ) { + * oTable.fnClose( this ); + * } else { + * oTable.fnOpen( this, "Temporary row opened", "info_row" ); + * } + * } ); + * + * oTable = $('#example').dataTable(); + * } ); + */ + this.fnClose = function( nTr ) + { + this.api( true ).row( nTr ).child.hide(); + }; + + + /** + * Remove a row for the table + * @param {mixed} target The index of the row from aoData to be deleted, or + * the TR element you want to delete + * @param {function|null} [callBack] Callback function + * @param {bool} [redraw=true] Redraw the table or not + * @returns {array} The row that was deleted + * @dtopt API + * @deprecated Since v1.10 + * + * @example + * $(document).ready(function() { + * var oTable = $('#example').dataTable(); + * + * // Immediately remove the first row + * oTable.fnDeleteRow( 0 ); + * } ); + */ + this.fnDeleteRow = function( target, callback, redraw ) + { + var api = this.api( true ); + var rows = api.rows( target ); + var settings = rows.settings()[0]; + var data = settings.aoData[ rows[0][0] ]; + + rows.remove(); + + if ( callback ) { + callback.call( this, settings, data ); + } + + if ( redraw === undefined || redraw ) { + api.draw(); + } + + return data; + }; + + + /** + * Restore the table to it's original state in the DOM by removing all of DataTables + * enhancements, alterations to the DOM structure of the table and event listeners. + * @param {boolean} [remove=false] Completely remove the table from the DOM + * @dtopt API + * @deprecated Since v1.10 + * + * @example + * $(document).ready(function() { + * // This example is fairly pointless in reality, but shows how fnDestroy can be used + * var oTable = $('#example').dataTable(); + * oTable.fnDestroy(); + * } ); + */ + this.fnDestroy = function ( remove ) + { + this.api( true ).destroy( remove ); + }; + + + /** + * Redraw the table + * @param {bool} [complete=true] Re-filter and resort (if enabled) the table before the draw. + * @dtopt API + * @deprecated Since v1.10 + * + * @example + * $(document).ready(function() { + * var oTable = $('#example').dataTable(); + * + * // Re-draw the table - you wouldn't want to do it here, but it's an example :-) + * oTable.fnDraw(); + * } ); + */ + this.fnDraw = function( complete ) + { + // Note that this isn't an exact match to the old call to _fnDraw - it takes + // into account the new data, but can hold position. + this.api( true ).draw( complete ); + }; + + + /** + * Filter the input based on data + * @param {string} sInput String to filter the table on + * @param {int|null} [iColumn] Column to limit filtering to + * @param {bool} [bRegex=false] Treat as regular expression or not + * @param {bool} [bSmart=true] Perform smart filtering or not + * @param {bool} [bShowGlobal=true] Show the input global filter in it's input box(es) + * @param {bool} [bCaseInsensitive=true] Do case-insensitive matching (true) or not (false) + * @dtopt API + * @deprecated Since v1.10 + * + * @example + * $(document).ready(function() { + * var oTable = $('#example').dataTable(); + * + * // Sometime later - filter... + * oTable.fnFilter( 'test string' ); + * } ); + */ + this.fnFilter = function( sInput, iColumn, bRegex, bSmart, bShowGlobal, bCaseInsensitive ) + { + var api = this.api( true ); + + if ( iColumn === null || iColumn === undefined ) { + api.search( sInput, bRegex, bSmart, bCaseInsensitive ); + } + else { + api.column( iColumn ).search( sInput, bRegex, bSmart, bCaseInsensitive ); + } + + api.draw(); + }; + + + /** + * Get the data for the whole table, an individual row or an individual cell based on the + * provided parameters. + * @param {int|node} [src] A TR row node, TD/TH cell node or an integer. If given as + * a TR node then the data source for the whole row will be returned. If given as a + * TD/TH cell node then iCol will be automatically calculated and the data for the + * cell returned. If given as an integer, then this is treated as the aoData internal + * data index for the row (see fnGetPosition) and the data for that row used. + * @param {int} [col] Optional column index that you want the data of. + * @returns {array|object|string} If mRow is undefined, then the data for all rows is + * returned. If mRow is defined, just data for that row, and is iCol is + * defined, only data for the designated cell is returned. + * @dtopt API + * @deprecated Since v1.10 + * + * @example + * // Row data + * $(document).ready(function() { + * oTable = $('#example').dataTable(); + * + * oTable.$('tr').click( function () { + * var data = oTable.fnGetData( this ); + * // ... do something with the array / object of data for the row + * } ); + * } ); + * + * @example + * // Individual cell data + * $(document).ready(function() { + * oTable = $('#example').dataTable(); + * + * oTable.$('td').click( function () { + * var sData = oTable.fnGetData( this ); + * alert( 'The cell clicked on had the value of '+sData ); + * } ); + * } ); + */ + this.fnGetData = function( src, col ) + { + var api = this.api( true ); + + if ( src !== undefined ) { + var type = src.nodeName ? src.nodeName.toLowerCase() : ''; + + return col !== undefined || type == 'td' || type == 'th' ? + api.cell( src, col ).data() : + api.row( src ).data() || null; + } + + return api.data().toArray(); + }; + + + /** + * Get an array of the TR nodes that are used in the table's body. Note that you will + * typically want to use the '$' API method in preference to this as it is more + * flexible. + * @param {int} [iRow] Optional row index for the TR element you want + * @returns {array|node} If iRow is undefined, returns an array of all TR elements + * in the table's body, or iRow is defined, just the TR element requested. + * @dtopt API + * @deprecated Since v1.10 + * + * @example + * $(document).ready(function() { + * var oTable = $('#example').dataTable(); + * + * // Get the nodes from the table + * var nNodes = oTable.fnGetNodes( ); + * } ); + */ + this.fnGetNodes = function( iRow ) + { + var api = this.api( true ); + + return iRow !== undefined ? + api.row( iRow ).node() : + api.rows().nodes().flatten().toArray(); + }; + + + /** + * Get the array indexes of a particular cell from it's DOM element + * and column index including hidden columns + * @param {node} node this can either be a TR, TD or TH in the table's body + * @returns {int} If nNode is given as a TR, then a single index is returned, or + * if given as a cell, an array of [row index, column index (visible), + * column index (all)] is given. + * @dtopt API + * @deprecated Since v1.10 + * + * @example + * $(document).ready(function() { + * $('#example tbody td').click( function () { + * // Get the position of the current data from the node + * var aPos = oTable.fnGetPosition( this ); + * + * // Get the data array for this row + * var aData = oTable.fnGetData( aPos[0] ); + * + * // Update the data array and return the value + * aData[ aPos[1] ] = 'clicked'; + * this.innerHTML = 'clicked'; + * } ); + * + * // Init DataTables + * oTable = $('#example').dataTable(); + * } ); + */ + this.fnGetPosition = function( node ) + { + var api = this.api( true ); + var nodeName = node.nodeName.toUpperCase(); + + if ( nodeName == 'TR' ) { + return api.row( node ).index(); + } + else if ( nodeName == 'TD' || nodeName == 'TH' ) { + var cell = api.cell( node ).index(); + + return [ + cell.row, + cell.columnVisible, + cell.column + ]; + } + return null; + }; + + + /** + * Check to see if a row is 'open' or not. + * @param {node} nTr the table row to check + * @returns {boolean} true if the row is currently open, false otherwise + * @dtopt API + * @deprecated Since v1.10 + * + * @example + * $(document).ready(function() { + * var oTable; + * + * // 'open' an information row when a row is clicked on + * $('#example tbody tr').click( function () { + * if ( oTable.fnIsOpen(this) ) { + * oTable.fnClose( this ); + * } else { + * oTable.fnOpen( this, "Temporary row opened", "info_row" ); + * } + * } ); + * + * oTable = $('#example').dataTable(); + * } ); + */ + this.fnIsOpen = function( nTr ) + { + return this.api( true ).row( nTr ).child.isShown(); + }; + + + /** + * This function will place a new row directly after a row which is currently + * on display on the page, with the HTML contents that is passed into the + * function. This can be used, for example, to ask for confirmation that a + * particular record should be deleted. + * @param {node} nTr The table row to 'open' + * @param {string|node|jQuery} mHtml The HTML to put into the row + * @param {string} sClass Class to give the new TD cell + * @returns {node} The row opened. Note that if the table row passed in as the + * first parameter, is not found in the table, this method will silently + * return. + * @dtopt API + * @deprecated Since v1.10 + * + * @example + * $(document).ready(function() { + * var oTable; + * + * // 'open' an information row when a row is clicked on + * $('#example tbody tr').click( function () { + * if ( oTable.fnIsOpen(this) ) { + * oTable.fnClose( this ); + * } else { + * oTable.fnOpen( this, "Temporary row opened", "info_row" ); + * } + * } ); + * + * oTable = $('#example').dataTable(); + * } ); + */ + this.fnOpen = function( nTr, mHtml, sClass ) + { + return this.api( true ) + .row( nTr ) + .child( mHtml, sClass ) + .show() + .child()[0]; + }; + + + /** + * Change the pagination - provides the internal logic for pagination in a simple API + * function. With this function you can have a DataTables table go to the next, + * previous, first or last pages. + * @param {string|int} mAction Paging action to take: "first", "previous", "next" or "last" + * or page number to jump to (integer), note that page 0 is the first page. + * @param {bool} [bRedraw=true] Redraw the table or not + * @dtopt API + * @deprecated Since v1.10 + * + * @example + * $(document).ready(function() { + * var oTable = $('#example').dataTable(); + * oTable.fnPageChange( 'next' ); + * } ); + */ + this.fnPageChange = function ( mAction, bRedraw ) + { + var api = this.api( true ).page( mAction ); + + if ( bRedraw === undefined || bRedraw ) { + api.draw(false); + } + }; + + + /** + * Show a particular column + * @param {int} iCol The column whose display should be changed + * @param {bool} bShow Show (true) or hide (false) the column + * @param {bool} [bRedraw=true] Redraw the table or not + * @dtopt API + * @deprecated Since v1.10 + * + * @example + * $(document).ready(function() { + * var oTable = $('#example').dataTable(); + * + * // Hide the second column after initialisation + * oTable.fnSetColumnVis( 1, false ); + * } ); + */ + this.fnSetColumnVis = function ( iCol, bShow, bRedraw ) + { + var api = this.api( true ).column( iCol ).visible( bShow ); + + if ( bRedraw === undefined || bRedraw ) { + api.columns.adjust().draw(); + } + }; + + + /** + * Get the settings for a particular table for external manipulation + * @returns {object} DataTables settings object. See + * {@link DataTable.models.oSettings} + * @dtopt API + * @deprecated Since v1.10 + * + * @example + * $(document).ready(function() { + * var oTable = $('#example').dataTable(); + * var oSettings = oTable.fnSettings(); + * + * // Show an example parameter from the settings + * alert( oSettings._iDisplayStart ); + * } ); + */ + this.fnSettings = function() + { + return _fnSettingsFromNode( this[_ext.iApiIndex] ); + }; + + + /** + * Sort the table by a particular column + * @param {int} iCol the data index to sort on. Note that this will not match the + * 'display index' if you have hidden data entries + * @dtopt API + * @deprecated Since v1.10 + * + * @example + * $(document).ready(function() { + * var oTable = $('#example').dataTable(); + * + * // Sort immediately with columns 0 and 1 + * oTable.fnSort( [ [0,'asc'], [1,'asc'] ] ); + * } ); + */ + this.fnSort = function( aaSort ) + { + this.api( true ).order( aaSort ).draw(); + }; + + + /** + * Attach a sort listener to an element for a given column + * @param {node} nNode the element to attach the sort listener to + * @param {int} iColumn the column that a click on this node will sort on + * @param {function} [fnCallback] callback function when sort is run + * @dtopt API + * @deprecated Since v1.10 + * + * @example + * $(document).ready(function() { + * var oTable = $('#example').dataTable(); + * + * // Sort on column 1, when 'sorter' is clicked on + * oTable.fnSortListener( document.getElementById('sorter'), 1 ); + * } ); + */ + this.fnSortListener = function( nNode, iColumn, fnCallback ) + { + this.api( true ).order.listener( nNode, iColumn, fnCallback ); + }; + + + /** + * Update a table cell or row - this method will accept either a single value to + * update the cell with, an array of values with one element for each column or + * an object in the same format as the original data source. The function is + * self-referencing in order to make the multi column updates easier. + * @param {object|array|string} mData Data to update the cell/row with + * @param {node|int} mRow TR element you want to update or the aoData index + * @param {int} [iColumn] The column to update, give as null or undefined to + * update a whole row. + * @param {bool} [bRedraw=true] Redraw the table or not + * @param {bool} [bAction=true] Perform pre-draw actions or not + * @returns {int} 0 on success, 1 on error + * @dtopt API + * @deprecated Since v1.10 + * + * @example + * $(document).ready(function() { + * var oTable = $('#example').dataTable(); + * oTable.fnUpdate( 'Example update', 0, 0 ); // Single cell + * oTable.fnUpdate( ['a', 'b', 'c', 'd', 'e'], $('tbody tr')[0] ); // Row + * } ); + */ + this.fnUpdate = function( mData, mRow, iColumn, bRedraw, bAction ) + { + var api = this.api( true ); + + if ( iColumn === undefined || iColumn === null ) { + api.row( mRow ).data( mData ); + } + else { + api.cell( mRow, iColumn ).data( mData ); + } + + if ( bAction === undefined || bAction ) { + api.columns.adjust(); + } + + if ( bRedraw === undefined || bRedraw ) { + api.draw(); + } + return 0; + }; + + + /** + * Provide a common method for plug-ins to check the version of DataTables being used, in order + * to ensure compatibility. + * @param {string} sVersion Version string to check for, in the format "X.Y.Z". Note that the + * formats "X" and "X.Y" are also acceptable. + * @returns {boolean} true if this version of DataTables is greater or equal to the required + * version, or false if this version of DataTales is not suitable + * @method + * @dtopt API + * @deprecated Since v1.10 + * + * @example + * $(document).ready(function() { + * var oTable = $('#example').dataTable(); + * alert( oTable.fnVersionCheck( '1.9.0' ) ); + * } ); + */ + this.fnVersionCheck = _ext.fnVersionCheck; + + + var _that = this; + var emptyInit = options === undefined; + var len = this.length; + + if ( emptyInit ) { + options = {}; + } + + this.oApi = this.internal = _ext.internal; + + // Extend with old style plug-in API methods + for ( var fn in DataTable.ext.internal ) { + if ( fn ) { + this[fn] = _fnExternApiFunc(fn); + } + } + + this.each(function() { + // For each initialisation we want to give it a clean initialisation + // object that can be bashed around + var o = {}; + var oInit = len > 1 ? // optimisation for single table case + _fnExtend( o, options, true ) : + options; + + /*global oInit,_that,emptyInit*/ + var i=0, iLen, j, jLen, k, kLen; + var sId = this.getAttribute( 'id' ); + var bInitHandedOff = false; + var defaults = DataTable.defaults; + var $this = $(this); + + + /* Sanity check */ + if ( this.nodeName.toLowerCase() != 'table' ) + { + _fnLog( null, 0, 'Non-table node initialisation ('+this.nodeName+')', 2 ); + return; + } + + /* Backwards compatibility for the defaults */ + _fnCompatOpts( defaults ); + _fnCompatCols( defaults.column ); + + /* Convert the camel-case defaults to Hungarian */ + _fnCamelToHungarian( defaults, defaults, true ); + _fnCamelToHungarian( defaults.column, defaults.column, true ); + + /* Setting up the initialisation object */ + _fnCamelToHungarian( defaults, $.extend( oInit, $this.data() ) ); + + + + /* Check to see if we are re-initialising a table */ + var allSettings = DataTable.settings; + for ( i=0, iLen=allSettings.length ; i').appendTo(this); + } + oSettings.nTHead = thead[0]; + + var tbody = $this.children('tbody'); + if ( tbody.length === 0 ) + { + tbody = $('
` node is a DataTable table already or not. + * + * @param {node|jquery|string} table Table node, jQuery object or jQuery + * selector for the table to test. Note that if more than more than one + * table is passed on, only the first will be checked + * @returns {boolean} true the table given is a DataTable, or false otherwise + * @static + * @dtopt API-Static + * + * @example + * if ( ! $.fn.DataTable.isDataTable( '#example' ) ) { + * $('#example').dataTable(); + * } + */ + DataTable.isDataTable = DataTable.fnIsDataTable = function ( table ) + { + var t = $(table).get(0); + var is = false; + + $.each( DataTable.settings, function (i, o) { + var head = o.nScrollHead ? $('table', o.nScrollHead)[0] : null; + var foot = o.nScrollFoot ? $('table', o.nScrollFoot)[0] : null; + + if ( o.nTable === t || head === t || foot === t ) { + is = true; + } + } ); + + return is; + }; + + + /** + * Get all DataTable tables that have been initialised - optionally you can + * select to get only currently visible tables. + * + * @param {boolean} [visible=false] Flag to indicate if you want all (default) + * or visible tables only. + * @returns {array} Array of `table` nodes (not DataTable instances) which are + * DataTables + * @static + * @dtopt API-Static + * + * @example + * $.each( $.fn.dataTable.tables(true), function () { + * $(table).DataTable().columns.adjust(); + * } ); + */ + DataTable.tables = DataTable.fnTables = function ( visible ) + { + return $.map( DataTable.settings, function (o) { + if ( !visible || (visible && $(o.nTable).is(':visible')) ) { + return o.nTable; + } + } ); + }; + + + /** + * DataTables utility methods + * + * This namespace provides helper methods that DataTables uses internally to + * create a DataTable, but which are not exclusively used only for DataTables. + * These methods can be used by extension authors to save the duplication of + * code. + * + * @namespace + */ + DataTable.util = { + /** + * Throttle the calls to a function. Arguments and context are maintained + * for the throttled function. + * + * @param {function} fn Function to be called + * @param {integer} freq Call frequency in mS + * @return {function} Wrapped function + */ + throttle: _fnThrottle, + + + /** + * Escape a string such that it can be used in a regular expression + * + * @param {string} sVal string to escape + * @returns {string} escaped string + */ + escapeRegex: _fnEscapeRegex + }; + + + /** + * Convert from camel case parameters to Hungarian notation. This is made public + * for the extensions to provide the same ability as DataTables core to accept + * either the 1.9 style Hungarian notation, or the 1.10+ style camelCase + * parameters. + * + * @param {object} src The model object which holds all parameters that can be + * mapped. + * @param {object} user The object to convert from camel case to Hungarian. + * @param {boolean} force When set to `true`, properties which already have a + * Hungarian value in the `user` object will be overwritten. Otherwise they + * won't be. + */ + DataTable.camelToHungarian = _fnCamelToHungarian; + + + + /** + * + */ + _api_register( '$()', function ( selector, opts ) { + var + rows = this.rows( opts ).nodes(), // Get all rows + jqRows = $(rows); + + return $( [].concat( + jqRows.filter( selector ).toArray(), + jqRows.find( selector ).toArray() + ) ); + } ); + + + // jQuery functions to operate on the tables + $.each( [ 'on', 'one', 'off' ], function (i, key) { + _api_register( key+'()', function ( /* event, handler */ ) { + var args = Array.prototype.slice.call(arguments); + + // Add the `dt` namespace automatically if it isn't already present + if ( ! args[0].match(/\.dt\b/) ) { + args[0] += '.dt'; + } + + var inst = $( this.tables().nodes() ); + inst[key].apply( inst, args ); + return this; + } ); + } ); + + + _api_register( 'clear()', function () { + return this.iterator( 'table', function ( settings ) { + _fnClearTable( settings ); + } ); + } ); + + + _api_register( 'settings()', function () { + return new _Api( this.context, this.context ); + } ); + + + _api_register( 'init()', function () { + var ctx = this.context; + return ctx.length ? ctx[0].oInit : null; + } ); + + + _api_register( 'data()', function () { + return this.iterator( 'table', function ( settings ) { + return _pluck( settings.aoData, '_aData' ); + } ).flatten(); + } ); + + + _api_register( 'destroy()', function ( remove ) { + remove = remove || false; + + return this.iterator( 'table', function ( settings ) { + var orig = settings.nTableWrapper.parentNode; + var classes = settings.oClasses; + var table = settings.nTable; + var tbody = settings.nTBody; + var thead = settings.nTHead; + var tfoot = settings.nTFoot; + var jqTable = $(table); + var jqTbody = $(tbody); + var jqWrapper = $(settings.nTableWrapper); + var rows = $.map( settings.aoData, function (r) { return r.nTr; } ); + var i, ien; + + // Flag to note that the table is currently being destroyed - no action + // should be taken + settings.bDestroying = true; + + // Fire off the destroy callbacks for plug-ins etc + _fnCallbackFire( settings, "aoDestroyCallback", "destroy", [settings] ); + + // If not being removed from the document, make all columns visible + if ( ! remove ) { + new _Api( settings ).columns().visible( true ); + } + + // Blitz all `DT` namespaced events (these are internal events, the + // lowercase, `dt` events are user subscribed and they are responsible + // for removing them + jqWrapper.unbind('.DT').find(':not(tbody *)').unbind('.DT'); + $(window).unbind('.DT-'+settings.sInstance); + + // When scrolling we had to break the table up - restore it + if ( table != thead.parentNode ) { + jqTable.children('thead').detach(); + jqTable.append( thead ); + } + + if ( tfoot && table != tfoot.parentNode ) { + jqTable.children('tfoot').detach(); + jqTable.append( tfoot ); + } + + // Remove the DataTables generated nodes, events and classes + jqTable.detach(); + jqWrapper.detach(); + + settings.aaSorting = []; + settings.aaSortingFixed = []; + _fnSortingClasses( settings ); + + $( rows ).removeClass( settings.asStripeClasses.join(' ') ); + + $('th, td', thead).removeClass( classes.sSortable+' '+ + classes.sSortableAsc+' '+classes.sSortableDesc+' '+classes.sSortableNone + ); + + if ( settings.bJUI ) { + $('th span.'+classes.sSortIcon+ ', td span.'+classes.sSortIcon, thead).detach(); + $('th, td', thead).each( function () { + var wrapper = $('div.'+classes.sSortJUIWrapper, this); + $(this).append( wrapper.contents() ); + wrapper.detach(); + } ); + } + + if ( ! remove && orig ) { + // insertBefore acts like appendChild if !arg[1] + orig.insertBefore( table, settings.nTableReinsertBefore ); + } + + // Add the TR elements back into the table in their original order + jqTbody.children().detach(); + jqTbody.append( rows ); + + // Restore the width of the original table - was read from the style property, + // so we can restore directly to that + jqTable + .css( 'width', settings.sDestroyWidth ) + .removeClass( classes.sTable ); + + // If the were originally stripe classes - then we add them back here. + // Note this is not fool proof (for example if not all rows had stripe + // classes - but it's a good effort without getting carried away + ien = settings.asDestroyStripes.length; + + if ( ien ) { + jqTbody.children().each( function (i) { + $(this).addClass( settings.asDestroyStripes[i % ien] ); + } ); + } + + /* Remove the settings object from the settings array */ + var idx = $.inArray( settings, DataTable.settings ); + if ( idx !== -1 ) { + DataTable.settings.splice( idx, 1 ); + } + } ); + } ); + + + // Add the `every()` method for rows, columns and cells in a compact form + $.each( [ 'column', 'row', 'cell' ], function ( i, type ) { + _api_register( type+'s().every()', function ( fn ) { + return this.iterator( type, function ( settings, idx, idx2 ) { + // idx2 is undefined for rows and columns. + fn.call( new _Api( settings )[ type ]( idx, idx2 ) ); + } ); + } ); + } ); + + + // i18n method for extensions to be able to use the language object from the + // DataTable + _api_register( 'i18n()', function ( token, def, plural ) { + var ctx = this.context[0]; + var resolved = _fnGetObjectDataFn( token )( ctx.oLanguage ); + + if ( resolved === undefined ) { + resolved = def; + } + + if ( plural !== undefined && $.isPlainObject( resolved ) ) { + resolved = resolved[ plural ] !== undefined ? + resolved[ plural ] : + resolved._; + } + + return resolved.replace( '%d', plural ); // nb: plural might be undefined, + } ); + + /** + * Version string for plug-ins to check compatibility. Allowed format is + * `a.b.c-d` where: a:int, b:int, c:int, d:string(dev|beta|alpha). `d` is used + * only for non-release builds. See http://semver.org/ for more information. + * @member + * @type string + * @default Version number + */ + DataTable.version = "1.10.7"; + + /** + * Private data store, containing all of the settings objects that are + * created for the tables on a given page. + * + * Note that the `DataTable.settings` object is aliased to + * `jQuery.fn.dataTableExt` through which it may be accessed and + * manipulated, or `jQuery.fn.dataTable.settings`. + * @member + * @type array + * @default [] + * @private + */ + DataTable.settings = []; + + /** + * Object models container, for the various models that DataTables has + * available to it. These models define the objects that are used to hold + * the active state and configuration of the table. + * @namespace + */ + DataTable.models = {}; + + + + /** + * Template object for the way in which DataTables holds information about + * search information for the global filter and individual column filters. + * @namespace + */ + DataTable.models.oSearch = { + /** + * Flag to indicate if the filtering should be case insensitive or not + * @type boolean + * @default true + */ + "bCaseInsensitive": true, + + /** + * Applied search term + * @type string + * @default Empty string + */ + "sSearch": "", + + /** + * Flag to indicate if the search term should be interpreted as a + * regular expression (true) or not (false) and therefore and special + * regex characters escaped. + * @type boolean + * @default false + */ + "bRegex": false, + + /** + * Flag to indicate if DataTables is to use its smart filtering or not. + * @type boolean + * @default true + */ + "bSmart": true + }; + + + + + /** + * Template object for the way in which DataTables holds information about + * each individual row. This is the object format used for the settings + * aoData array. + * @namespace + */ + DataTable.models.oRow = { + /** + * TR element for the row + * @type node + * @default null + */ + "nTr": null, + + /** + * Array of TD elements for each row. This is null until the row has been + * created. + * @type array nodes + * @default [] + */ + "anCells": null, + + /** + * Data object from the original data source for the row. This is either + * an array if using the traditional form of DataTables, or an object if + * using mData options. The exact type will depend on the passed in + * data from the data source, or will be an array if using DOM a data + * source. + * @type array|object + * @default [] + */ + "_aData": [], + + /** + * Sorting data cache - this array is ostensibly the same length as the + * number of columns (although each index is generated only as it is + * needed), and holds the data that is used for sorting each column in the + * row. We do this cache generation at the start of the sort in order that + * the formatting of the sort data need be done only once for each cell + * per sort. This array should not be read from or written to by anything + * other than the master sorting methods. + * @type array + * @default null + * @private + */ + "_aSortData": null, + + /** + * Per cell filtering data cache. As per the sort data cache, used to + * increase the performance of the filtering in DataTables + * @type array + * @default null + * @private + */ + "_aFilterData": null, + + /** + * Filtering data cache. This is the same as the cell filtering cache, but + * in this case a string rather than an array. This is easily computed with + * a join on `_aFilterData`, but is provided as a cache so the join isn't + * needed on every search (memory traded for performance) + * @type array + * @default null + * @private + */ + "_sFilterRow": null, + + /** + * Cache of the class name that DataTables has applied to the row, so we + * can quickly look at this variable rather than needing to do a DOM check + * on className for the nTr property. + * @type string + * @default Empty string + * @private + */ + "_sRowStripe": "", + + /** + * Denote if the original data source was from the DOM, or the data source + * object. This is used for invalidating data, so DataTables can + * automatically read data from the original source, unless uninstructed + * otherwise. + * @type string + * @default null + * @private + */ + "src": null + }; + + + /** + * Template object for the column information object in DataTables. This object + * is held in the settings aoColumns array and contains all the information that + * DataTables needs about each individual column. + * + * Note that this object is related to {@link DataTable.defaults.column} + * but this one is the internal data store for DataTables's cache of columns. + * It should NOT be manipulated outside of DataTables. Any configuration should + * be done through the initialisation options. + * @namespace + */ + DataTable.models.oColumn = { + /** + * Column index. This could be worked out on-the-fly with $.inArray, but it + * is faster to just hold it as a variable + * @type integer + * @default null + */ + "idx": null, + + /** + * A list of the columns that sorting should occur on when this column + * is sorted. That this property is an array allows multi-column sorting + * to be defined for a column (for example first name / last name columns + * would benefit from this). The values are integers pointing to the + * columns to be sorted on (typically it will be a single integer pointing + * at itself, but that doesn't need to be the case). + * @type array + */ + "aDataSort": null, + + /** + * Define the sorting directions that are applied to the column, in sequence + * as the column is repeatedly sorted upon - i.e. the first value is used + * as the sorting direction when the column if first sorted (clicked on). + * Sort it again (click again) and it will move on to the next index. + * Repeat until loop. + * @type array + */ + "asSorting": null, + + /** + * Flag to indicate if the column is searchable, and thus should be included + * in the filtering or not. + * @type boolean + */ + "bSearchable": null, + + /** + * Flag to indicate if the column is sortable or not. + * @type boolean + */ + "bSortable": null, + + /** + * Flag to indicate if the column is currently visible in the table or not + * @type boolean + */ + "bVisible": null, + + /** + * Store for manual type assignment using the `column.type` option. This + * is held in store so we can manipulate the column's `sType` property. + * @type string + * @default null + * @private + */ + "_sManualType": null, + + /** + * Flag to indicate if HTML5 data attributes should be used as the data + * source for filtering or sorting. True is either are. + * @type boolean + * @default false + * @private + */ + "_bAttrSrc": false, + + /** + * Developer definable function that is called whenever a cell is created (Ajax source, + * etc) or processed for input (DOM source). This can be used as a compliment to mRender + * allowing you to modify the DOM element (add background colour for example) when the + * element is available. + * @type function + * @param {element} nTd The TD node that has been created + * @param {*} sData The Data for the cell + * @param {array|object} oData The data for the whole row + * @param {int} iRow The row index for the aoData data store + * @default null + */ + "fnCreatedCell": null, + + /** + * Function to get data from a cell in a column. You should never + * access data directly through _aData internally in DataTables - always use + * the method attached to this property. It allows mData to function as + * required. This function is automatically assigned by the column + * initialisation method + * @type function + * @param {array|object} oData The data array/object for the array + * (i.e. aoData[]._aData) + * @param {string} sSpecific The specific data type you want to get - + * 'display', 'type' 'filter' 'sort' + * @returns {*} The data for the cell from the given row's data + * @default null + */ + "fnGetData": null, + + /** + * Function to set data for a cell in the column. You should never + * set the data directly to _aData internally in DataTables - always use + * this method. It allows mData to function as required. This function + * is automatically assigned by the column initialisation method + * @type function + * @param {array|object} oData The data array/object for the array + * (i.e. aoData[]._aData) + * @param {*} sValue Value to set + * @default null + */ + "fnSetData": null, + + /** + * Property to read the value for the cells in the column from the data + * source array / object. If null, then the default content is used, if a + * function is given then the return from the function is used. + * @type function|int|string|null + * @default null + */ + "mData": null, + + /** + * Partner property to mData which is used (only when defined) to get + * the data - i.e. it is basically the same as mData, but without the + * 'set' option, and also the data fed to it is the result from mData. + * This is the rendering method to match the data method of mData. + * @type function|int|string|null + * @default null + */ + "mRender": null, + + /** + * Unique header TH/TD element for this column - this is what the sorting + * listener is attached to (if sorting is enabled.) + * @type node + * @default null + */ + "nTh": null, + + /** + * Unique footer TH/TD element for this column (if there is one). Not used + * in DataTables as such, but can be used for plug-ins to reference the + * footer for each column. + * @type node + * @default null + */ + "nTf": null, + + /** + * The class to apply to all TD elements in the table's TBODY for the column + * @type string + * @default null + */ + "sClass": null, + + /** + * When DataTables calculates the column widths to assign to each column, + * it finds the longest string in each column and then constructs a + * temporary table and reads the widths from that. The problem with this + * is that "mmm" is much wider then "iiii", but the latter is a longer + * string - thus the calculation can go wrong (doing it properly and putting + * it into an DOM object and measuring that is horribly(!) slow). Thus as + * a "work around" we provide this option. It will append its value to the + * text that is found to be the longest string for the column - i.e. padding. + * @type string + */ + "sContentPadding": null, + + /** + * Allows a default value to be given for a column's data, and will be used + * whenever a null data source is encountered (this can be because mData + * is set to null, or because the data source itself is null). + * @type string + * @default null + */ + "sDefaultContent": null, + + /** + * Name for the column, allowing reference to the column by name as well as + * by index (needs a lookup to work by name). + * @type string + */ + "sName": null, + + /** + * Custom sorting data type - defines which of the available plug-ins in + * afnSortData the custom sorting will use - if any is defined. + * @type string + * @default std + */ + "sSortDataType": 'std', + + /** + * Class to be applied to the header element when sorting on this column + * @type string + * @default null + */ + "sSortingClass": null, + + /** + * Class to be applied to the header element when sorting on this column - + * when jQuery UI theming is used. + * @type string + * @default null + */ + "sSortingClassJUI": null, + + /** + * Title of the column - what is seen in the TH element (nTh). + * @type string + */ + "sTitle": null, + + /** + * Column sorting and filtering type + * @type string + * @default null + */ + "sType": null, + + /** + * Width of the column + * @type string + * @default null + */ + "sWidth": null, + + /** + * Width of the column when it was first "encountered" + * @type string + * @default null + */ + "sWidthOrig": null + }; + + + /* + * Developer note: The properties of the object below are given in Hungarian + * notation, that was used as the interface for DataTables prior to v1.10, however + * from v1.10 onwards the primary interface is camel case. In order to avoid + * breaking backwards compatibility utterly with this change, the Hungarian + * version is still, internally the primary interface, but is is not documented + * - hence the @name tags in each doc comment. This allows a Javascript function + * to create a map from Hungarian notation to camel case (going the other direction + * would require each property to be listed, which would at around 3K to the size + * of DataTables, while this method is about a 0.5K hit. + * + * Ultimately this does pave the way for Hungarian notation to be dropped + * completely, but that is a massive amount of work and will break current + * installs (therefore is on-hold until v2). + */ + + /** + * Initialisation options that can be given to DataTables at initialisation + * time. + * @namespace + */ + DataTable.defaults = { + /** + * An array of data to use for the table, passed in at initialisation which + * will be used in preference to any data which is already in the DOM. This is + * particularly useful for constructing tables purely in Javascript, for + * example with a custom Ajax call. + * @type array + * @default null + * + * @dtopt Option + * @name DataTable.defaults.data + * + * @example + * // Using a 2D array data source + * $(document).ready( function () { + * $('#example').dataTable( { + * "data": [ + * ['Trident', 'Internet Explorer 4.0', 'Win 95+', 4, 'X'], + * ['Trident', 'Internet Explorer 5.0', 'Win 95+', 5, 'C'], + * ], + * "columns": [ + * { "title": "Engine" }, + * { "title": "Browser" }, + * { "title": "Platform" }, + * { "title": "Version" }, + * { "title": "Grade" } + * ] + * } ); + * } ); + * + * @example + * // Using an array of objects as a data source (`data`) + * $(document).ready( function () { + * $('#example').dataTable( { + * "data": [ + * { + * "engine": "Trident", + * "browser": "Internet Explorer 4.0", + * "platform": "Win 95+", + * "version": 4, + * "grade": "X" + * }, + * { + * "engine": "Trident", + * "browser": "Internet Explorer 5.0", + * "platform": "Win 95+", + * "version": 5, + * "grade": "C" + * } + * ], + * "columns": [ + * { "title": "Engine", "data": "engine" }, + * { "title": "Browser", "data": "browser" }, + * { "title": "Platform", "data": "platform" }, + * { "title": "Version", "data": "version" }, + * { "title": "Grade", "data": "grade" } + * ] + * } ); + * } ); + */ + "aaData": null, + + + /** + * If ordering is enabled, then DataTables will perform a first pass sort on + * initialisation. You can define which column(s) the sort is performed + * upon, and the sorting direction, with this variable. The `sorting` array + * should contain an array for each column to be sorted initially containing + * the column's index and a direction string ('asc' or 'desc'). + * @type array + * @default [[0,'asc']] + * + * @dtopt Option + * @name DataTable.defaults.order + * + * @example + * // Sort by 3rd column first, and then 4th column + * $(document).ready( function() { + * $('#example').dataTable( { + * "order": [[2,'asc'], [3,'desc']] + * } ); + * } ); + * + * // No initial sorting + * $(document).ready( function() { + * $('#example').dataTable( { + * "order": [] + * } ); + * } ); + */ + "aaSorting": [[0,'asc']], + + + /** + * This parameter is basically identical to the `sorting` parameter, but + * cannot be overridden by user interaction with the table. What this means + * is that you could have a column (visible or hidden) which the sorting + * will always be forced on first - any sorting after that (from the user) + * will then be performed as required. This can be useful for grouping rows + * together. + * @type array + * @default null + * + * @dtopt Option + * @name DataTable.defaults.orderFixed + * + * @example + * $(document).ready( function() { + * $('#example').dataTable( { + * "orderFixed": [[0,'asc']] + * } ); + * } ) + */ + "aaSortingFixed": [], + + + /** + * DataTables can be instructed to load data to display in the table from a + * Ajax source. This option defines how that Ajax call is made and where to. + * + * The `ajax` property has three different modes of operation, depending on + * how it is defined. These are: + * + * * `string` - Set the URL from where the data should be loaded from. + * * `object` - Define properties for `jQuery.ajax`. + * * `function` - Custom data get function + * + * `string` + * -------- + * + * As a string, the `ajax` property simply defines the URL from which + * DataTables will load data. + * + * `object` + * -------- + * + * As an object, the parameters in the object are passed to + * [jQuery.ajax](http://api.jquery.com/jQuery.ajax/) allowing fine control + * of the Ajax request. DataTables has a number of default parameters which + * you can override using this option. Please refer to the jQuery + * documentation for a full description of the options available, although + * the following parameters provide additional options in DataTables or + * require special consideration: + * + * * `data` - As with jQuery, `data` can be provided as an object, but it + * can also be used as a function to manipulate the data DataTables sends + * to the server. The function takes a single parameter, an object of + * parameters with the values that DataTables has readied for sending. An + * object may be returned which will be merged into the DataTables + * defaults, or you can add the items to the object that was passed in and + * not return anything from the function. This supersedes `fnServerParams` + * from DataTables 1.9-. + * + * * `dataSrc` - By default DataTables will look for the property `data` (or + * `aaData` for compatibility with DataTables 1.9-) when obtaining data + * from an Ajax source or for server-side processing - this parameter + * allows that property to be changed. You can use Javascript dotted + * object notation to get a data source for multiple levels of nesting, or + * it my be used as a function. As a function it takes a single parameter, + * the JSON returned from the server, which can be manipulated as + * required, with the returned value being that used by DataTables as the + * data source for the table. This supersedes `sAjaxDataProp` from + * DataTables 1.9-. + * + * * `success` - Should not be overridden it is used internally in + * DataTables. To manipulate / transform the data returned by the server + * use `ajax.dataSrc`, or use `ajax` as a function (see below). + * + * `function` + * ---------- + * + * As a function, making the Ajax call is left up to yourself allowing + * complete control of the Ajax request. Indeed, if desired, a method other + * than Ajax could be used to obtain the required data, such as Web storage + * or an AIR database. + * + * The function is given four parameters and no return is required. The + * parameters are: + * + * 1. _object_ - Data to send to the server + * 2. _function_ - Callback function that must be executed when the required + * data has been obtained. That data should be passed into the callback + * as the only parameter + * 3. _object_ - DataTables settings object for the table + * + * Note that this supersedes `fnServerData` from DataTables 1.9-. + * + * @type string|object|function + * @default null + * + * @dtopt Option + * @name DataTable.defaults.ajax + * @since 1.10.0 + * + * @example + * // Get JSON data from a file via Ajax. + * // Note DataTables expects data in the form `{ data: [ ...data... ] }` by default). + * $('#example').dataTable( { + * "ajax": "data.json" + * } ); + * + * @example + * // Get JSON data from a file via Ajax, using `dataSrc` to change + * // `data` to `tableData` (i.e. `{ tableData: [ ...data... ] }`) + * $('#example').dataTable( { + * "ajax": { + * "url": "data.json", + * "dataSrc": "tableData" + * } + * } ); + * + * @example + * // Get JSON data from a file via Ajax, using `dataSrc` to read data + * // from a plain array rather than an array in an object + * $('#example').dataTable( { + * "ajax": { + * "url": "data.json", + * "dataSrc": "" + * } + * } ); + * + * @example + * // Manipulate the data returned from the server - add a link to data + * // (note this can, should, be done using `render` for the column - this + * // is just a simple example of how the data can be manipulated). + * $('#example').dataTable( { + * "ajax": { + * "url": "data.json", + * "dataSrc": function ( json ) { + * for ( var i=0, ien=json.length ; iView message'; + * } + * return json; + * } + * } + * } ); + * + * @example + * // Add data to the request + * $('#example').dataTable( { + * "ajax": { + * "url": "data.json", + * "data": function ( d ) { + * return { + * "extra_search": $('#extra').val() + * }; + * } + * } + * } ); + * + * @example + * // Send request as POST + * $('#example').dataTable( { + * "ajax": { + * "url": "data.json", + * "type": "POST" + * } + * } ); + * + * @example + * // Get the data from localStorage (could interface with a form for + * // adding, editing and removing rows). + * $('#example').dataTable( { + * "ajax": function (data, callback, settings) { + * callback( + * JSON.parse( localStorage.getItem('dataTablesData') ) + * ); + * } + * } ); + */ + "ajax": null, + + + /** + * This parameter allows you to readily specify the entries in the length drop + * down menu that DataTables shows when pagination is enabled. It can be + * either a 1D array of options which will be used for both the displayed + * option and the value, or a 2D array which will use the array in the first + * position as the value, and the array in the second position as the + * displayed options (useful for language strings such as 'All'). + * + * Note that the `pageLength` property will be automatically set to the + * first value given in this array, unless `pageLength` is also provided. + * @type array + * @default [ 10, 25, 50, 100 ] + * + * @dtopt Option + * @name DataTable.defaults.lengthMenu + * + * @example + * $(document).ready( function() { + * $('#example').dataTable( { + * "lengthMenu": [[10, 25, 50, -1], [10, 25, 50, "All"]] + * } ); + * } ); + */ + "aLengthMenu": [ 10, 25, 50, 100 ], + + + /** + * The `columns` option in the initialisation parameter allows you to define + * details about the way individual columns behave. For a full list of + * column options that can be set, please see + * {@link DataTable.defaults.column}. Note that if you use `columns` to + * define your columns, you must have an entry in the array for every single + * column that you have in your table (these can be null if you don't which + * to specify any options). + * @member + * + * @name DataTable.defaults.column + */ + "aoColumns": null, + + /** + * Very similar to `columns`, `columnDefs` allows you to target a specific + * column, multiple columns, or all columns, using the `targets` property of + * each object in the array. This allows great flexibility when creating + * tables, as the `columnDefs` arrays can be of any length, targeting the + * columns you specifically want. `columnDefs` may use any of the column + * options available: {@link DataTable.defaults.column}, but it _must_ + * have `targets` defined in each object in the array. Values in the `targets` + * array may be: + *
    + *
  • a string - class name will be matched on the TH for the column
  • + *
  • 0 or a positive integer - column index counting from the left
  • + *
  • a negative integer - column index counting from the right
  • + *
  • the string "_all" - all columns (i.e. assign a default)
  • + *
+ * @member + * + * @name DataTable.defaults.columnDefs + */ + "aoColumnDefs": null, + + + /** + * Basically the same as `search`, this parameter defines the individual column + * filtering state at initialisation time. The array must be of the same size + * as the number of columns, and each element be an object with the parameters + * `search` and `escapeRegex` (the latter is optional). 'null' is also + * accepted and the default will be used. + * @type array + * @default [] + * + * @dtopt Option + * @name DataTable.defaults.searchCols + * + * @example + * $(document).ready( function() { + * $('#example').dataTable( { + * "searchCols": [ + * null, + * { "search": "My filter" }, + * null, + * { "search": "^[0-9]", "escapeRegex": false } + * ] + * } ); + * } ) + */ + "aoSearchCols": [], + + + /** + * An array of CSS classes that should be applied to displayed rows. This + * array may be of any length, and DataTables will apply each class + * sequentially, looping when required. + * @type array + * @default null Will take the values determined by the `oClasses.stripe*` + * options + * + * @dtopt Option + * @name DataTable.defaults.stripeClasses + * + * @example + * $(document).ready( function() { + * $('#example').dataTable( { + * "stripeClasses": [ 'strip1', 'strip2', 'strip3' ] + * } ); + * } ) + */ + "asStripeClasses": null, + + + /** + * Enable or disable automatic column width calculation. This can be disabled + * as an optimisation (it takes some time to calculate the widths) if the + * tables widths are passed in using `columns`. + * @type boolean + * @default true + * + * @dtopt Features + * @name DataTable.defaults.autoWidth + * + * @example + * $(document).ready( function () { + * $('#example').dataTable( { + * "autoWidth": false + * } ); + * } ); + */ + "bAutoWidth": true, + + + /** + * Deferred rendering can provide DataTables with a huge speed boost when you + * are using an Ajax or JS data source for the table. This option, when set to + * true, will cause DataTables to defer the creation of the table elements for + * each row until they are needed for a draw - saving a significant amount of + * time. + * @type boolean + * @default false + * + * @dtopt Features + * @name DataTable.defaults.deferRender + * + * @example + * $(document).ready( function() { + * $('#example').dataTable( { + * "ajax": "sources/arrays.txt", + * "deferRender": true + * } ); + * } ); + */ + "bDeferRender": false, + + + /** + * Replace a DataTable which matches the given selector and replace it with + * one which has the properties of the new initialisation object passed. If no + * table matches the selector, then the new DataTable will be constructed as + * per normal. + * @type boolean + * @default false + * + * @dtopt Options + * @name DataTable.defaults.destroy + * + * @example + * $(document).ready( function() { + * $('#example').dataTable( { + * "srollY": "200px", + * "paginate": false + * } ); + * + * // Some time later.... + * $('#example').dataTable( { + * "filter": false, + * "destroy": true + * } ); + * } ); + */ + "bDestroy": false, + + + /** + * Enable or disable filtering of data. Filtering in DataTables is "smart" in + * that it allows the end user to input multiple words (space separated) and + * will match a row containing those words, even if not in the order that was + * specified (this allow matching across multiple columns). Note that if you + * wish to use filtering in DataTables this must remain 'true' - to remove the + * default filtering input box and retain filtering abilities, please use + * {@link DataTable.defaults.dom}. + * @type boolean + * @default true + * + * @dtopt Features + * @name DataTable.defaults.searching + * + * @example + * $(document).ready( function () { + * $('#example').dataTable( { + * "searching": false + * } ); + * } ); + */ + "bFilter": true, + + + /** + * Enable or disable the table information display. This shows information + * about the data that is currently visible on the page, including information + * about filtered data if that action is being performed. + * @type boolean + * @default true + * + * @dtopt Features + * @name DataTable.defaults.info + * + * @example + * $(document).ready( function () { + * $('#example').dataTable( { + * "info": false + * } ); + * } ); + */ + "bInfo": true, + + + /** + * Enable jQuery UI ThemeRoller support (required as ThemeRoller requires some + * slightly different and additional mark-up from what DataTables has + * traditionally used). + * @type boolean + * @default false + * + * @dtopt Features + * @name DataTable.defaults.jQueryUI + * + * @example + * $(document).ready( function() { + * $('#example').dataTable( { + * "jQueryUI": true + * } ); + * } ); + */ + "bJQueryUI": false, + + + /** + * Allows the end user to select the size of a formatted page from a select + * menu (sizes are 10, 25, 50 and 100). Requires pagination (`paginate`). + * @type boolean + * @default true + * + * @dtopt Features + * @name DataTable.defaults.lengthChange + * + * @example + * $(document).ready( function () { + * $('#example').dataTable( { + * "lengthChange": false + * } ); + * } ); + */ + "bLengthChange": true, + + + /** + * Enable or disable pagination. + * @type boolean + * @default true + * + * @dtopt Features + * @name DataTable.defaults.paging + * + * @example + * $(document).ready( function () { + * $('#example').dataTable( { + * "paging": false + * } ); + * } ); + */ + "bPaginate": true, + + + /** + * Enable or disable the display of a 'processing' indicator when the table is + * being processed (e.g. a sort). This is particularly useful for tables with + * large amounts of data where it can take a noticeable amount of time to sort + * the entries. + * @type boolean + * @default false + * + * @dtopt Features + * @name DataTable.defaults.processing + * + * @example + * $(document).ready( function () { + * $('#example').dataTable( { + * "processing": true + * } ); + * } ); + */ + "bProcessing": false, + + + /** + * Retrieve the DataTables object for the given selector. Note that if the + * table has already been initialised, this parameter will cause DataTables + * to simply return the object that has already been set up - it will not take + * account of any changes you might have made to the initialisation object + * passed to DataTables (setting this parameter to true is an acknowledgement + * that you understand this). `destroy` can be used to reinitialise a table if + * you need. + * @type boolean + * @default false + * + * @dtopt Options + * @name DataTable.defaults.retrieve + * + * @example + * $(document).ready( function() { + * initTable(); + * tableActions(); + * } ); + * + * function initTable () + * { + * return $('#example').dataTable( { + * "scrollY": "200px", + * "paginate": false, + * "retrieve": true + * } ); + * } + * + * function tableActions () + * { + * var table = initTable(); + * // perform API operations with oTable + * } + */ + "bRetrieve": false, + + + /** + * When vertical (y) scrolling is enabled, DataTables will force the height of + * the table's viewport to the given height at all times (useful for layout). + * However, this can look odd when filtering data down to a small data set, + * and the footer is left "floating" further down. This parameter (when + * enabled) will cause DataTables to collapse the table's viewport down when + * the result set will fit within the given Y height. + * @type boolean + * @default false + * + * @dtopt Options + * @name DataTable.defaults.scrollCollapse + * + * @example + * $(document).ready( function() { + * $('#example').dataTable( { + * "scrollY": "200", + * "scrollCollapse": true + * } ); + * } ); + */ + "bScrollCollapse": false, + + + /** + * Configure DataTables to use server-side processing. Note that the + * `ajax` parameter must also be given in order to give DataTables a + * source to obtain the required data for each draw. + * @type boolean + * @default false + * + * @dtopt Features + * @dtopt Server-side + * @name DataTable.defaults.serverSide + * + * @example + * $(document).ready( function () { + * $('#example').dataTable( { + * "serverSide": true, + * "ajax": "xhr.php" + * } ); + * } ); + */ + "bServerSide": false, + + + /** + * Enable or disable sorting of columns. Sorting of individual columns can be + * disabled by the `sortable` option for each column. + * @type boolean + * @default true + * + * @dtopt Features + * @name DataTable.defaults.ordering + * + * @example + * $(document).ready( function () { + * $('#example').dataTable( { + * "ordering": false + * } ); + * } ); + */ + "bSort": true, + + + /** + * Enable or display DataTables' ability to sort multiple columns at the + * same time (activated by shift-click by the user). + * @type boolean + * @default true + * + * @dtopt Options + * @name DataTable.defaults.orderMulti + * + * @example + * // Disable multiple column sorting ability + * $(document).ready( function () { + * $('#example').dataTable( { + * "orderMulti": false + * } ); + * } ); + */ + "bSortMulti": true, + + + /** + * Allows control over whether DataTables should use the top (true) unique + * cell that is found for a single column, or the bottom (false - default). + * This is useful when using complex headers. + * @type boolean + * @default false + * + * @dtopt Options + * @name DataTable.defaults.orderCellsTop + * + * @example + * $(document).ready( function() { + * $('#example').dataTable( { + * "orderCellsTop": true + * } ); + * } ); + */ + "bSortCellsTop": false, + + + /** + * Enable or disable the addition of the classes `sorting\_1`, `sorting\_2` and + * `sorting\_3` to the columns which are currently being sorted on. This is + * presented as a feature switch as it can increase processing time (while + * classes are removed and added) so for large data sets you might want to + * turn this off. + * @type boolean + * @default true + * + * @dtopt Features + * @name DataTable.defaults.orderClasses + * + * @example + * $(document).ready( function () { + * $('#example').dataTable( { + * "orderClasses": false + * } ); + * } ); + */ + "bSortClasses": true, + + + /** + * Enable or disable state saving. When enabled HTML5 `localStorage` will be + * used to save table display information such as pagination information, + * display length, filtering and sorting. As such when the end user reloads + * the page the display display will match what thy had previously set up. + * + * Due to the use of `localStorage` the default state saving is not supported + * in IE6 or 7. If state saving is required in those browsers, use + * `stateSaveCallback` to provide a storage solution such as cookies. + * @type boolean + * @default false + * + * @dtopt Features + * @name DataTable.defaults.stateSave + * + * @example + * $(document).ready( function () { + * $('#example').dataTable( { + * "stateSave": true + * } ); + * } ); + */ + "bStateSave": false, + + + /** + * This function is called when a TR element is created (and all TD child + * elements have been inserted), or registered if using a DOM source, allowing + * manipulation of the TR element (adding classes etc). + * @type function + * @param {node} row "TR" element for the current row + * @param {array} data Raw data array for this row + * @param {int} dataIndex The index of this row in the internal aoData array + * + * @dtopt Callbacks + * @name DataTable.defaults.createdRow + * + * @example + * $(document).ready( function() { + * $('#example').dataTable( { + * "createdRow": function( row, data, dataIndex ) { + * // Bold the grade for all 'A' grade browsers + * if ( data[4] == "A" ) + * { + * $('td:eq(4)', row).html( 'A' ); + * } + * } + * } ); + * } ); + */ + "fnCreatedRow": null, + + + /** + * This function is called on every 'draw' event, and allows you to + * dynamically modify any aspect you want about the created DOM. + * @type function + * @param {object} settings DataTables settings object + * + * @dtopt Callbacks + * @name DataTable.defaults.drawCallback + * + * @example + * $(document).ready( function() { + * $('#example').dataTable( { + * "drawCallback": function( settings ) { + * alert( 'DataTables has redrawn the table' ); + * } + * } ); + * } ); + */ + "fnDrawCallback": null, + + + /** + * Identical to fnHeaderCallback() but for the table footer this function + * allows you to modify the table footer on every 'draw' event. + * @type function + * @param {node} foot "TR" element for the footer + * @param {array} data Full table data (as derived from the original HTML) + * @param {int} start Index for the current display starting point in the + * display array + * @param {int} end Index for the current display ending point in the + * display array + * @param {array int} display Index array to translate the visual position + * to the full data array + * + * @dtopt Callbacks + * @name DataTable.defaults.footerCallback + * + * @example + * $(document).ready( function() { + * $('#example').dataTable( { + * "footerCallback": function( tfoot, data, start, end, display ) { + * tfoot.getElementsByTagName('th')[0].innerHTML = "Starting index is "+start; + * } + * } ); + * } ) + */ + "fnFooterCallback": null, + + + /** + * When rendering large numbers in the information element for the table + * (i.e. "Showing 1 to 10 of 57 entries") DataTables will render large numbers + * to have a comma separator for the 'thousands' units (e.g. 1 million is + * rendered as "1,000,000") to help readability for the end user. This + * function will override the default method DataTables uses. + * @type function + * @member + * @param {int} toFormat number to be formatted + * @returns {string} formatted string for DataTables to show the number + * + * @dtopt Callbacks + * @name DataTable.defaults.formatNumber + * + * @example + * // Format a number using a single quote for the separator (note that + * // this can also be done with the language.thousands option) + * $(document).ready( function() { + * $('#example').dataTable( { + * "formatNumber": function ( toFormat ) { + * return toFormat.toString().replace( + * /\B(?=(\d{3})+(?!\d))/g, "'" + * ); + * }; + * } ); + * } ); + */ + "fnFormatNumber": function ( toFormat ) { + return toFormat.toString().replace( + /\B(?=(\d{3})+(?!\d))/g, + this.oLanguage.sThousands + ); + }, + + + /** + * This function is called on every 'draw' event, and allows you to + * dynamically modify the header row. This can be used to calculate and + * display useful information about the table. + * @type function + * @param {node} head "TR" element for the header + * @param {array} data Full table data (as derived from the original HTML) + * @param {int} start Index for the current display starting point in the + * display array + * @param {int} end Index for the current display ending point in the + * display array + * @param {array int} display Index array to translate the visual position + * to the full data array + * + * @dtopt Callbacks + * @name DataTable.defaults.headerCallback + * + * @example + * $(document).ready( function() { + * $('#example').dataTable( { + * "fheaderCallback": function( head, data, start, end, display ) { + * head.getElementsByTagName('th')[0].innerHTML = "Displaying "+(end-start)+" records"; + * } + * } ); + * } ) + */ + "fnHeaderCallback": null, + + + /** + * The information element can be used to convey information about the current + * state of the table. Although the internationalisation options presented by + * DataTables are quite capable of dealing with most customisations, there may + * be times where you wish to customise the string further. This callback + * allows you to do exactly that. + * @type function + * @param {object} oSettings DataTables settings object + * @param {int} start Starting position in data for the draw + * @param {int} end End position in data for the draw + * @param {int} max Total number of rows in the table (regardless of + * filtering) + * @param {int} total Total number of rows in the data set, after filtering + * @param {string} pre The string that DataTables has formatted using it's + * own rules + * @returns {string} The string to be displayed in the information element. + * + * @dtopt Callbacks + * @name DataTable.defaults.infoCallback + * + * @example + * $('#example').dataTable( { + * "infoCallback": function( settings, start, end, max, total, pre ) { + * return start +" to "+ end; + * } + * } ); + */ + "fnInfoCallback": null, + + + /** + * Called when the table has been initialised. Normally DataTables will + * initialise sequentially and there will be no need for this function, + * however, this does not hold true when using external language information + * since that is obtained using an async XHR call. + * @type function + * @param {object} settings DataTables settings object + * @param {object} json The JSON object request from the server - only + * present if client-side Ajax sourced data is used + * + * @dtopt Callbacks + * @name DataTable.defaults.initComplete + * + * @example + * $(document).ready( function() { + * $('#example').dataTable( { + * "initComplete": function(settings, json) { + * alert( 'DataTables has finished its initialisation.' ); + * } + * } ); + * } ) + */ + "fnInitComplete": null, + + + /** + * Called at the very start of each table draw and can be used to cancel the + * draw by returning false, any other return (including undefined) results in + * the full draw occurring). + * @type function + * @param {object} settings DataTables settings object + * @returns {boolean} False will cancel the draw, anything else (including no + * return) will allow it to complete. + * + * @dtopt Callbacks + * @name DataTable.defaults.preDrawCallback + * + * @example + * $(document).ready( function() { + * $('#example').dataTable( { + * "preDrawCallback": function( settings ) { + * if ( $('#test').val() == 1 ) { + * return false; + * } + * } + * } ); + * } ); + */ + "fnPreDrawCallback": null, + + + /** + * This function allows you to 'post process' each row after it have been + * generated for each table draw, but before it is rendered on screen. This + * function might be used for setting the row class name etc. + * @type function + * @param {node} row "TR" element for the current row + * @param {array} data Raw data array for this row + * @param {int} displayIndex The display index for the current table draw + * @param {int} displayIndexFull The index of the data in the full list of + * rows (after filtering) + * + * @dtopt Callbacks + * @name DataTable.defaults.rowCallback + * + * @example + * $(document).ready( function() { + * $('#example').dataTable( { + * "rowCallback": function( row, data, displayIndex, displayIndexFull ) { + * // Bold the grade for all 'A' grade browsers + * if ( data[4] == "A" ) { + * $('td:eq(4)', row).html( 'A' ); + * } + * } + * } ); + * } ); + */ + "fnRowCallback": null, + + + /** + * __Deprecated__ The functionality provided by this parameter has now been + * superseded by that provided through `ajax`, which should be used instead. + * + * This parameter allows you to override the default function which obtains + * the data from the server so something more suitable for your application. + * For example you could use POST data, or pull information from a Gears or + * AIR database. + * @type function + * @member + * @param {string} source HTTP source to obtain the data from (`ajax`) + * @param {array} data A key/value pair object containing the data to send + * to the server + * @param {function} callback to be called on completion of the data get + * process that will draw the data on the page. + * @param {object} settings DataTables settings object + * + * @dtopt Callbacks + * @dtopt Server-side + * @name DataTable.defaults.serverData + * + * @deprecated 1.10. Please use `ajax` for this functionality now. + */ + "fnServerData": null, + + + /** + * __Deprecated__ The functionality provided by this parameter has now been + * superseded by that provided through `ajax`, which should be used instead. + * + * It is often useful to send extra data to the server when making an Ajax + * request - for example custom filtering information, and this callback + * function makes it trivial to send extra information to the server. The + * passed in parameter is the data set that has been constructed by + * DataTables, and you can add to this or modify it as you require. + * @type function + * @param {array} data Data array (array of objects which are name/value + * pairs) that has been constructed by DataTables and will be sent to the + * server. In the case of Ajax sourced data with server-side processing + * this will be an empty array, for server-side processing there will be a + * significant number of parameters! + * @returns {undefined} Ensure that you modify the data array passed in, + * as this is passed by reference. + * + * @dtopt Callbacks + * @dtopt Server-side + * @name DataTable.defaults.serverParams + * + * @deprecated 1.10. Please use `ajax` for this functionality now. + */ + "fnServerParams": null, + + + /** + * Load the table state. With this function you can define from where, and how, the + * state of a table is loaded. By default DataTables will load from `localStorage` + * but you might wish to use a server-side database or cookies. + * @type function + * @member + * @param {object} settings DataTables settings object + * @return {object} The DataTables state object to be loaded + * + * @dtopt Callbacks + * @name DataTable.defaults.stateLoadCallback + * + * @example + * $(document).ready( function() { + * $('#example').dataTable( { + * "stateSave": true, + * "stateLoadCallback": function (settings) { + * var o; + * + * // Send an Ajax request to the server to get the data. Note that + * // this is a synchronous request. + * $.ajax( { + * "url": "/state_load", + * "async": false, + * "dataType": "json", + * "success": function (json) { + * o = json; + * } + * } ); + * + * return o; + * } + * } ); + * } ); + */ + "fnStateLoadCallback": function ( settings ) { + try { + return JSON.parse( + (settings.iStateDuration === -1 ? sessionStorage : localStorage).getItem( + 'DataTables_'+settings.sInstance+'_'+location.pathname + ) + ); + } catch (e) {} + }, + + + /** + * Callback which allows modification of the saved state prior to loading that state. + * This callback is called when the table is loading state from the stored data, but + * prior to the settings object being modified by the saved state. Note that for + * plug-in authors, you should use the `stateLoadParams` event to load parameters for + * a plug-in. + * @type function + * @param {object} settings DataTables settings object + * @param {object} data The state object that is to be loaded + * + * @dtopt Callbacks + * @name DataTable.defaults.stateLoadParams + * + * @example + * // Remove a saved filter, so filtering is never loaded + * $(document).ready( function() { + * $('#example').dataTable( { + * "stateSave": true, + * "stateLoadParams": function (settings, data) { + * data.oSearch.sSearch = ""; + * } + * } ); + * } ); + * + * @example + * // Disallow state loading by returning false + * $(document).ready( function() { + * $('#example').dataTable( { + * "stateSave": true, + * "stateLoadParams": function (settings, data) { + * return false; + * } + * } ); + * } ); + */ + "fnStateLoadParams": null, + + + /** + * Callback that is called when the state has been loaded from the state saving method + * and the DataTables settings object has been modified as a result of the loaded state. + * @type function + * @param {object} settings DataTables settings object + * @param {object} data The state object that was loaded + * + * @dtopt Callbacks + * @name DataTable.defaults.stateLoaded + * + * @example + * // Show an alert with the filtering value that was saved + * $(document).ready( function() { + * $('#example').dataTable( { + * "stateSave": true, + * "stateLoaded": function (settings, data) { + * alert( 'Saved filter was: '+data.oSearch.sSearch ); + * } + * } ); + * } ); + */ + "fnStateLoaded": null, + + + /** + * Save the table state. This function allows you to define where and how the state + * information for the table is stored By default DataTables will use `localStorage` + * but you might wish to use a server-side database or cookies. + * @type function + * @member + * @param {object} settings DataTables settings object + * @param {object} data The state object to be saved + * + * @dtopt Callbacks + * @name DataTable.defaults.stateSaveCallback + * + * @example + * $(document).ready( function() { + * $('#example').dataTable( { + * "stateSave": true, + * "stateSaveCallback": function (settings, data) { + * // Send an Ajax request to the server with the state object + * $.ajax( { + * "url": "/state_save", + * "data": data, + * "dataType": "json", + * "method": "POST" + * "success": function () {} + * } ); + * } + * } ); + * } ); + */ + "fnStateSaveCallback": function ( settings, data ) { + try { + (settings.iStateDuration === -1 ? sessionStorage : localStorage).setItem( + 'DataTables_'+settings.sInstance+'_'+location.pathname, + JSON.stringify( data ) + ); + } catch (e) {} + }, + + + /** + * Callback which allows modification of the state to be saved. Called when the table + * has changed state a new state save is required. This method allows modification of + * the state saving object prior to actually doing the save, including addition or + * other state properties or modification. Note that for plug-in authors, you should + * use the `stateSaveParams` event to save parameters for a plug-in. + * @type function + * @param {object} settings DataTables settings object + * @param {object} data The state object to be saved + * + * @dtopt Callbacks + * @name DataTable.defaults.stateSaveParams + * + * @example + * // Remove a saved filter, so filtering is never saved + * $(document).ready( function() { + * $('#example').dataTable( { + * "stateSave": true, + * "stateSaveParams": function (settings, data) { + * data.oSearch.sSearch = ""; + * } + * } ); + * } ); + */ + "fnStateSaveParams": null, + + + /** + * Duration for which the saved state information is considered valid. After this period + * has elapsed the state will be returned to the default. + * Value is given in seconds. + * @type int + * @default 7200 (2 hours) + * + * @dtopt Options + * @name DataTable.defaults.stateDuration + * + * @example + * $(document).ready( function() { + * $('#example').dataTable( { + * "stateDuration": 60*60*24; // 1 day + * } ); + * } ) + */ + "iStateDuration": 7200, + + + /** + * When enabled DataTables will not make a request to the server for the first + * page draw - rather it will use the data already on the page (no sorting etc + * will be applied to it), thus saving on an XHR at load time. `deferLoading` + * is used to indicate that deferred loading is required, but it is also used + * to tell DataTables how many records there are in the full table (allowing + * the information element and pagination to be displayed correctly). In the case + * where a filtering is applied to the table on initial load, this can be + * indicated by giving the parameter as an array, where the first element is + * the number of records available after filtering and the second element is the + * number of records without filtering (allowing the table information element + * to be shown correctly). + * @type int | array + * @default null + * + * @dtopt Options + * @name DataTable.defaults.deferLoading + * + * @example + * // 57 records available in the table, no filtering applied + * $(document).ready( function() { + * $('#example').dataTable( { + * "serverSide": true, + * "ajax": "scripts/server_processing.php", + * "deferLoading": 57 + * } ); + * } ); + * + * @example + * // 57 records after filtering, 100 without filtering (an initial filter applied) + * $(document).ready( function() { + * $('#example').dataTable( { + * "serverSide": true, + * "ajax": "scripts/server_processing.php", + * "deferLoading": [ 57, 100 ], + * "search": { + * "search": "my_filter" + * } + * } ); + * } ); + */ + "iDeferLoading": null, + + + /** + * Number of rows to display on a single page when using pagination. If + * feature enabled (`lengthChange`) then the end user will be able to override + * this to a custom setting using a pop-up menu. + * @type int + * @default 10 + * + * @dtopt Options + * @name DataTable.defaults.pageLength + * + * @example + * $(document).ready( function() { + * $('#example').dataTable( { + * "pageLength": 50 + * } ); + * } ) + */ + "iDisplayLength": 10, + + + /** + * Define the starting point for data display when using DataTables with + * pagination. Note that this parameter is the number of records, rather than + * the page number, so if you have 10 records per page and want to start on + * the third page, it should be "20". + * @type int + * @default 0 + * + * @dtopt Options + * @name DataTable.defaults.displayStart + * + * @example + * $(document).ready( function() { + * $('#example').dataTable( { + * "displayStart": 20 + * } ); + * } ) + */ + "iDisplayStart": 0, + + + /** + * By default DataTables allows keyboard navigation of the table (sorting, paging, + * and filtering) by adding a `tabindex` attribute to the required elements. This + * allows you to tab through the controls and press the enter key to activate them. + * The tabindex is default 0, meaning that the tab follows the flow of the document. + * You can overrule this using this parameter if you wish. Use a value of -1 to + * disable built-in keyboard navigation. + * @type int + * @default 0 + * + * @dtopt Options + * @name DataTable.defaults.tabIndex + * + * @example + * $(document).ready( function() { + * $('#example').dataTable( { + * "tabIndex": 1 + * } ); + * } ); + */ + "iTabIndex": 0, + + + /** + * Classes that DataTables assigns to the various components and features + * that it adds to the HTML table. This allows classes to be configured + * during initialisation in addition to through the static + * {@link DataTable.ext.oStdClasses} object). + * @namespace + * @name DataTable.defaults.classes + */ + "oClasses": {}, + + + /** + * All strings that DataTables uses in the user interface that it creates + * are defined in this object, allowing you to modified them individually or + * completely replace them all as required. + * @namespace + * @name DataTable.defaults.language + */ + "oLanguage": { + /** + * Strings that are used for WAI-ARIA labels and controls only (these are not + * actually visible on the page, but will be read by screenreaders, and thus + * must be internationalised as well). + * @namespace + * @name DataTable.defaults.language.aria + */ + "oAria": { + /** + * ARIA label that is added to the table headers when the column may be + * sorted ascending by activing the column (click or return when focused). + * Note that the column header is prefixed to this string. + * @type string + * @default : activate to sort column ascending + * + * @dtopt Language + * @name DataTable.defaults.language.aria.sortAscending + * + * @example + * $(document).ready( function() { + * $('#example').dataTable( { + * "language": { + * "aria": { + * "sortAscending": " - click/return to sort ascending" + * } + * } + * } ); + * } ); + */ + "sSortAscending": ": activate to sort column ascending", + + /** + * ARIA label that is added to the table headers when the column may be + * sorted descending by activing the column (click or return when focused). + * Note that the column header is prefixed to this string. + * @type string + * @default : activate to sort column ascending + * + * @dtopt Language + * @name DataTable.defaults.language.aria.sortDescending + * + * @example + * $(document).ready( function() { + * $('#example').dataTable( { + * "language": { + * "aria": { + * "sortDescending": " - click/return to sort descending" + * } + * } + * } ); + * } ); + */ + "sSortDescending": ": activate to sort column descending" + }, + + /** + * Pagination string used by DataTables for the built-in pagination + * control types. + * @namespace + * @name DataTable.defaults.language.paginate + */ + "oPaginate": { + /** + * Text to use when using the 'full_numbers' type of pagination for the + * button to take the user to the first page. + * @type string + * @default First + * + * @dtopt Language + * @name DataTable.defaults.language.paginate.first + * + * @example + * $(document).ready( function() { + * $('#example').dataTable( { + * "language": { + * "paginate": { + * "first": "First page" + * } + * } + * } ); + * } ); + */ + "sFirst": "First", + + + /** + * Text to use when using the 'full_numbers' type of pagination for the + * button to take the user to the last page. + * @type string + * @default Last + * + * @dtopt Language + * @name DataTable.defaults.language.paginate.last + * + * @example + * $(document).ready( function() { + * $('#example').dataTable( { + * "language": { + * "paginate": { + * "last": "Last page" + * } + * } + * } ); + * } ); + */ + "sLast": "Last", + + + /** + * Text to use for the 'next' pagination button (to take the user to the + * next page). + * @type string + * @default Next + * + * @dtopt Language + * @name DataTable.defaults.language.paginate.next + * + * @example + * $(document).ready( function() { + * $('#example').dataTable( { + * "language": { + * "paginate": { + * "next": "Next page" + * } + * } + * } ); + * } ); + */ + "sNext": "Next", + + + /** + * Text to use for the 'previous' pagination button (to take the user to + * the previous page). + * @type string + * @default Previous + * + * @dtopt Language + * @name DataTable.defaults.language.paginate.previous + * + * @example + * $(document).ready( function() { + * $('#example').dataTable( { + * "language": { + * "paginate": { + * "previous": "Previous page" + * } + * } + * } ); + * } ); + */ + "sPrevious": "Previous" + }, + + /** + * This string is shown in preference to `zeroRecords` when the table is + * empty of data (regardless of filtering). Note that this is an optional + * parameter - if it is not given, the value of `zeroRecords` will be used + * instead (either the default or given value). + * @type string + * @default No data available in table + * + * @dtopt Language + * @name DataTable.defaults.language.emptyTable + * + * @example + * $(document).ready( function() { + * $('#example').dataTable( { + * "language": { + * "emptyTable": "No data available in table" + * } + * } ); + * } ); + */ + "sEmptyTable": "No data available in table", + + + /** + * This string gives information to the end user about the information + * that is current on display on the page. The following tokens can be + * used in the string and will be dynamically replaced as the table + * display updates. This tokens can be placed anywhere in the string, or + * removed as needed by the language requires: + * + * * `\_START\_` - Display index of the first record on the current page + * * `\_END\_` - Display index of the last record on the current page + * * `\_TOTAL\_` - Number of records in the table after filtering + * * `\_MAX\_` - Number of records in the table without filtering + * * `\_PAGE\_` - Current page number + * * `\_PAGES\_` - Total number of pages of data in the table + * + * @type string + * @default Showing _START_ to _END_ of _TOTAL_ entries + * + * @dtopt Language + * @name DataTable.defaults.language.info + * + * @example + * $(document).ready( function() { + * $('#example').dataTable( { + * "language": { + * "info": "Showing page _PAGE_ of _PAGES_" + * } + * } ); + * } ); + */ + "sInfo": "Showing _START_ to _END_ of _TOTAL_ entries", + + + /** + * Display information string for when the table is empty. Typically the + * format of this string should match `info`. + * @type string + * @default Showing 0 to 0 of 0 entries + * + * @dtopt Language + * @name DataTable.defaults.language.infoEmpty + * + * @example + * $(document).ready( function() { + * $('#example').dataTable( { + * "language": { + * "infoEmpty": "No entries to show" + * } + * } ); + * } ); + */ + "sInfoEmpty": "Showing 0 to 0 of 0 entries", + + + /** + * When a user filters the information in a table, this string is appended + * to the information (`info`) to give an idea of how strong the filtering + * is. The variable _MAX_ is dynamically updated. + * @type string + * @default (filtered from _MAX_ total entries) + * + * @dtopt Language + * @name DataTable.defaults.language.infoFiltered + * + * @example + * $(document).ready( function() { + * $('#example').dataTable( { + * "language": { + * "infoFiltered": " - filtering from _MAX_ records" + * } + * } ); + * } ); + */ + "sInfoFiltered": "(filtered from _MAX_ total entries)", + + + /** + * If can be useful to append extra information to the info string at times, + * and this variable does exactly that. This information will be appended to + * the `info` (`infoEmpty` and `infoFiltered` in whatever combination they are + * being used) at all times. + * @type string + * @default Empty string + * + * @dtopt Language + * @name DataTable.defaults.language.infoPostFix + * + * @example + * $(document).ready( function() { + * $('#example').dataTable( { + * "language": { + * "infoPostFix": "All records shown are derived from real information." + * } + * } ); + * } ); + */ + "sInfoPostFix": "", + + + /** + * This decimal place operator is a little different from the other + * language options since DataTables doesn't output floating point + * numbers, so it won't ever use this for display of a number. Rather, + * what this parameter does is modify the sort methods of the table so + * that numbers which are in a format which has a character other than + * a period (`.`) as a decimal place will be sorted numerically. + * + * Note that numbers with different decimal places cannot be shown in + * the same table and still be sortable, the table must be consistent. + * However, multiple different tables on the page can use different + * decimal place characters. + * @type string + * @default + * + * @dtopt Language + * @name DataTable.defaults.language.decimal + * + * @example + * $(document).ready( function() { + * $('#example').dataTable( { + * "language": { + * "decimal": "," + * "thousands": "." + * } + * } ); + * } ); + */ + "sDecimal": "", + + + /** + * DataTables has a build in number formatter (`formatNumber`) which is + * used to format large numbers that are used in the table information. + * By default a comma is used, but this can be trivially changed to any + * character you wish with this parameter. + * @type string + * @default , + * + * @dtopt Language + * @name DataTable.defaults.language.thousands + * + * @example + * $(document).ready( function() { + * $('#example').dataTable( { + * "language": { + * "thousands": "'" + * } + * } ); + * } ); + */ + "sThousands": ",", + + + /** + * Detail the action that will be taken when the drop down menu for the + * pagination length option is changed. The '_MENU_' variable is replaced + * with a default select list of 10, 25, 50 and 100, and can be replaced + * with a custom select box if required. + * @type string + * @default Show _MENU_ entries + * + * @dtopt Language + * @name DataTable.defaults.language.lengthMenu + * + * @example + * // Language change only + * $(document).ready( function() { + * $('#example').dataTable( { + * "language": { + * "lengthMenu": "Display _MENU_ records" + * } + * } ); + * } ); + * + * @example + * // Language and options change + * $(document).ready( function() { + * $('#example').dataTable( { + * "language": { + * "lengthMenu": 'Display records' + * } + * } ); + * } ); + */ + "sLengthMenu": "Show _MENU_ entries", + + + /** + * When using Ajax sourced data and during the first draw when DataTables is + * gathering the data, this message is shown in an empty row in the table to + * indicate to the end user the the data is being loaded. Note that this + * parameter is not used when loading data by server-side processing, just + * Ajax sourced data with client-side processing. + * @type string + * @default Loading... + * + * @dtopt Language + * @name DataTable.defaults.language.loadingRecords + * + * @example + * $(document).ready( function() { + * $('#example').dataTable( { + * "language": { + * "loadingRecords": "Please wait - loading..." + * } + * } ); + * } ); + */ + "sLoadingRecords": "Loading...", + + + /** + * Text which is displayed when the table is processing a user action + * (usually a sort command or similar). + * @type string + * @default Processing... + * + * @dtopt Language + * @name DataTable.defaults.language.processing + * + * @example + * $(document).ready( function() { + * $('#example').dataTable( { + * "language": { + * "processing": "DataTables is currently busy" + * } + * } ); + * } ); + */ + "sProcessing": "Processing...", + + + /** + * Details the actions that will be taken when the user types into the + * filtering input text box. The variable "_INPUT_", if used in the string, + * is replaced with the HTML text box for the filtering input allowing + * control over where it appears in the string. If "_INPUT_" is not given + * then the input box is appended to the string automatically. + * @type string + * @default Search: + * + * @dtopt Language + * @name DataTable.defaults.language.search + * + * @example + * // Input text box will be appended at the end automatically + * $(document).ready( function() { + * $('#example').dataTable( { + * "language": { + * "search": "Filter records:" + * } + * } ); + * } ); + * + * @example + * // Specify where the filter should appear + * $(document).ready( function() { + * $('#example').dataTable( { + * "language": { + * "search": "Apply filter _INPUT_ to table" + * } + * } ); + * } ); + */ + "sSearch": "Search:", + + + /** + * Assign a `placeholder` attribute to the search `input` element + * @type string + * @default + * + * @dtopt Language + * @name DataTable.defaults.language.searchPlaceholder + */ + "sSearchPlaceholder": "", + + + /** + * All of the language information can be stored in a file on the + * server-side, which DataTables will look up if this parameter is passed. + * It must store the URL of the language file, which is in a JSON format, + * and the object has the same properties as the oLanguage object in the + * initialiser object (i.e. the above parameters). Please refer to one of + * the example language files to see how this works in action. + * @type string + * @default Empty string - i.e. disabled + * + * @dtopt Language + * @name DataTable.defaults.language.url + * + * @example + * $(document).ready( function() { + * $('#example').dataTable( { + * "language": { + * "url": "http://www.sprymedia.co.uk/dataTables/lang.txt" + * } + * } ); + * } ); + */ + "sUrl": "", + + + /** + * Text shown inside the table records when the is no information to be + * displayed after filtering. `emptyTable` is shown when there is simply no + * information in the table at all (regardless of filtering). + * @type string + * @default No matching records found + * + * @dtopt Language + * @name DataTable.defaults.language.zeroRecords + * + * @example + * $(document).ready( function() { + * $('#example').dataTable( { + * "language": { + * "zeroRecords": "No records to display" + * } + * } ); + * } ); + */ + "sZeroRecords": "No matching records found" + }, + + + /** + * This parameter allows you to have define the global filtering state at + * initialisation time. As an object the `search` parameter must be + * defined, but all other parameters are optional. When `regex` is true, + * the search string will be treated as a regular expression, when false + * (default) it will be treated as a straight string. When `smart` + * DataTables will use it's smart filtering methods (to word match at + * any point in the data), when false this will not be done. + * @namespace + * @extends DataTable.models.oSearch + * + * @dtopt Options + * @name DataTable.defaults.search + * + * @example + * $(document).ready( function() { + * $('#example').dataTable( { + * "search": {"search": "Initial search"} + * } ); + * } ) + */ + "oSearch": $.extend( {}, DataTable.models.oSearch ), + + + /** + * __Deprecated__ The functionality provided by this parameter has now been + * superseded by that provided through `ajax`, which should be used instead. + * + * By default DataTables will look for the property `data` (or `aaData` for + * compatibility with DataTables 1.9-) when obtaining data from an Ajax + * source or for server-side processing - this parameter allows that + * property to be changed. You can use Javascript dotted object notation to + * get a data source for multiple levels of nesting. + * @type string + * @default data + * + * @dtopt Options + * @dtopt Server-side + * @name DataTable.defaults.ajaxDataProp + * + * @deprecated 1.10. Please use `ajax` for this functionality now. + */ + "sAjaxDataProp": "data", + + + /** + * __Deprecated__ The functionality provided by this parameter has now been + * superseded by that provided through `ajax`, which should be used instead. + * + * You can instruct DataTables to load data from an external + * source using this parameter (use aData if you want to pass data in you + * already have). Simply provide a url a JSON object can be obtained from. + * @type string + * @default null + * + * @dtopt Options + * @dtopt Server-side + * @name DataTable.defaults.ajaxSource + * + * @deprecated 1.10. Please use `ajax` for this functionality now. + */ + "sAjaxSource": null, + + + /** + * This initialisation variable allows you to specify exactly where in the + * DOM you want DataTables to inject the various controls it adds to the page + * (for example you might want the pagination controls at the top of the + * table). DIV elements (with or without a custom class) can also be added to + * aid styling. The follow syntax is used: + *
    + *
  • The following options are allowed: + *
      + *
    • 'l' - Length changing
    • + *
    • 'f' - Filtering input
    • + *
    • 't' - The table!
    • + *
    • 'i' - Information
    • + *
    • 'p' - Pagination
    • + *
    • 'r' - pRocessing
    • + *
    + *
  • + *
  • The following constants are allowed: + *
      + *
    • 'H' - jQueryUI theme "header" classes ('fg-toolbar ui-widget-header ui-corner-tl ui-corner-tr ui-helper-clearfix')
    • + *
    • 'F' - jQueryUI theme "footer" classes ('fg-toolbar ui-widget-header ui-corner-bl ui-corner-br ui-helper-clearfix')
    • + *
    + *
  • + *
  • The following syntax is expected: + *
      + *
    • '<' and '>' - div elements
    • + *
    • '<"class" and '>' - div with a class
    • + *
    • '<"#id" and '>' - div with an ID
    • + *
    + *
  • + *
  • Examples: + *
      + *
    • '<"wrapper"flipt>'
    • + *
    • '<lf<t>ip>'
    • + *
    + *
  • + *
+ * @type string + * @default lfrtip (when `jQueryUI` is false) or + * <"H"lfr>t<"F"ip> (when `jQueryUI` is true) + * + * @dtopt Options + * @name DataTable.defaults.dom + * + * @example + * $(document).ready( function() { + * $('#example').dataTable( { + * "dom": '<"top"i>rt<"bottom"flp><"clear">' + * } ); + * } ); + */ + "sDom": "lfrtip", + + + /** + * Search delay option. This will throttle full table searches that use the + * DataTables provided search input element (it does not effect calls to + * `dt-api search()`, providing a delay before the search is made. + * @type integer + * @default 0 + * + * @dtopt Options + * @name DataTable.defaults.searchDelay + * + * @example + * $(document).ready( function() { + * $('#example').dataTable( { + * "searchDelay": 200 + * } ); + * } ) + */ + "searchDelay": null, + + + /** + * DataTables features four different built-in options for the buttons to + * display for pagination control: + * + * * `simple` - 'Previous' and 'Next' buttons only + * * 'simple_numbers` - 'Previous' and 'Next' buttons, plus page numbers + * * `full` - 'First', 'Previous', 'Next' and 'Last' buttons + * * `full_numbers` - 'First', 'Previous', 'Next' and 'Last' buttons, plus + * page numbers + * + * Further methods can be added using {@link DataTable.ext.oPagination}. + * @type string + * @default simple_numbers + * + * @dtopt Options + * @name DataTable.defaults.pagingType + * + * @example + * $(document).ready( function() { + * $('#example').dataTable( { + * "pagingType": "full_numbers" + * } ); + * } ) + */ + "sPaginationType": "simple_numbers", + + + /** + * Enable horizontal scrolling. When a table is too wide to fit into a + * certain layout, or you have a large number of columns in the table, you + * can enable x-scrolling to show the table in a viewport, which can be + * scrolled. This property can be `true` which will allow the table to + * scroll horizontally when needed, or any CSS unit, or a number (in which + * case it will be treated as a pixel measurement). Setting as simply `true` + * is recommended. + * @type boolean|string + * @default blank string - i.e. disabled + * + * @dtopt Features + * @name DataTable.defaults.scrollX + * + * @example + * $(document).ready( function() { + * $('#example').dataTable( { + * "scrollX": true, + * "scrollCollapse": true + * } ); + * } ); + */ + "sScrollX": "", + + + /** + * This property can be used to force a DataTable to use more width than it + * might otherwise do when x-scrolling is enabled. For example if you have a + * table which requires to be well spaced, this parameter is useful for + * "over-sizing" the table, and thus forcing scrolling. This property can by + * any CSS unit, or a number (in which case it will be treated as a pixel + * measurement). + * @type string + * @default blank string - i.e. disabled + * + * @dtopt Options + * @name DataTable.defaults.scrollXInner + * + * @example + * $(document).ready( function() { + * $('#example').dataTable( { + * "scrollX": "100%", + * "scrollXInner": "110%" + * } ); + * } ); + */ + "sScrollXInner": "", + + + /** + * Enable vertical scrolling. Vertical scrolling will constrain the DataTable + * to the given height, and enable scrolling for any data which overflows the + * current viewport. This can be used as an alternative to paging to display + * a lot of data in a small area (although paging and scrolling can both be + * enabled at the same time). This property can be any CSS unit, or a number + * (in which case it will be treated as a pixel measurement). + * @type string + * @default blank string - i.e. disabled + * + * @dtopt Features + * @name DataTable.defaults.scrollY + * + * @example + * $(document).ready( function() { + * $('#example').dataTable( { + * "scrollY": "200px", + * "paginate": false + * } ); + * } ); + */ + "sScrollY": "", + + + /** + * __Deprecated__ The functionality provided by this parameter has now been + * superseded by that provided through `ajax`, which should be used instead. + * + * Set the HTTP method that is used to make the Ajax call for server-side + * processing or Ajax sourced data. + * @type string + * @default GET + * + * @dtopt Options + * @dtopt Server-side + * @name DataTable.defaults.serverMethod + * + * @deprecated 1.10. Please use `ajax` for this functionality now. + */ + "sServerMethod": "GET", + + + /** + * DataTables makes use of renderers when displaying HTML elements for + * a table. These renderers can be added or modified by plug-ins to + * generate suitable mark-up for a site. For example the Bootstrap + * integration plug-in for DataTables uses a paging button renderer to + * display pagination buttons in the mark-up required by Bootstrap. + * + * For further information about the renderers available see + * DataTable.ext.renderer + * @type string|object + * @default null + * + * @name DataTable.defaults.renderer + * + */ + "renderer": null + }; + + _fnHungarianMap( DataTable.defaults ); + + + + /* + * Developer note - See note in model.defaults.js about the use of Hungarian + * notation and camel case. + */ + + /** + * Column options that can be given to DataTables at initialisation time. + * @namespace + */ + DataTable.defaults.column = { + /** + * Define which column(s) an order will occur on for this column. This + * allows a column's ordering to take multiple columns into account when + * doing a sort or use the data from a different column. For example first + * name / last name columns make sense to do a multi-column sort over the + * two columns. + * @type array|int + * @default null Takes the value of the column index automatically + * + * @name DataTable.defaults.column.orderData + * @dtopt Columns + * + * @example + * // Using `columnDefs` + * $(document).ready( function() { + * $('#example').dataTable( { + * "columnDefs": [ + * { "orderData": [ 0, 1 ], "targets": [ 0 ] }, + * { "orderData": [ 1, 0 ], "targets": [ 1 ] }, + * { "orderData": 2, "targets": [ 2 ] } + * ] + * } ); + * } ); + * + * @example + * // Using `columns` + * $(document).ready( function() { + * $('#example').dataTable( { + * "columns": [ + * { "orderData": [ 0, 1 ] }, + * { "orderData": [ 1, 0 ] }, + * { "orderData": 2 }, + * null, + * null + * ] + * } ); + * } ); + */ + "aDataSort": null, + "iDataSort": -1, + + + /** + * You can control the default ordering direction, and even alter the + * behaviour of the sort handler (i.e. only allow ascending ordering etc) + * using this parameter. + * @type array + * @default [ 'asc', 'desc' ] + * + * @name DataTable.defaults.column.orderSequence + * @dtopt Columns + * + * @example + * // Using `columnDefs` + * $(document).ready( function() { + * $('#example').dataTable( { + * "columnDefs": [ + * { "orderSequence": [ "asc" ], "targets": [ 1 ] }, + * { "orderSequence": [ "desc", "asc", "asc" ], "targets": [ 2 ] }, + * { "orderSequence": [ "desc" ], "targets": [ 3 ] } + * ] + * } ); + * } ); + * + * @example + * // Using `columns` + * $(document).ready( function() { + * $('#example').dataTable( { + * "columns": [ + * null, + * { "orderSequence": [ "asc" ] }, + * { "orderSequence": [ "desc", "asc", "asc" ] }, + * { "orderSequence": [ "desc" ] }, + * null + * ] + * } ); + * } ); + */ + "asSorting": [ 'asc', 'desc' ], + + + /** + * Enable or disable filtering on the data in this column. + * @type boolean + * @default true + * + * @name DataTable.defaults.column.searchable + * @dtopt Columns + * + * @example + * // Using `columnDefs` + * $(document).ready( function() { + * $('#example').dataTable( { + * "columnDefs": [ + * { "searchable": false, "targets": [ 0 ] } + * ] } ); + * } ); + * + * @example + * // Using `columns` + * $(document).ready( function() { + * $('#example').dataTable( { + * "columns": [ + * { "searchable": false }, + * null, + * null, + * null, + * null + * ] } ); + * } ); + */ + "bSearchable": true, + + + /** + * Enable or disable ordering on this column. + * @type boolean + * @default true + * + * @name DataTable.defaults.column.orderable + * @dtopt Columns + * + * @example + * // Using `columnDefs` + * $(document).ready( function() { + * $('#example').dataTable( { + * "columnDefs": [ + * { "orderable": false, "targets": [ 0 ] } + * ] } ); + * } ); + * + * @example + * // Using `columns` + * $(document).ready( function() { + * $('#example').dataTable( { + * "columns": [ + * { "orderable": false }, + * null, + * null, + * null, + * null + * ] } ); + * } ); + */ + "bSortable": true, + + + /** + * Enable or disable the display of this column. + * @type boolean + * @default true + * + * @name DataTable.defaults.column.visible + * @dtopt Columns + * + * @example + * // Using `columnDefs` + * $(document).ready( function() { + * $('#example').dataTable( { + * "columnDefs": [ + * { "visible": false, "targets": [ 0 ] } + * ] } ); + * } ); + * + * @example + * // Using `columns` + * $(document).ready( function() { + * $('#example').dataTable( { + * "columns": [ + * { "visible": false }, + * null, + * null, + * null, + * null + * ] } ); + * } ); + */ + "bVisible": true, + + + /** + * Developer definable function that is called whenever a cell is created (Ajax source, + * etc) or processed for input (DOM source). This can be used as a compliment to mRender + * allowing you to modify the DOM element (add background colour for example) when the + * element is available. + * @type function + * @param {element} td The TD node that has been created + * @param {*} cellData The Data for the cell + * @param {array|object} rowData The data for the whole row + * @param {int} row The row index for the aoData data store + * @param {int} col The column index for aoColumns + * + * @name DataTable.defaults.column.createdCell + * @dtopt Columns + * + * @example + * $(document).ready( function() { + * $('#example').dataTable( { + * "columnDefs": [ { + * "targets": [3], + * "createdCell": function (td, cellData, rowData, row, col) { + * if ( cellData == "1.7" ) { + * $(td).css('color', 'blue') + * } + * } + * } ] + * }); + * } ); + */ + "fnCreatedCell": null, + + + /** + * This parameter has been replaced by `data` in DataTables to ensure naming + * consistency. `dataProp` can still be used, as there is backwards + * compatibility in DataTables for this option, but it is strongly + * recommended that you use `data` in preference to `dataProp`. + * @name DataTable.defaults.column.dataProp + */ + + + /** + * This property can be used to read data from any data source property, + * including deeply nested objects / properties. `data` can be given in a + * number of different ways which effect its behaviour: + * + * * `integer` - treated as an array index for the data source. This is the + * default that DataTables uses (incrementally increased for each column). + * * `string` - read an object property from the data source. There are + * three 'special' options that can be used in the string to alter how + * DataTables reads the data from the source object: + * * `.` - Dotted Javascript notation. Just as you use a `.` in + * Javascript to read from nested objects, so to can the options + * specified in `data`. For example: `browser.version` or + * `browser.name`. If your object parameter name contains a period, use + * `\\` to escape it - i.e. `first\\.name`. + * * `[]` - Array notation. DataTables can automatically combine data + * from and array source, joining the data with the characters provided + * between the two brackets. For example: `name[, ]` would provide a + * comma-space separated list from the source array. If no characters + * are provided between the brackets, the original array source is + * returned. + * * `()` - Function notation. Adding `()` to the end of a parameter will + * execute a function of the name given. For example: `browser()` for a + * simple function on the data source, `browser.version()` for a + * function in a nested property or even `browser().version` to get an + * object property if the function called returns an object. Note that + * function notation is recommended for use in `render` rather than + * `data` as it is much simpler to use as a renderer. + * * `null` - use the original data source for the row rather than plucking + * data directly from it. This action has effects on two other + * initialisation options: + * * `defaultContent` - When null is given as the `data` option and + * `defaultContent` is specified for the column, the value defined by + * `defaultContent` will be used for the cell. + * * `render` - When null is used for the `data` option and the `render` + * option is specified for the column, the whole data source for the + * row is used for the renderer. + * * `function` - the function given will be executed whenever DataTables + * needs to set or get the data for a cell in the column. The function + * takes three parameters: + * * Parameters: + * * `{array|object}` The data source for the row + * * `{string}` The type call data requested - this will be 'set' when + * setting data or 'filter', 'display', 'type', 'sort' or undefined + * when gathering data. Note that when `undefined` is given for the + * type DataTables expects to get the raw data for the object back< + * * `{*}` Data to set when the second parameter is 'set'. + * * Return: + * * The return value from the function is not required when 'set' is + * the type of call, but otherwise the return is what will be used + * for the data requested. + * + * Note that `data` is a getter and setter option. If you just require + * formatting of data for output, you will likely want to use `render` which + * is simply a getter and thus simpler to use. + * + * Note that prior to DataTables 1.9.2 `data` was called `mDataProp`. The + * name change reflects the flexibility of this property and is consistent + * with the naming of mRender. If 'mDataProp' is given, then it will still + * be used by DataTables, as it automatically maps the old name to the new + * if required. + * + * @type string|int|function|null + * @default null Use automatically calculated column index + * + * @name DataTable.defaults.column.data + * @dtopt Columns + * + * @example + * // Read table data from objects + * // JSON structure for each row: + * // { + * // "engine": {value}, + * // "browser": {value}, + * // "platform": {value}, + * // "version": {value}, + * // "grade": {value} + * // } + * $(document).ready( function() { + * $('#example').dataTable( { + * "ajaxSource": "sources/objects.txt", + * "columns": [ + * { "data": "engine" }, + * { "data": "browser" }, + * { "data": "platform" }, + * { "data": "version" }, + * { "data": "grade" } + * ] + * } ); + * } ); + * + * @example + * // Read information from deeply nested objects + * // JSON structure for each row: + * // { + * // "engine": {value}, + * // "browser": {value}, + * // "platform": { + * // "inner": {value} + * // }, + * // "details": [ + * // {value}, {value} + * // ] + * // } + * $(document).ready( function() { + * $('#example').dataTable( { + * "ajaxSource": "sources/deep.txt", + * "columns": [ + * { "data": "engine" }, + * { "data": "browser" }, + * { "data": "platform.inner" }, + * { "data": "platform.details.0" }, + * { "data": "platform.details.1" } + * ] + * } ); + * } ); + * + * @example + * // Using `data` as a function to provide different information for + * // sorting, filtering and display. In this case, currency (price) + * $(document).ready( function() { + * $('#example').dataTable( { + * "columnDefs": [ { + * "targets": [ 0 ], + * "data": function ( source, type, val ) { + * if (type === 'set') { + * source.price = val; + * // Store the computed dislay and filter values for efficiency + * source.price_display = val=="" ? "" : "$"+numberFormat(val); + * source.price_filter = val=="" ? "" : "$"+numberFormat(val)+" "+val; + * return; + * } + * else if (type === 'display') { + * return source.price_display; + * } + * else if (type === 'filter') { + * return source.price_filter; + * } + * // 'sort', 'type' and undefined all just use the integer + * return source.price; + * } + * } ] + * } ); + * } ); + * + * @example + * // Using default content + * $(document).ready( function() { + * $('#example').dataTable( { + * "columnDefs": [ { + * "targets": [ 0 ], + * "data": null, + * "defaultContent": "Click to edit" + * } ] + * } ); + * } ); + * + * @example + * // Using array notation - outputting a list from an array + * $(document).ready( function() { + * $('#example').dataTable( { + * "columnDefs": [ { + * "targets": [ 0 ], + * "data": "name[, ]" + * } ] + * } ); + * } ); + * + */ + "mData": null, + + + /** + * This property is the rendering partner to `data` and it is suggested that + * when you want to manipulate data for display (including filtering, + * sorting etc) without altering the underlying data for the table, use this + * property. `render` can be considered to be the the read only companion to + * `data` which is read / write (then as such more complex). Like `data` + * this option can be given in a number of different ways to effect its + * behaviour: + * + * * `integer` - treated as an array index for the data source. This is the + * default that DataTables uses (incrementally increased for each column). + * * `string` - read an object property from the data source. There are + * three 'special' options that can be used in the string to alter how + * DataTables reads the data from the source object: + * * `.` - Dotted Javascript notation. Just as you use a `.` in + * Javascript to read from nested objects, so to can the options + * specified in `data`. For example: `browser.version` or + * `browser.name`. If your object parameter name contains a period, use + * `\\` to escape it - i.e. `first\\.name`. + * * `[]` - Array notation. DataTables can automatically combine data + * from and array source, joining the data with the characters provided + * between the two brackets. For example: `name[, ]` would provide a + * comma-space separated list from the source array. If no characters + * are provided between the brackets, the original array source is + * returned. + * * `()` - Function notation. Adding `()` to the end of a parameter will + * execute a function of the name given. For example: `browser()` for a + * simple function on the data source, `browser.version()` for a + * function in a nested property or even `browser().version` to get an + * object property if the function called returns an object. + * * `object` - use different data for the different data types requested by + * DataTables ('filter', 'display', 'type' or 'sort'). The property names + * of the object is the data type the property refers to and the value can + * defined using an integer, string or function using the same rules as + * `render` normally does. Note that an `_` option _must_ be specified. + * This is the default value to use if you haven't specified a value for + * the data type requested by DataTables. + * * `function` - the function given will be executed whenever DataTables + * needs to set or get the data for a cell in the column. The function + * takes three parameters: + * * Parameters: + * * {array|object} The data source for the row (based on `data`) + * * {string} The type call data requested - this will be 'filter', + * 'display', 'type' or 'sort'. + * * {array|object} The full data source for the row (not based on + * `data`) + * * Return: + * * The return value from the function is what will be used for the + * data requested. + * + * @type string|int|function|object|null + * @default null Use the data source value. + * + * @name DataTable.defaults.column.render + * @dtopt Columns + * + * @example + * // Create a comma separated list from an array of objects + * $(document).ready( function() { + * $('#example').dataTable( { + * "ajaxSource": "sources/deep.txt", + * "columns": [ + * { "data": "engine" }, + * { "data": "browser" }, + * { + * "data": "platform", + * "render": "[, ].name" + * } + * ] + * } ); + * } ); + * + * @example + * // Execute a function to obtain data + * $(document).ready( function() { + * $('#example').dataTable( { + * "columnDefs": [ { + * "targets": [ 0 ], + * "data": null, // Use the full data source object for the renderer's source + * "render": "browserName()" + * } ] + * } ); + * } ); + * + * @example + * // As an object, extracting different data for the different types + * // This would be used with a data source such as: + * // { "phone": 5552368, "phone_filter": "5552368 555-2368", "phone_display": "555-2368" } + * // Here the `phone` integer is used for sorting and type detection, while `phone_filter` + * // (which has both forms) is used for filtering for if a user inputs either format, while + * // the formatted phone number is the one that is shown in the table. + * $(document).ready( function() { + * $('#example').dataTable( { + * "columnDefs": [ { + * "targets": [ 0 ], + * "data": null, // Use the full data source object for the renderer's source + * "render": { + * "_": "phone", + * "filter": "phone_filter", + * "display": "phone_display" + * } + * } ] + * } ); + * } ); + * + * @example + * // Use as a function to create a link from the data source + * $(document).ready( function() { + * $('#example').dataTable( { + * "columnDefs": [ { + * "targets": [ 0 ], + * "data": "download_link", + * "render": function ( data, type, full ) { + * return 'Download'; + * } + * } ] + * } ); + * } ); + */ + "mRender": null, + + + /** + * Change the cell type created for the column - either TD cells or TH cells. This + * can be useful as TH cells have semantic meaning in the table body, allowing them + * to act as a header for a row (you may wish to add scope='row' to the TH elements). + * @type string + * @default td + * + * @name DataTable.defaults.column.cellType + * @dtopt Columns + * + * @example + * // Make the first column use TH cells + * $(document).ready( function() { + * $('#example').dataTable( { + * "columnDefs": [ { + * "targets": [ 0 ], + * "cellType": "th" + * } ] + * } ); + * } ); + */ + "sCellType": "td", + + + /** + * Class to give to each cell in this column. + * @type string + * @default Empty string + * + * @name DataTable.defaults.column.class + * @dtopt Columns + * + * @example + * // Using `columnDefs` + * $(document).ready( function() { + * $('#example').dataTable( { + * "columnDefs": [ + * { "class": "my_class", "targets": [ 0 ] } + * ] + * } ); + * } ); + * + * @example + * // Using `columns` + * $(document).ready( function() { + * $('#example').dataTable( { + * "columns": [ + * { "class": "my_class" }, + * null, + * null, + * null, + * null + * ] + * } ); + * } ); + */ + "sClass": "", + + /** + * When DataTables calculates the column widths to assign to each column, + * it finds the longest string in each column and then constructs a + * temporary table and reads the widths from that. The problem with this + * is that "mmm" is much wider then "iiii", but the latter is a longer + * string - thus the calculation can go wrong (doing it properly and putting + * it into an DOM object and measuring that is horribly(!) slow). Thus as + * a "work around" we provide this option. It will append its value to the + * text that is found to be the longest string for the column - i.e. padding. + * Generally you shouldn't need this! + * @type string + * @default Empty string + * + * @name DataTable.defaults.column.contentPadding + * @dtopt Columns + * + * @example + * // Using `columns` + * $(document).ready( function() { + * $('#example').dataTable( { + * "columns": [ + * null, + * null, + * null, + * { + * "contentPadding": "mmm" + * } + * ] + * } ); + * } ); + */ + "sContentPadding": "", + + + /** + * Allows a default value to be given for a column's data, and will be used + * whenever a null data source is encountered (this can be because `data` + * is set to null, or because the data source itself is null). + * @type string + * @default null + * + * @name DataTable.defaults.column.defaultContent + * @dtopt Columns + * + * @example + * // Using `columnDefs` + * $(document).ready( function() { + * $('#example').dataTable( { + * "columnDefs": [ + * { + * "data": null, + * "defaultContent": "Edit", + * "targets": [ -1 ] + * } + * ] + * } ); + * } ); + * + * @example + * // Using `columns` + * $(document).ready( function() { + * $('#example').dataTable( { + * "columns": [ + * null, + * null, + * null, + * { + * "data": null, + * "defaultContent": "Edit" + * } + * ] + * } ); + * } ); + */ + "sDefaultContent": null, + + + /** + * This parameter is only used in DataTables' server-side processing. It can + * be exceptionally useful to know what columns are being displayed on the + * client side, and to map these to database fields. When defined, the names + * also allow DataTables to reorder information from the server if it comes + * back in an unexpected order (i.e. if you switch your columns around on the + * client-side, your server-side code does not also need updating). + * @type string + * @default Empty string + * + * @name DataTable.defaults.column.name + * @dtopt Columns + * + * @example + * // Using `columnDefs` + * $(document).ready( function() { + * $('#example').dataTable( { + * "columnDefs": [ + * { "name": "engine", "targets": [ 0 ] }, + * { "name": "browser", "targets": [ 1 ] }, + * { "name": "platform", "targets": [ 2 ] }, + * { "name": "version", "targets": [ 3 ] }, + * { "name": "grade", "targets": [ 4 ] } + * ] + * } ); + * } ); + * + * @example + * // Using `columns` + * $(document).ready( function() { + * $('#example').dataTable( { + * "columns": [ + * { "name": "engine" }, + * { "name": "browser" }, + * { "name": "platform" }, + * { "name": "version" }, + * { "name": "grade" } + * ] + * } ); + * } ); + */ + "sName": "", + + + /** + * Defines a data source type for the ordering which can be used to read + * real-time information from the table (updating the internally cached + * version) prior to ordering. This allows ordering to occur on user + * editable elements such as form inputs. + * @type string + * @default std + * + * @name DataTable.defaults.column.orderDataType + * @dtopt Columns + * + * @example + * // Using `columnDefs` + * $(document).ready( function() { + * $('#example').dataTable( { + * "columnDefs": [ + * { "orderDataType": "dom-text", "targets": [ 2, 3 ] }, + * { "type": "numeric", "targets": [ 3 ] }, + * { "orderDataType": "dom-select", "targets": [ 4 ] }, + * { "orderDataType": "dom-checkbox", "targets": [ 5 ] } + * ] + * } ); + * } ); + * + * @example + * // Using `columns` + * $(document).ready( function() { + * $('#example').dataTable( { + * "columns": [ + * null, + * null, + * { "orderDataType": "dom-text" }, + * { "orderDataType": "dom-text", "type": "numeric" }, + * { "orderDataType": "dom-select" }, + * { "orderDataType": "dom-checkbox" } + * ] + * } ); + * } ); + */ + "sSortDataType": "std", + + + /** + * The title of this column. + * @type string + * @default null Derived from the 'TH' value for this column in the + * original HTML table. + * + * @name DataTable.defaults.column.title + * @dtopt Columns + * + * @example + * // Using `columnDefs` + * $(document).ready( function() { + * $('#example').dataTable( { + * "columnDefs": [ + * { "title": "My column title", "targets": [ 0 ] } + * ] + * } ); + * } ); + * + * @example + * // Using `columns` + * $(document).ready( function() { + * $('#example').dataTable( { + * "columns": [ + * { "title": "My column title" }, + * null, + * null, + * null, + * null + * ] + * } ); + * } ); + */ + "sTitle": null, + + + /** + * The type allows you to specify how the data for this column will be + * ordered. Four types (string, numeric, date and html (which will strip + * HTML tags before ordering)) are currently available. Note that only date + * formats understood by Javascript's Date() object will be accepted as type + * date. For example: "Mar 26, 2008 5:03 PM". May take the values: 'string', + * 'numeric', 'date' or 'html' (by default). Further types can be adding + * through plug-ins. + * @type string + * @default null Auto-detected from raw data + * + * @name DataTable.defaults.column.type + * @dtopt Columns + * + * @example + * // Using `columnDefs` + * $(document).ready( function() { + * $('#example').dataTable( { + * "columnDefs": [ + * { "type": "html", "targets": [ 0 ] } + * ] + * } ); + * } ); + * + * @example + * // Using `columns` + * $(document).ready( function() { + * $('#example').dataTable( { + * "columns": [ + * { "type": "html" }, + * null, + * null, + * null, + * null + * ] + * } ); + * } ); + */ + "sType": null, + + + /** + * Defining the width of the column, this parameter may take any CSS value + * (3em, 20px etc). DataTables applies 'smart' widths to columns which have not + * been given a specific width through this interface ensuring that the table + * remains readable. + * @type string + * @default null Automatic + * + * @name DataTable.defaults.column.width + * @dtopt Columns + * + * @example + * // Using `columnDefs` + * $(document).ready( function() { + * $('#example').dataTable( { + * "columnDefs": [ + * { "width": "20%", "targets": [ 0 ] } + * ] + * } ); + * } ); + * + * @example + * // Using `columns` + * $(document).ready( function() { + * $('#example').dataTable( { + * "columns": [ + * { "width": "20%" }, + * null, + * null, + * null, + * null + * ] + * } ); + * } ); + */ + "sWidth": null + }; + + _fnHungarianMap( DataTable.defaults.column ); + + + + /** + * DataTables settings object - this holds all the information needed for a + * given table, including configuration, data and current application of the + * table options. DataTables does not have a single instance for each DataTable + * with the settings attached to that instance, but rather instances of the + * DataTable "class" are created on-the-fly as needed (typically by a + * $().dataTable() call) and the settings object is then applied to that + * instance. + * + * Note that this object is related to {@link DataTable.defaults} but this + * one is the internal data store for DataTables's cache of columns. It should + * NOT be manipulated outside of DataTables. Any configuration should be done + * through the initialisation options. + * @namespace + * @todo Really should attach the settings object to individual instances so we + * don't need to create new instances on each $().dataTable() call (if the + * table already exists). It would also save passing oSettings around and + * into every single function. However, this is a very significant + * architecture change for DataTables and will almost certainly break + * backwards compatibility with older installations. This is something that + * will be done in 2.0. + */ + DataTable.models.oSettings = { + /** + * Primary features of DataTables and their enablement state. + * @namespace + */ + "oFeatures": { + + /** + * Flag to say if DataTables should automatically try to calculate the + * optimum table and columns widths (true) or not (false). + * Note that this parameter will be set by the initialisation routine. To + * set a default use {@link DataTable.defaults}. + * @type boolean + */ + "bAutoWidth": null, + + /** + * Delay the creation of TR and TD elements until they are actually + * needed by a driven page draw. This can give a significant speed + * increase for Ajax source and Javascript source data, but makes no + * difference at all fro DOM and server-side processing tables. + * Note that this parameter will be set by the initialisation routine. To + * set a default use {@link DataTable.defaults}. + * @type boolean + */ + "bDeferRender": null, + + /** + * Enable filtering on the table or not. Note that if this is disabled + * then there is no filtering at all on the table, including fnFilter. + * To just remove the filtering input use sDom and remove the 'f' option. + * Note that this parameter will be set by the initialisation routine. To + * set a default use {@link DataTable.defaults}. + * @type boolean + */ + "bFilter": null, + + /** + * Table information element (the 'Showing x of y records' div) enable + * flag. + * Note that this parameter will be set by the initialisation routine. To + * set a default use {@link DataTable.defaults}. + * @type boolean + */ + "bInfo": null, + + /** + * Present a user control allowing the end user to change the page size + * when pagination is enabled. + * Note that this parameter will be set by the initialisation routine. To + * set a default use {@link DataTable.defaults}. + * @type boolean + */ + "bLengthChange": null, + + /** + * Pagination enabled or not. Note that if this is disabled then length + * changing must also be disabled. + * Note that this parameter will be set by the initialisation routine. To + * set a default use {@link DataTable.defaults}. + * @type boolean + */ + "bPaginate": null, + + /** + * Processing indicator enable flag whenever DataTables is enacting a + * user request - typically an Ajax request for server-side processing. + * Note that this parameter will be set by the initialisation routine. To + * set a default use {@link DataTable.defaults}. + * @type boolean + */ + "bProcessing": null, + + /** + * Server-side processing enabled flag - when enabled DataTables will + * get all data from the server for every draw - there is no filtering, + * sorting or paging done on the client-side. + * Note that this parameter will be set by the initialisation routine. To + * set a default use {@link DataTable.defaults}. + * @type boolean + */ + "bServerSide": null, + + /** + * Sorting enablement flag. + * Note that this parameter will be set by the initialisation routine. To + * set a default use {@link DataTable.defaults}. + * @type boolean + */ + "bSort": null, + + /** + * Multi-column sorting + * Note that this parameter will be set by the initialisation routine. To + * set a default use {@link DataTable.defaults}. + * @type boolean + */ + "bSortMulti": null, + + /** + * Apply a class to the columns which are being sorted to provide a + * visual highlight or not. This can slow things down when enabled since + * there is a lot of DOM interaction. + * Note that this parameter will be set by the initialisation routine. To + * set a default use {@link DataTable.defaults}. + * @type boolean + */ + "bSortClasses": null, + + /** + * State saving enablement flag. + * Note that this parameter will be set by the initialisation routine. To + * set a default use {@link DataTable.defaults}. + * @type boolean + */ + "bStateSave": null + }, + + + /** + * Scrolling settings for a table. + * @namespace + */ + "oScroll": { + /** + * When the table is shorter in height than sScrollY, collapse the + * table container down to the height of the table (when true). + * Note that this parameter will be set by the initialisation routine. To + * set a default use {@link DataTable.defaults}. + * @type boolean + */ + "bCollapse": null, + + /** + * Width of the scrollbar for the web-browser's platform. Calculated + * during table initialisation. + * @type int + * @default 0 + */ + "iBarWidth": 0, + + /** + * Viewport width for horizontal scrolling. Horizontal scrolling is + * disabled if an empty string. + * Note that this parameter will be set by the initialisation routine. To + * set a default use {@link DataTable.defaults}. + * @type string + */ + "sX": null, + + /** + * Width to expand the table to when using x-scrolling. Typically you + * should not need to use this. + * Note that this parameter will be set by the initialisation routine. To + * set a default use {@link DataTable.defaults}. + * @type string + * @deprecated + */ + "sXInner": null, + + /** + * Viewport height for vertical scrolling. Vertical scrolling is disabled + * if an empty string. + * Note that this parameter will be set by the initialisation routine. To + * set a default use {@link DataTable.defaults}. + * @type string + */ + "sY": null + }, + + /** + * Language information for the table. + * @namespace + * @extends DataTable.defaults.oLanguage + */ + "oLanguage": { + /** + * Information callback function. See + * {@link DataTable.defaults.fnInfoCallback} + * @type function + * @default null + */ + "fnInfoCallback": null + }, + + /** + * Browser support parameters + * @namespace + */ + "oBrowser": { + /** + * Indicate if the browser incorrectly calculates width:100% inside a + * scrolling element (IE6/7) + * @type boolean + * @default false + */ + "bScrollOversize": false, + + /** + * Determine if the vertical scrollbar is on the right or left of the + * scrolling container - needed for rtl language layout, although not + * all browsers move the scrollbar (Safari). + * @type boolean + * @default false + */ + "bScrollbarLeft": false + }, + + + "ajax": null, + + + /** + * Array referencing the nodes which are used for the features. The + * parameters of this object match what is allowed by sDom - i.e. + *
    + *
  • 'l' - Length changing
  • + *
  • 'f' - Filtering input
  • + *
  • 't' - The table!
  • + *
  • 'i' - Information
  • + *
  • 'p' - Pagination
  • + *
  • 'r' - pRocessing
  • + *
+ * @type array + * @default [] + */ + "aanFeatures": [], + + /** + * Store data information - see {@link DataTable.models.oRow} for detailed + * information. + * @type array + * @default [] + */ + "aoData": [], + + /** + * Array of indexes which are in the current display (after filtering etc) + * @type array + * @default [] + */ + "aiDisplay": [], + + /** + * Array of indexes for display - no filtering + * @type array + * @default [] + */ + "aiDisplayMaster": [], + + /** + * Store information about each column that is in use + * @type array + * @default [] + */ + "aoColumns": [], + + /** + * Store information about the table's header + * @type array + * @default [] + */ + "aoHeader": [], + + /** + * Store information about the table's footer + * @type array + * @default [] + */ + "aoFooter": [], + + /** + * Store the applied global search information in case we want to force a + * research or compare the old search to a new one. + * Note that this parameter will be set by the initialisation routine. To + * set a default use {@link DataTable.defaults}. + * @namespace + * @extends DataTable.models.oSearch + */ + "oPreviousSearch": {}, + + /** + * Store the applied search for each column - see + * {@link DataTable.models.oSearch} for the format that is used for the + * filtering information for each column. + * @type array + * @default [] + */ + "aoPreSearchCols": [], + + /** + * Sorting that is applied to the table. Note that the inner arrays are + * used in the following manner: + *
    + *
  • Index 0 - column number
  • + *
  • Index 1 - current sorting direction
  • + *
+ * Note that this parameter will be set by the initialisation routine. To + * set a default use {@link DataTable.defaults}. + * @type array + * @todo These inner arrays should really be objects + */ + "aaSorting": null, + + /** + * Sorting that is always applied to the table (i.e. prefixed in front of + * aaSorting). + * Note that this parameter will be set by the initialisation routine. To + * set a default use {@link DataTable.defaults}. + * @type array + * @default [] + */ + "aaSortingFixed": [], + + /** + * Classes to use for the striping of a table. + * Note that this parameter will be set by the initialisation routine. To + * set a default use {@link DataTable.defaults}. + * @type array + * @default [] + */ + "asStripeClasses": null, + + /** + * If restoring a table - we should restore its striping classes as well + * @type array + * @default [] + */ + "asDestroyStripes": [], + + /** + * If restoring a table - we should restore its width + * @type int + * @default 0 + */ + "sDestroyWidth": 0, + + /** + * Callback functions array for every time a row is inserted (i.e. on a draw). + * @type array + * @default [] + */ + "aoRowCallback": [], + + /** + * Callback functions for the header on each draw. + * @type array + * @default [] + */ + "aoHeaderCallback": [], + + /** + * Callback function for the footer on each draw. + * @type array + * @default [] + */ + "aoFooterCallback": [], + + /** + * Array of callback functions for draw callback functions + * @type array + * @default [] + */ + "aoDrawCallback": [], + + /** + * Array of callback functions for row created function + * @type array + * @default [] + */ + "aoRowCreatedCallback": [], + + /** + * Callback functions for just before the table is redrawn. A return of + * false will be used to cancel the draw. + * @type array + * @default [] + */ + "aoPreDrawCallback": [], + + /** + * Callback functions for when the table has been initialised. + * @type array + * @default [] + */ + "aoInitComplete": [], + + + /** + * Callbacks for modifying the settings to be stored for state saving, prior to + * saving state. + * @type array + * @default [] + */ + "aoStateSaveParams": [], + + /** + * Callbacks for modifying the settings that have been stored for state saving + * prior to using the stored values to restore the state. + * @type array + * @default [] + */ + "aoStateLoadParams": [], + + /** + * Callbacks for operating on the settings object once the saved state has been + * loaded + * @type array + * @default [] + */ + "aoStateLoaded": [], + + /** + * Cache the table ID for quick access + * @type string + * @default Empty string + */ + "sTableId": "", + + /** + * The TABLE node for the main table + * @type node + * @default null + */ + "nTable": null, + + /** + * Permanent ref to the thead element + * @type node + * @default null + */ + "nTHead": null, + + /** + * Permanent ref to the tfoot element - if it exists + * @type node + * @default null + */ + "nTFoot": null, + + /** + * Permanent ref to the tbody element + * @type node + * @default null + */ + "nTBody": null, + + /** + * Cache the wrapper node (contains all DataTables controlled elements) + * @type node + * @default null + */ + "nTableWrapper": null, + + /** + * Indicate if when using server-side processing the loading of data + * should be deferred until the second draw. + * Note that this parameter will be set by the initialisation routine. To + * set a default use {@link DataTable.defaults}. + * @type boolean + * @default false + */ + "bDeferLoading": false, + + /** + * Indicate if all required information has been read in + * @type boolean + * @default false + */ + "bInitialised": false, + + /** + * Information about open rows. Each object in the array has the parameters + * 'nTr' and 'nParent' + * @type array + * @default [] + */ + "aoOpenRows": [], + + /** + * Dictate the positioning of DataTables' control elements - see + * {@link DataTable.model.oInit.sDom}. + * Note that this parameter will be set by the initialisation routine. To + * set a default use {@link DataTable.defaults}. + * @type string + * @default null + */ + "sDom": null, + + /** + * Search delay (in mS) + * @type integer + * @default null + */ + "searchDelay": null, + + /** + * Which type of pagination should be used. + * Note that this parameter will be set by the initialisation routine. To + * set a default use {@link DataTable.defaults}. + * @type string + * @default two_button + */ + "sPaginationType": "two_button", + + /** + * The state duration (for `stateSave`) in seconds. + * Note that this parameter will be set by the initialisation routine. To + * set a default use {@link DataTable.defaults}. + * @type int + * @default 0 + */ + "iStateDuration": 0, + + /** + * Array of callback functions for state saving. Each array element is an + * object with the following parameters: + *
    + *
  • function:fn - function to call. Takes two parameters, oSettings + * and the JSON string to save that has been thus far created. Returns + * a JSON string to be inserted into a json object + * (i.e. '"param": [ 0, 1, 2]')
  • + *
  • string:sName - name of callback
  • + *
+ * @type array + * @default [] + */ + "aoStateSave": [], + + /** + * Array of callback functions for state loading. Each array element is an + * object with the following parameters: + *
    + *
  • function:fn - function to call. Takes two parameters, oSettings + * and the object stored. May return false to cancel state loading
  • + *
  • string:sName - name of callback
  • + *
+ * @type array + * @default [] + */ + "aoStateLoad": [], + + /** + * State that was saved. Useful for back reference + * @type object + * @default null + */ + "oSavedState": null, + + /** + * State that was loaded. Useful for back reference + * @type object + * @default null + */ + "oLoadedState": null, + + /** + * Source url for AJAX data for the table. + * Note that this parameter will be set by the initialisation routine. To + * set a default use {@link DataTable.defaults}. + * @type string + * @default null + */ + "sAjaxSource": null, + + /** + * Property from a given object from which to read the table data from. This + * can be an empty string (when not server-side processing), in which case + * it is assumed an an array is given directly. + * Note that this parameter will be set by the initialisation routine. To + * set a default use {@link DataTable.defaults}. + * @type string + */ + "sAjaxDataProp": null, + + /** + * Note if draw should be blocked while getting data + * @type boolean + * @default true + */ + "bAjaxDataGet": true, + + /** + * The last jQuery XHR object that was used for server-side data gathering. + * This can be used for working with the XHR information in one of the + * callbacks + * @type object + * @default null + */ + "jqXHR": null, + + /** + * JSON returned from the server in the last Ajax request + * @type object + * @default undefined + */ + "json": undefined, + + /** + * Data submitted as part of the last Ajax request + * @type object + * @default undefined + */ + "oAjaxData": undefined, + + /** + * Function to get the server-side data. + * Note that this parameter will be set by the initialisation routine. To + * set a default use {@link DataTable.defaults}. + * @type function + */ + "fnServerData": null, + + /** + * Functions which are called prior to sending an Ajax request so extra + * parameters can easily be sent to the server + * @type array + * @default [] + */ + "aoServerParams": [], + + /** + * Send the XHR HTTP method - GET or POST (could be PUT or DELETE if + * required). + * Note that this parameter will be set by the initialisation routine. To + * set a default use {@link DataTable.defaults}. + * @type string + */ + "sServerMethod": null, + + /** + * Format numbers for display. + * Note that this parameter will be set by the initialisation routine. To + * set a default use {@link DataTable.defaults}. + * @type function + */ + "fnFormatNumber": null, + + /** + * List of options that can be used for the user selectable length menu. + * Note that this parameter will be set by the initialisation routine. To + * set a default use {@link DataTable.defaults}. + * @type array + * @default [] + */ + "aLengthMenu": null, + + /** + * Counter for the draws that the table does. Also used as a tracker for + * server-side processing + * @type int + * @default 0 + */ + "iDraw": 0, + + /** + * Indicate if a redraw is being done - useful for Ajax + * @type boolean + * @default false + */ + "bDrawing": false, + + /** + * Draw index (iDraw) of the last error when parsing the returned data + * @type int + * @default -1 + */ + "iDrawError": -1, + + /** + * Paging display length + * @type int + * @default 10 + */ + "_iDisplayLength": 10, + + /** + * Paging start point - aiDisplay index + * @type int + * @default 0 + */ + "_iDisplayStart": 0, + + /** + * Server-side processing - number of records in the result set + * (i.e. before filtering), Use fnRecordsTotal rather than + * this property to get the value of the number of records, regardless of + * the server-side processing setting. + * @type int + * @default 0 + * @private + */ + "_iRecordsTotal": 0, + + /** + * Server-side processing - number of records in the current display set + * (i.e. after filtering). Use fnRecordsDisplay rather than + * this property to get the value of the number of records, regardless of + * the server-side processing setting. + * @type boolean + * @default 0 + * @private + */ + "_iRecordsDisplay": 0, + + /** + * Flag to indicate if jQuery UI marking and classes should be used. + * Note that this parameter will be set by the initialisation routine. To + * set a default use {@link DataTable.defaults}. + * @type boolean + */ + "bJUI": null, + + /** + * The classes to use for the table + * @type object + * @default {} + */ + "oClasses": {}, + + /** + * Flag attached to the settings object so you can check in the draw + * callback if filtering has been done in the draw. Deprecated in favour of + * events. + * @type boolean + * @default false + * @deprecated + */ + "bFiltered": false, + + /** + * Flag attached to the settings object so you can check in the draw + * callback if sorting has been done in the draw. Deprecated in favour of + * events. + * @type boolean + * @default false + * @deprecated + */ + "bSorted": false, + + /** + * Indicate that if multiple rows are in the header and there is more than + * one unique cell per column, if the top one (true) or bottom one (false) + * should be used for sorting / title by DataTables. + * Note that this parameter will be set by the initialisation routine. To + * set a default use {@link DataTable.defaults}. + * @type boolean + */ + "bSortCellsTop": null, + + /** + * Initialisation object that is used for the table + * @type object + * @default null + */ + "oInit": null, + + /** + * Destroy callback functions - for plug-ins to attach themselves to the + * destroy so they can clean up markup and events. + * @type array + * @default [] + */ + "aoDestroyCallback": [], + + + /** + * Get the number of records in the current record set, before filtering + * @type function + */ + "fnRecordsTotal": function () + { + return _fnDataSource( this ) == 'ssp' ? + this._iRecordsTotal * 1 : + this.aiDisplayMaster.length; + }, + + /** + * Get the number of records in the current record set, after filtering + * @type function + */ + "fnRecordsDisplay": function () + { + return _fnDataSource( this ) == 'ssp' ? + this._iRecordsDisplay * 1 : + this.aiDisplay.length; + }, + + /** + * Get the display end point - aiDisplay index + * @type function + */ + "fnDisplayEnd": function () + { + var + len = this._iDisplayLength, + start = this._iDisplayStart, + calc = start + len, + records = this.aiDisplay.length, + features = this.oFeatures, + paginate = features.bPaginate; + + if ( features.bServerSide ) { + return paginate === false || len === -1 ? + start + records : + Math.min( start+len, this._iRecordsDisplay ); + } + else { + return ! paginate || calc>records || len===-1 ? + records : + calc; + } + }, + + /** + * The DataTables object for this table + * @type object + * @default null + */ + "oInstance": null, + + /** + * Unique identifier for each instance of the DataTables object. If there + * is an ID on the table node, then it takes that value, otherwise an + * incrementing internal counter is used. + * @type string + * @default null + */ + "sInstance": null, + + /** + * tabindex attribute value that is added to DataTables control elements, allowing + * keyboard navigation of the table and its controls. + */ + "iTabIndex": 0, + + /** + * DIV container for the footer scrolling table if scrolling + */ + "nScrollHead": null, + + /** + * DIV container for the footer scrolling table if scrolling + */ + "nScrollFoot": null, + + /** + * Last applied sort + * @type array + * @default [] + */ + "aLastSort": [], + + /** + * Stored plug-in instances + * @type object + * @default {} + */ + "oPlugins": {} + }; + + /** + * Extension object for DataTables that is used to provide all extension + * options. + * + * Note that the `DataTable.ext` object is available through + * `jQuery.fn.dataTable.ext` where it may be accessed and manipulated. It is + * also aliased to `jQuery.fn.dataTableExt` for historic reasons. + * @namespace + * @extends DataTable.models.ext + */ + + + /** + * DataTables extensions + * + * This namespace acts as a collection area for plug-ins that can be used to + * extend DataTables capabilities. Indeed many of the build in methods + * use this method to provide their own capabilities (sorting methods for + * example). + * + * Note that this namespace is aliased to `jQuery.fn.dataTableExt` for legacy + * reasons + * + * @namespace + */ + DataTable.ext = _ext = { + /** + * Buttons. For use with the Buttons extension for DataTables. This is + * defined here so other extensions can define buttons regardless of load + * order. It is _not_ used by DataTables core. + * + * @type object + * @default {} + */ + buttons: {}, + + + /** + * Element class names + * + * @type object + * @default {} + */ + classes: {}, + + + /** + * Error reporting. + * + * How should DataTables report an error. Can take the value 'alert', + * 'throw', 'none' or a function. + * + * @type string|function + * @default alert + */ + errMode: "alert", + + + /** + * Feature plug-ins. + * + * This is an array of objects which describe the feature plug-ins that are + * available to DataTables. These feature plug-ins are then available for + * use through the `dom` initialisation option. + * + * Each feature plug-in is described by an object which must have the + * following properties: + * + * * `fnInit` - function that is used to initialise the plug-in, + * * `cFeature` - a character so the feature can be enabled by the `dom` + * instillation option. This is case sensitive. + * + * The `fnInit` function has the following input parameters: + * + * 1. `{object}` DataTables settings object: see + * {@link DataTable.models.oSettings} + * + * And the following return is expected: + * + * * {node|null} The element which contains your feature. Note that the + * return may also be void if your plug-in does not require to inject any + * DOM elements into DataTables control (`dom`) - for example this might + * be useful when developing a plug-in which allows table control via + * keyboard entry + * + * @type array + * + * @example + * $.fn.dataTable.ext.features.push( { + * "fnInit": function( oSettings ) { + * return new TableTools( { "oDTSettings": oSettings } ); + * }, + * "cFeature": "T" + * } ); + */ + feature: [], + + + /** + * Row searching. + * + * This method of searching is complimentary to the default type based + * searching, and a lot more comprehensive as it allows you complete control + * over the searching logic. Each element in this array is a function + * (parameters described below) that is called for every row in the table, + * and your logic decides if it should be included in the searching data set + * or not. + * + * Searching functions have the following input parameters: + * + * 1. `{object}` DataTables settings object: see + * {@link DataTable.models.oSettings} + * 2. `{array|object}` Data for the row to be processed (same as the + * original format that was passed in as the data source, or an array + * from a DOM data source + * 3. `{int}` Row index ({@link DataTable.models.oSettings.aoData}), which + * can be useful to retrieve the `TR` element if you need DOM interaction. + * + * And the following return is expected: + * + * * {boolean} Include the row in the searched result set (true) or not + * (false) + * + * Note that as with the main search ability in DataTables, technically this + * is "filtering", since it is subtractive. However, for consistency in + * naming we call it searching here. + * + * @type array + * @default [] + * + * @example + * // The following example shows custom search being applied to the + * // fourth column (i.e. the data[3] index) based on two input values + * // from the end-user, matching the data in a certain range. + * $.fn.dataTable.ext.search.push( + * function( settings, data, dataIndex ) { + * var min = document.getElementById('min').value * 1; + * var max = document.getElementById('max').value * 1; + * var version = data[3] == "-" ? 0 : data[3]*1; + * + * if ( min == "" && max == "" ) { + * return true; + * } + * else if ( min == "" && version < max ) { + * return true; + * } + * else if ( min < version && "" == max ) { + * return true; + * } + * else if ( min < version && version < max ) { + * return true; + * } + * return false; + * } + * ); + */ + search: [], + + + /** + * Selector extensions + * + * The `selector` option can be used to extend the options available for the + * selector modifier options (`selector-modifier` object data type) that + * each of the three built in selector types offer (row, column and cell + + * their plural counterparts). For example the Select extension uses this + * mechanism to provide an option to select only rows, columns and cells + * that have been marked as selected by the end user (`{selected: true}`), + * which can be used in conjunction with the existing built in selector + * options. + * + * Each property is an array to which functions can be pushed. The functions + * take three attributes: + * + * * Settings object for the host table + * * Options object (`selector-modifier` object type) + * * Array of selected item indexes + * + * The return is an array of the resulting item indexes after the custom + * selector has been applied. + * + * @type object + */ + selector: { + cell: [], + column: [], + row: [] + }, + + + /** + * Internal functions, exposed for used in plug-ins. + * + * Please note that you should not need to use the internal methods for + * anything other than a plug-in (and even then, try to avoid if possible). + * The internal function may change between releases. + * + * @type object + * @default {} + */ + internal: {}, + + + /** + * Legacy configuration options. Enable and disable legacy options that + * are available in DataTables. + * + * @type object + */ + legacy: { + /** + * Enable / disable DataTables 1.9 compatible server-side processing + * requests + * + * @type boolean + * @default null + */ + ajax: null + }, + + + /** + * Pagination plug-in methods. + * + * Each entry in this object is a function and defines which buttons should + * be shown by the pagination rendering method that is used for the table: + * {@link DataTable.ext.renderer.pageButton}. The renderer addresses how the + * buttons are displayed in the document, while the functions here tell it + * what buttons to display. This is done by returning an array of button + * descriptions (what each button will do). + * + * Pagination types (the four built in options and any additional plug-in + * options defined here) can be used through the `paginationType` + * initialisation parameter. + * + * The functions defined take two parameters: + * + * 1. `{int} page` The current page index + * 2. `{int} pages` The number of pages in the table + * + * Each function is expected to return an array where each element of the + * array can be one of: + * + * * `first` - Jump to first page when activated + * * `last` - Jump to last page when activated + * * `previous` - Show previous page when activated + * * `next` - Show next page when activated + * * `{int}` - Show page of the index given + * * `{array}` - A nested array containing the above elements to add a + * containing 'DIV' element (might be useful for styling). + * + * Note that DataTables v1.9- used this object slightly differently whereby + * an object with two functions would be defined for each plug-in. That + * ability is still supported by DataTables 1.10+ to provide backwards + * compatibility, but this option of use is now decremented and no longer + * documented in DataTables 1.10+. + * + * @type object + * @default {} + * + * @example + * // Show previous, next and current page buttons only + * $.fn.dataTableExt.oPagination.current = function ( page, pages ) { + * return [ 'previous', page, 'next' ]; + * }; + */ + pager: {}, + + + renderer: { + pageButton: {}, + header: {} + }, + + + /** + * Ordering plug-ins - custom data source + * + * The extension options for ordering of data available here is complimentary + * to the default type based ordering that DataTables typically uses. It + * allows much greater control over the the data that is being used to + * order a column, but is necessarily therefore more complex. + * + * This type of ordering is useful if you want to do ordering based on data + * live from the DOM (for example the contents of an 'input' element) rather + * than just the static string that DataTables knows of. + * + * The way these plug-ins work is that you create an array of the values you + * wish to be ordering for the column in question and then return that + * array. The data in the array much be in the index order of the rows in + * the table (not the currently ordering order!). Which order data gathering + * function is run here depends on the `dt-init columns.orderDataType` + * parameter that is used for the column (if any). + * + * The functions defined take two parameters: + * + * 1. `{object}` DataTables settings object: see + * {@link DataTable.models.oSettings} + * 2. `{int}` Target column index + * + * Each function is expected to return an array: + * + * * `{array}` Data for the column to be ordering upon + * + * @type array + * + * @example + * // Ordering using `input` node values + * $.fn.dataTable.ext.order['dom-text'] = function ( settings, col ) + * { + * return this.api().column( col, {order:'index'} ).nodes().map( function ( td, i ) { + * return $('input', td).val(); + * } ); + * } + */ + order: {}, + + + /** + * Type based plug-ins. + * + * Each column in DataTables has a type assigned to it, either by automatic + * detection or by direct assignment using the `type` option for the column. + * The type of a column will effect how it is ordering and search (plug-ins + * can also make use of the column type if required). + * + * @namespace + */ + type: { + /** + * Type detection functions. + * + * The functions defined in this object are used to automatically detect + * a column's type, making initialisation of DataTables super easy, even + * when complex data is in the table. + * + * The functions defined take two parameters: + * + * 1. `{*}` Data from the column cell to be analysed + * 2. `{settings}` DataTables settings object. This can be used to + * perform context specific type detection - for example detection + * based on language settings such as using a comma for a decimal + * place. Generally speaking the options from the settings will not + * be required + * + * Each function is expected to return: + * + * * `{string|null}` Data type detected, or null if unknown (and thus + * pass it on to the other type detection functions. + * + * @type array + * + * @example + * // Currency type detection plug-in: + * $.fn.dataTable.ext.type.detect.push( + * function ( data, settings ) { + * // Check the numeric part + * if ( ! $.isNumeric( data.substring(1) ) ) { + * return null; + * } + * + * // Check prefixed by currency + * if ( data.charAt(0) == '$' || data.charAt(0) == '£' ) { + * return 'currency'; + * } + * return null; + * } + * ); + */ + detect: [], + + + /** + * Type based search formatting. + * + * The type based searching functions can be used to pre-format the + * data to be search on. For example, it can be used to strip HTML + * tags or to de-format telephone numbers for numeric only searching. + * + * Note that is a search is not defined for a column of a given type, + * no search formatting will be performed. + * + * Pre-processing of searching data plug-ins - When you assign the sType + * for a column (or have it automatically detected for you by DataTables + * or a type detection plug-in), you will typically be using this for + * custom sorting, but it can also be used to provide custom searching + * by allowing you to pre-processing the data and returning the data in + * the format that should be searched upon. This is done by adding + * functions this object with a parameter name which matches the sType + * for that target column. This is the corollary of afnSortData + * for searching data. + * + * The functions defined take a single parameter: + * + * 1. `{*}` Data from the column cell to be prepared for searching + * + * Each function is expected to return: + * + * * `{string|null}` Formatted string that will be used for the searching. + * + * @type object + * @default {} + * + * @example + * $.fn.dataTable.ext.type.search['title-numeric'] = function ( d ) { + * return d.replace(/\n/g," ").replace( /<.*?>/g, "" ); + * } + */ + search: {}, + + + /** + * Type based ordering. + * + * The column type tells DataTables what ordering to apply to the table + * when a column is sorted upon. The order for each type that is defined, + * is defined by the functions available in this object. + * + * Each ordering option can be described by three properties added to + * this object: + * + * * `{type}-pre` - Pre-formatting function + * * `{type}-asc` - Ascending order function + * * `{type}-desc` - Descending order function + * + * All three can be used together, only `{type}-pre` or only + * `{type}-asc` and `{type}-desc` together. It is generally recommended + * that only `{type}-pre` is used, as this provides the optimal + * implementation in terms of speed, although the others are provided + * for compatibility with existing Javascript sort functions. + * + * `{type}-pre`: Functions defined take a single parameter: + * + * 1. `{*}` Data from the column cell to be prepared for ordering + * + * And return: + * + * * `{*}` Data to be sorted upon + * + * `{type}-asc` and `{type}-desc`: Functions are typical Javascript sort + * functions, taking two parameters: + * + * 1. `{*}` Data to compare to the second parameter + * 2. `{*}` Data to compare to the first parameter + * + * And returning: + * + * * `{*}` Ordering match: <0 if first parameter should be sorted lower + * than the second parameter, ===0 if the two parameters are equal and + * >0 if the first parameter should be sorted height than the second + * parameter. + * + * @type object + * @default {} + * + * @example + * // Numeric ordering of formatted numbers with a pre-formatter + * $.extend( $.fn.dataTable.ext.type.order, { + * "string-pre": function(x) { + * a = (a === "-" || a === "") ? 0 : a.replace( /[^\d\-\.]/g, "" ); + * return parseFloat( a ); + * } + * } ); + * + * @example + * // Case-sensitive string ordering, with no pre-formatting method + * $.extend( $.fn.dataTable.ext.order, { + * "string-case-asc": function(x,y) { + * return ((x < y) ? -1 : ((x > y) ? 1 : 0)); + * }, + * "string-case-desc": function(x,y) { + * return ((x < y) ? 1 : ((x > y) ? -1 : 0)); + * } + * } ); + */ + order: {} + }, + + /** + * Unique DataTables instance counter + * + * @type int + * @private + */ + _unique: 0, + + + // + // Depreciated + // The following properties are retained for backwards compatiblity only. + // The should not be used in new projects and will be removed in a future + // version + // + + /** + * Version check function. + * @type function + * @depreciated Since 1.10 + */ + fnVersionCheck: DataTable.fnVersionCheck, + + + /** + * Index for what 'this' index API functions should use + * @type int + * @deprecated Since v1.10 + */ + iApiIndex: 0, + + + /** + * jQuery UI class container + * @type object + * @deprecated Since v1.10 + */ + oJUIClasses: {}, + + + /** + * Software version + * @type string + * @deprecated Since v1.10 + */ + sVersion: DataTable.version + }; + + + // + // Backwards compatibility. Alias to pre 1.10 Hungarian notation counter parts + // + $.extend( _ext, { + afnFiltering: _ext.search, + aTypes: _ext.type.detect, + ofnSearch: _ext.type.search, + oSort: _ext.type.order, + afnSortData: _ext.order, + aoFeatures: _ext.feature, + oApi: _ext.internal, + oStdClasses: _ext.classes, + oPagination: _ext.pager + } ); + + + $.extend( DataTable.ext.classes, { + "sTable": "dataTable", + "sNoFooter": "no-footer", + + /* Paging buttons */ + "sPageButton": "paginate_button", + "sPageButtonActive": "current", + "sPageButtonDisabled": "disabled", + + /* Striping classes */ + "sStripeOdd": "odd", + "sStripeEven": "even", + + /* Empty row */ + "sRowEmpty": "dataTables_empty", + + /* Features */ + "sWrapper": "dataTables_wrapper", + "sFilter": "dataTables_filter", + "sInfo": "dataTables_info", + "sPaging": "dataTables_paginate paging_", /* Note that the type is postfixed */ + "sLength": "dataTables_length", + "sProcessing": "dataTables_processing", + + /* Sorting */ + "sSortAsc": "sorting_asc", + "sSortDesc": "sorting_desc", + "sSortable": "sorting", /* Sortable in both directions */ + "sSortableAsc": "sorting_asc_disabled", + "sSortableDesc": "sorting_desc_disabled", + "sSortableNone": "sorting_disabled", + "sSortColumn": "sorting_", /* Note that an int is postfixed for the sorting order */ + + /* Filtering */ + "sFilterInput": "", + + /* Page length */ + "sLengthSelect": "", + + /* Scrolling */ + "sScrollWrapper": "dataTables_scroll", + "sScrollHead": "dataTables_scrollHead", + "sScrollHeadInner": "dataTables_scrollHeadInner", + "sScrollBody": "dataTables_scrollBody", + "sScrollFoot": "dataTables_scrollFoot", + "sScrollFootInner": "dataTables_scrollFootInner", + + /* Misc */ + "sHeaderTH": "", + "sFooterTH": "", + + // Deprecated + "sSortJUIAsc": "", + "sSortJUIDesc": "", + "sSortJUI": "", + "sSortJUIAscAllowed": "", + "sSortJUIDescAllowed": "", + "sSortJUIWrapper": "", + "sSortIcon": "", + "sJUIHeader": "", + "sJUIFooter": "" + } ); + + + (function() { + + // Reused strings for better compression. Closure compiler appears to have a + // weird edge case where it is trying to expand strings rather than use the + // variable version. This results in about 200 bytes being added, for very + // little preference benefit since it this run on script load only. + var _empty = ''; + _empty = ''; + + var _stateDefault = _empty + 'ui-state-default'; + var _sortIcon = _empty + 'css_right ui-icon ui-icon-'; + var _headerFooter = _empty + 'fg-toolbar ui-toolbar ui-widget-header ui-helper-clearfix'; + + $.extend( DataTable.ext.oJUIClasses, DataTable.ext.classes, { + /* Full numbers paging buttons */ + "sPageButton": "fg-button ui-button "+_stateDefault, + "sPageButtonActive": "ui-state-disabled", + "sPageButtonDisabled": "ui-state-disabled", + + /* Features */ + "sPaging": "dataTables_paginate fg-buttonset ui-buttonset fg-buttonset-multi "+ + "ui-buttonset-multi paging_", /* Note that the type is postfixed */ + + /* Sorting */ + "sSortAsc": _stateDefault+" sorting_asc", + "sSortDesc": _stateDefault+" sorting_desc", + "sSortable": _stateDefault+" sorting", + "sSortableAsc": _stateDefault+" sorting_asc_disabled", + "sSortableDesc": _stateDefault+" sorting_desc_disabled", + "sSortableNone": _stateDefault+" sorting_disabled", + "sSortJUIAsc": _sortIcon+"triangle-1-n", + "sSortJUIDesc": _sortIcon+"triangle-1-s", + "sSortJUI": _sortIcon+"carat-2-n-s", + "sSortJUIAscAllowed": _sortIcon+"carat-1-n", + "sSortJUIDescAllowed": _sortIcon+"carat-1-s", + "sSortJUIWrapper": "DataTables_sort_wrapper", + "sSortIcon": "DataTables_sort_icon", + + /* Scrolling */ + "sScrollHead": "dataTables_scrollHead "+_stateDefault, + "sScrollFoot": "dataTables_scrollFoot "+_stateDefault, + + /* Misc */ + "sHeaderTH": _stateDefault, + "sFooterTH": _stateDefault, + "sJUIHeader": _headerFooter+" ui-corner-tl ui-corner-tr", + "sJUIFooter": _headerFooter+" ui-corner-bl ui-corner-br" + } ); + + }()); + + + + var extPagination = DataTable.ext.pager; + + function _numbers ( page, pages ) { + var + numbers = [], + buttons = extPagination.numbers_length, + half = Math.floor( buttons / 2 ), + i = 1; + + if ( pages <= buttons ) { + numbers = _range( 0, pages ); + } + else if ( page <= half ) { + numbers = _range( 0, buttons-2 ); + numbers.push( 'ellipsis' ); + numbers.push( pages-1 ); + } + else if ( page >= pages - 1 - half ) { + numbers = _range( pages-(buttons-2), pages ); + numbers.splice( 0, 0, 'ellipsis' ); // no unshift in ie6 + numbers.splice( 0, 0, 0 ); + } + else { + numbers = _range( page-half+2, page+half-1 ); + numbers.push( 'ellipsis' ); + numbers.push( pages-1 ); + numbers.splice( 0, 0, 'ellipsis' ); + numbers.splice( 0, 0, 0 ); + } + + numbers.DT_el = 'span'; + return numbers; + } + + + $.extend( extPagination, { + simple: function ( page, pages ) { + return [ 'previous', 'next' ]; + }, + + full: function ( page, pages ) { + return [ 'first', 'previous', 'next', 'last' ]; + }, + + simple_numbers: function ( page, pages ) { + return [ 'previous', _numbers(page, pages), 'next' ]; + }, + + full_numbers: function ( page, pages ) { + return [ 'first', 'previous', _numbers(page, pages), 'next', 'last' ]; + }, + + // For testing and plug-ins to use + _numbers: _numbers, + + // Number of number buttons (including ellipsis) to show. _Must be odd!_ + numbers_length: 7 + } ); + + + $.extend( true, DataTable.ext.renderer, { + pageButton: { + _: function ( settings, host, idx, buttons, page, pages ) { + var classes = settings.oClasses; + var lang = settings.oLanguage.oPaginate; + var btnDisplay, btnClass, counter=0; + + var attach = function( container, buttons ) { + var i, ien, node, button; + var clickHandler = function ( e ) { + _fnPageChange( settings, e.data.action, true ); + }; + + for ( i=0, ien=buttons.length ; i' ) + .appendTo( container ); + attach( inner, button ); + } + else { + btnDisplay = ''; + btnClass = ''; + + switch ( button ) { + case 'ellipsis': + container.append(''); + break; + + case 'first': + btnDisplay = lang.sFirst; + btnClass = button + (page > 0 ? + '' : ' '+classes.sPageButtonDisabled); + break; + + case 'previous': + btnDisplay = lang.sPrevious; + btnClass = button + (page > 0 ? + '' : ' '+classes.sPageButtonDisabled); + break; + + case 'next': + btnDisplay = lang.sNext; + btnClass = button + (page < pages-1 ? + '' : ' '+classes.sPageButtonDisabled); + break; + + case 'last': + btnDisplay = lang.sLast; + btnClass = button + (page < pages-1 ? + '' : ' '+classes.sPageButtonDisabled); + break; + + default: + btnDisplay = button + 1; + btnClass = page === button ? + classes.sPageButtonActive : ''; + break; + } + + if ( btnDisplay ) { + node = $('', { + 'class': classes.sPageButton+' '+btnClass, + 'aria-controls': settings.sTableId, + 'data-dt-idx': counter, + 'tabindex': settings.iTabIndex, + 'id': idx === 0 && typeof button === 'string' ? + settings.sTableId +'_'+ button : + null + } ) + .html( btnDisplay ) + .appendTo( container ); + + _fnBindAction( + node, {action: button}, clickHandler + ); + + counter++; + } + } + } + }; + + // IE9 throws an 'unknown error' if document.activeElement is used + // inside an iframe or frame. Try / catch the error. Not good for + // accessibility, but neither are frames. + var activeEl; + + try { + // Because this approach is destroying and recreating the paging + // elements, focus is lost on the select button which is bad for + // accessibility. So we want to restore focus once the draw has + // completed + activeEl = $(document.activeElement).data('dt-idx'); + } + catch (e) {} + + attach( $(host).empty(), buttons ); + + if ( activeEl ) { + $(host).find( '[data-dt-idx='+activeEl+']' ).focus(); + } + } + } + } ); + + + + // Built in type detection. See model.ext.aTypes for information about + // what is required from this methods. + $.extend( DataTable.ext.type.detect, [ + // Plain numbers - first since V8 detects some plain numbers as dates + // e.g. Date.parse('55') (but not all, e.g. Date.parse('22')...). + function ( d, settings ) + { + var decimal = settings.oLanguage.sDecimal; + return _isNumber( d, decimal ) ? 'num'+decimal : null; + }, + + // Dates (only those recognised by the browser's Date.parse) + function ( d, settings ) + { + // V8 will remove any unknown characters at the start and end of the + // expression, leading to false matches such as `$245.12` or `10%` being + // a valid date. See forum thread 18941 for detail. + if ( d && !(d instanceof Date) && ( ! _re_date_start.test(d) || ! _re_date_end.test(d) ) ) { + return null; + } + var parsed = Date.parse(d); + return (parsed !== null && !isNaN(parsed)) || _empty(d) ? 'date' : null; + }, + + // Formatted numbers + function ( d, settings ) + { + var decimal = settings.oLanguage.sDecimal; + return _isNumber( d, decimal, true ) ? 'num-fmt'+decimal : null; + }, + + // HTML numeric + function ( d, settings ) + { + var decimal = settings.oLanguage.sDecimal; + return _htmlNumeric( d, decimal ) ? 'html-num'+decimal : null; + }, + + // HTML numeric, formatted + function ( d, settings ) + { + var decimal = settings.oLanguage.sDecimal; + return _htmlNumeric( d, decimal, true ) ? 'html-num-fmt'+decimal : null; + }, + + // HTML (this is strict checking - there must be html) + function ( d, settings ) + { + return _empty( d ) || (typeof d === 'string' && d.indexOf('<') !== -1) ? + 'html' : null; + } + ] ); + + + + // Filter formatting functions. See model.ext.ofnSearch for information about + // what is required from these methods. + // + // Note that additional search methods are added for the html numbers and + // html formatted numbers by `_addNumericSort()` when we know what the decimal + // place is + + + $.extend( DataTable.ext.type.search, { + html: function ( data ) { + return _empty(data) ? + data : + typeof data === 'string' ? + data + .replace( _re_new_lines, " " ) + .replace( _re_html, "" ) : + ''; + }, + + string: function ( data ) { + return _empty(data) ? + data : + typeof data === 'string' ? + data.replace( _re_new_lines, " " ) : + data; + } + } ); + + + + var __numericReplace = function ( d, decimalPlace, re1, re2 ) { + if ( d !== 0 && (!d || d === '-') ) { + return -Infinity; + } + + // If a decimal place other than `.` is used, it needs to be given to the + // function so we can detect it and replace with a `.` which is the only + // decimal place Javascript recognises - it is not locale aware. + if ( decimalPlace ) { + d = _numToDecimal( d, decimalPlace ); + } + + if ( d.replace ) { + if ( re1 ) { + d = d.replace( re1, '' ); + } + + if ( re2 ) { + d = d.replace( re2, '' ); + } + } + + return d * 1; + }; + + + // Add the numeric 'deformatting' functions for sorting and search. This is done + // in a function to provide an easy ability for the language options to add + // additional methods if a non-period decimal place is used. + function _addNumericSort ( decimalPlace ) { + $.each( + { + // Plain numbers + "num": function ( d ) { + return __numericReplace( d, decimalPlace ); + }, + + // Formatted numbers + "num-fmt": function ( d ) { + return __numericReplace( d, decimalPlace, _re_formatted_numeric ); + }, + + // HTML numeric + "html-num": function ( d ) { + return __numericReplace( d, decimalPlace, _re_html ); + }, + + // HTML numeric, formatted + "html-num-fmt": function ( d ) { + return __numericReplace( d, decimalPlace, _re_html, _re_formatted_numeric ); + } + }, + function ( key, fn ) { + // Add the ordering method + _ext.type.order[ key+decimalPlace+'-pre' ] = fn; + + // For HTML types add a search formatter that will strip the HTML + if ( key.match(/^html\-/) ) { + _ext.type.search[ key+decimalPlace ] = _ext.type.search.html; + } + } + ); + } + + + // Default sort methods + $.extend( _ext.type.order, { + // Dates + "date-pre": function ( d ) { + return Date.parse( d ) || 0; + }, + + // html + "html-pre": function ( a ) { + return _empty(a) ? + '' : + a.replace ? + a.replace( /<.*?>/g, "" ).toLowerCase() : + a+''; + }, + + // string + "string-pre": function ( a ) { + // This is a little complex, but faster than always calling toString, + // http://jsperf.com/tostring-v-check + return _empty(a) ? + '' : + typeof a === 'string' ? + a.toLowerCase() : + ! a.toString ? + '' : + a.toString(); + }, + + // string-asc and -desc are retained only for compatibility with the old + // sort methods + "string-asc": function ( x, y ) { + return ((x < y) ? -1 : ((x > y) ? 1 : 0)); + }, + + "string-desc": function ( x, y ) { + return ((x < y) ? 1 : ((x > y) ? -1 : 0)); + } + } ); + + + // Numeric sorting types - order doesn't matter here + _addNumericSort( '' ); + + + $.extend( true, DataTable.ext.renderer, { + header: { + _: function ( settings, cell, column, classes ) { + // No additional mark-up required + // Attach a sort listener to update on sort - note that using the + // `DT` namespace will allow the event to be removed automatically + // on destroy, while the `dt` namespaced event is the one we are + // listening for + $(settings.nTable).on( 'order.dt.DT', function ( e, ctx, sorting, columns ) { + if ( settings !== ctx ) { // need to check this this is the host + return; // table, not a nested one + } + + var colIdx = column.idx; + + cell + .removeClass( + column.sSortingClass +' '+ + classes.sSortAsc +' '+ + classes.sSortDesc + ) + .addClass( columns[ colIdx ] == 'asc' ? + classes.sSortAsc : columns[ colIdx ] == 'desc' ? + classes.sSortDesc : + column.sSortingClass + ); + } ); + }, + + jqueryui: function ( settings, cell, column, classes ) { + $('
') + .addClass( classes.sSortJUIWrapper ) + .append( cell.contents() ) + .append( $('') + .addClass( classes.sSortIcon+' '+column.sSortingClassJUI ) + ) + .appendTo( cell ); + + // Attach a sort listener to update on sort + $(settings.nTable).on( 'order.dt.DT', function ( e, ctx, sorting, columns ) { + if ( settings !== ctx ) { + return; + } + + var colIdx = column.idx; + + cell + .removeClass( classes.sSortAsc +" "+classes.sSortDesc ) + .addClass( columns[ colIdx ] == 'asc' ? + classes.sSortAsc : columns[ colIdx ] == 'desc' ? + classes.sSortDesc : + column.sSortingClass + ); + + cell + .find( 'span.'+classes.sSortIcon ) + .removeClass( + classes.sSortJUIAsc +" "+ + classes.sSortJUIDesc +" "+ + classes.sSortJUI +" "+ + classes.sSortJUIAscAllowed +" "+ + classes.sSortJUIDescAllowed + ) + .addClass( columns[ colIdx ] == 'asc' ? + classes.sSortJUIAsc : columns[ colIdx ] == 'desc' ? + classes.sSortJUIDesc : + column.sSortingClassJUI + ); + } ); + } + } + } ); + + /* + * Public helper functions. These aren't used internally by DataTables, or + * called by any of the options passed into DataTables, but they can be used + * externally by developers working with DataTables. They are helper functions + * to make working with DataTables a little bit easier. + */ + + /** + * Helpers for `columns.render`. + * + * The options defined here can be used with the `columns.render` initialisation + * option to provide a display renderer. The following functions are defined: + * + * * `number` - Will format numeric data (defined by `columns.data`) for + * display, retaining the original unformatted data for sorting and filtering. + * It takes 4 parameters: + * * `string` - Thousands grouping separator + * * `string` - Decimal point indicator + * * `integer` - Number of decimal points to show + * * `string` (optional) - Prefix. + * + * @example + * // Column definition using the number renderer + * { + * data: "salary", + * render: $.fn.dataTable.render.number( '\'', '.', 0, '$' ) + * } + * + * @namespace + */ + DataTable.render = { + number: function ( thousands, decimal, precision, prefix ) { + return { + display: function ( d ) { + if ( typeof d !== 'number' && typeof d !== 'string' ) { + return d; + } + + var negative = d < 0 ? '-' : ''; + d = Math.abs( parseFloat( d ) ); + + var intPart = parseInt( d, 10 ); + var floatPart = precision ? + decimal+(d - intPart).toFixed( precision ).substring( 2 ): + ''; + + return negative + (prefix||'') + + intPart.toString().replace( + /\B(?=(\d{3})+(?!\d))/g, thousands + ) + + floatPart; + } + }; + } + }; + + + /* + * This is really a good bit rubbish this method of exposing the internal methods + * publicly... - To be fixed in 2.0 using methods on the prototype + */ + + + /** + * Create a wrapper function for exporting an internal functions to an external API. + * @param {string} fn API function name + * @returns {function} wrapped function + * @memberof DataTable#internal + */ + function _fnExternApiFunc (fn) + { + return function() { + var args = [_fnSettingsFromNode( this[DataTable.ext.iApiIndex] )].concat( + Array.prototype.slice.call(arguments) + ); + return DataTable.ext.internal[fn].apply( this, args ); + }; + } + + + /** + * Reference to internal functions for use by plug-in developers. Note that + * these methods are references to internal functions and are considered to be + * private. If you use these methods, be aware that they are liable to change + * between versions. + * @namespace + */ + $.extend( DataTable.ext.internal, { + _fnExternApiFunc: _fnExternApiFunc, + _fnBuildAjax: _fnBuildAjax, + _fnAjaxUpdate: _fnAjaxUpdate, + _fnAjaxParameters: _fnAjaxParameters, + _fnAjaxUpdateDraw: _fnAjaxUpdateDraw, + _fnAjaxDataSrc: _fnAjaxDataSrc, + _fnAddColumn: _fnAddColumn, + _fnColumnOptions: _fnColumnOptions, + _fnAdjustColumnSizing: _fnAdjustColumnSizing, + _fnVisibleToColumnIndex: _fnVisibleToColumnIndex, + _fnColumnIndexToVisible: _fnColumnIndexToVisible, + _fnVisbleColumns: _fnVisbleColumns, + _fnGetColumns: _fnGetColumns, + _fnColumnTypes: _fnColumnTypes, + _fnApplyColumnDefs: _fnApplyColumnDefs, + _fnHungarianMap: _fnHungarianMap, + _fnCamelToHungarian: _fnCamelToHungarian, + _fnLanguageCompat: _fnLanguageCompat, + _fnBrowserDetect: _fnBrowserDetect, + _fnAddData: _fnAddData, + _fnAddTr: _fnAddTr, + _fnNodeToDataIndex: _fnNodeToDataIndex, + _fnNodeToColumnIndex: _fnNodeToColumnIndex, + _fnGetCellData: _fnGetCellData, + _fnSetCellData: _fnSetCellData, + _fnSplitObjNotation: _fnSplitObjNotation, + _fnGetObjectDataFn: _fnGetObjectDataFn, + _fnSetObjectDataFn: _fnSetObjectDataFn, + _fnGetDataMaster: _fnGetDataMaster, + _fnClearTable: _fnClearTable, + _fnDeleteIndex: _fnDeleteIndex, + _fnInvalidate: _fnInvalidate, + _fnGetRowElements: _fnGetRowElements, + _fnCreateTr: _fnCreateTr, + _fnBuildHead: _fnBuildHead, + _fnDrawHead: _fnDrawHead, + _fnDraw: _fnDraw, + _fnReDraw: _fnReDraw, + _fnAddOptionsHtml: _fnAddOptionsHtml, + _fnDetectHeader: _fnDetectHeader, + _fnGetUniqueThs: _fnGetUniqueThs, + _fnFeatureHtmlFilter: _fnFeatureHtmlFilter, + _fnFilterComplete: _fnFilterComplete, + _fnFilterCustom: _fnFilterCustom, + _fnFilterColumn: _fnFilterColumn, + _fnFilter: _fnFilter, + _fnFilterCreateSearch: _fnFilterCreateSearch, + _fnEscapeRegex: _fnEscapeRegex, + _fnFilterData: _fnFilterData, + _fnFeatureHtmlInfo: _fnFeatureHtmlInfo, + _fnUpdateInfo: _fnUpdateInfo, + _fnInfoMacros: _fnInfoMacros, + _fnInitialise: _fnInitialise, + _fnInitComplete: _fnInitComplete, + _fnLengthChange: _fnLengthChange, + _fnFeatureHtmlLength: _fnFeatureHtmlLength, + _fnFeatureHtmlPaginate: _fnFeatureHtmlPaginate, + _fnPageChange: _fnPageChange, + _fnFeatureHtmlProcessing: _fnFeatureHtmlProcessing, + _fnProcessingDisplay: _fnProcessingDisplay, + _fnFeatureHtmlTable: _fnFeatureHtmlTable, + _fnScrollDraw: _fnScrollDraw, + _fnApplyToChildren: _fnApplyToChildren, + _fnCalculateColumnWidths: _fnCalculateColumnWidths, + _fnThrottle: _fnThrottle, + _fnConvertToWidth: _fnConvertToWidth, + _fnScrollingWidthAdjust: _fnScrollingWidthAdjust, + _fnGetWidestNode: _fnGetWidestNode, + _fnGetMaxLenString: _fnGetMaxLenString, + _fnStringToCss: _fnStringToCss, + _fnScrollBarWidth: _fnScrollBarWidth, + _fnSortFlatten: _fnSortFlatten, + _fnSort: _fnSort, + _fnSortAria: _fnSortAria, + _fnSortListener: _fnSortListener, + _fnSortAttachListener: _fnSortAttachListener, + _fnSortingClasses: _fnSortingClasses, + _fnSortData: _fnSortData, + _fnSaveState: _fnSaveState, + _fnLoadState: _fnLoadState, + _fnSettingsFromNode: _fnSettingsFromNode, + _fnLog: _fnLog, + _fnMap: _fnMap, + _fnBindAction: _fnBindAction, + _fnCallbackReg: _fnCallbackReg, + _fnCallbackFire: _fnCallbackFire, + _fnLengthOverflow: _fnLengthOverflow, + _fnRenderer: _fnRenderer, + _fnDataSource: _fnDataSource, + _fnRowAttributes: _fnRowAttributes, + _fnCalculateEnd: function () {} // Used by a lot of plug-ins, but redundant + // in 1.10, so this dead-end function is + // added to prevent errors + } ); + + + // jQuery access + $.fn.dataTable = DataTable; + + // Legacy aliases + $.fn.dataTableSettings = DataTable.settings; + $.fn.dataTableExt = DataTable.ext; + + // With a capital `D` we return a DataTables API instance rather than a + // jQuery object + $.fn.DataTable = function ( opts ) { + return $(this).dataTable( opts ).api(); + }; + + // All properties that are available to $.fn.dataTable should also be + // available on $.fn.DataTable + $.each( DataTable, function ( prop, val ) { + $.fn.DataTable[ prop ] = val; + } ); + + + // Information about events fired by DataTables - for documentation. + /** + * Draw event, fired whenever the table is redrawn on the page, at the same + * point as fnDrawCallback. This may be useful for binding events or + * performing calculations when the table is altered at all. + * @name DataTable#draw.dt + * @event + * @param {event} e jQuery event object + * @param {object} o DataTables settings object {@link DataTable.models.oSettings} + */ + + /** + * Search event, fired when the searching applied to the table (using the + * built-in global search, or column filters) is altered. + * @name DataTable#search.dt + * @event + * @param {event} e jQuery event object + * @param {object} o DataTables settings object {@link DataTable.models.oSettings} + */ + + /** + * Page change event, fired when the paging of the table is altered. + * @name DataTable#page.dt + * @event + * @param {event} e jQuery event object + * @param {object} o DataTables settings object {@link DataTable.models.oSettings} + */ + + /** + * Order event, fired when the ordering applied to the table is altered. + * @name DataTable#order.dt + * @event + * @param {event} e jQuery event object + * @param {object} o DataTables settings object {@link DataTable.models.oSettings} + */ + + /** + * DataTables initialisation complete event, fired when the table is fully + * drawn, including Ajax data loaded, if Ajax data is required. + * @name DataTable#init.dt + * @event + * @param {event} e jQuery event object + * @param {object} oSettings DataTables settings object + * @param {object} json The JSON object request from the server - only + * present if client-side Ajax sourced data is used + */ + + /** + * State save event, fired when the table has changed state a new state save + * is required. This event allows modification of the state saving object + * prior to actually doing the save, including addition or other state + * properties (for plug-ins) or modification of a DataTables core property. + * @name DataTable#stateSaveParams.dt + * @event + * @param {event} e jQuery event object + * @param {object} oSettings DataTables settings object + * @param {object} json The state information to be saved + */ + + /** + * State load event, fired when the table is loading state from the stored + * data, but prior to the settings object being modified by the saved state + * - allowing modification of the saved state is required or loading of + * state for a plug-in. + * @name DataTable#stateLoadParams.dt + * @event + * @param {event} e jQuery event object + * @param {object} oSettings DataTables settings object + * @param {object} json The saved state information + */ + + /** + * State loaded event, fired when state has been loaded from stored data and + * the settings object has been modified by the loaded data. + * @name DataTable#stateLoaded.dt + * @event + * @param {event} e jQuery event object + * @param {object} oSettings DataTables settings object + * @param {object} json The saved state information + */ + + /** + * Processing event, fired when DataTables is doing some kind of processing + * (be it, order, searcg or anything else). It can be used to indicate to + * the end user that there is something happening, or that something has + * finished. + * @name DataTable#processing.dt + * @event + * @param {event} e jQuery event object + * @param {object} oSettings DataTables settings object + * @param {boolean} bShow Flag for if DataTables is doing processing or not + */ + + /** + * Ajax (XHR) event, fired whenever an Ajax request is completed from a + * request to made to the server for new data. This event is called before + * DataTables processed the returned data, so it can also be used to pre- + * process the data returned from the server, if needed. + * + * Note that this trigger is called in `fnServerData`, if you override + * `fnServerData` and which to use this event, you need to trigger it in you + * success function. + * @name DataTable#xhr.dt + * @event + * @param {event} e jQuery event object + * @param {object} o DataTables settings object {@link DataTable.models.oSettings} + * @param {object} json JSON returned from the server + * + * @example + * // Use a custom property returned from the server in another DOM element + * $('#table').dataTable().on('xhr.dt', function (e, settings, json) { + * $('#status').html( json.status ); + * } ); + * + * @example + * // Pre-process the data returned from the server + * $('#table').dataTable().on('xhr.dt', function (e, settings, json) { + * for ( var i=0, ien=json.aaData.length ; i").css({position:"absolute",top:0,left:0,height:1,width:1,overflow:"hidden"}).append(h("
").css({position:"absolute", +top:1,left:1,width:100,overflow:"scroll"}).append(h('
').css({width:"100%",height:10}))).appendTo("body"),c=b.find(".test");a.bScrollOversize=100===c[0].offsetWidth;a.bScrollbarLeft=1!==Math.round(c.offset().left);b.remove()}function hb(a,b,c,e,d,f){var g,j=!1;c!==k&&(g=c,j=!0);for(;e!==d;)a.hasOwnProperty(e)&&(g=j?b(g,a[e],e,a):a[e],j=!0,e+=f);return g}function Fa(a,b){var c=m.defaults.column,e=a.aoColumns.length,c=h.extend({},m.models.oColumn,c,{nTh:b?b:Q.createElement("th"),sTitle:c.sTitle? +c.sTitle:b?b.innerHTML:"",aDataSort:c.aDataSort?c.aDataSort:[e],mData:c.mData?c.mData:e,idx:e});a.aoColumns.push(c);c=a.aoPreSearchCols;c[e]=h.extend({},m.models.oSearch,c[e]);ka(a,e,h(b).data())}function ka(a,b,c){var b=a.aoColumns[b],e=a.oClasses,d=h(b.nTh);if(!b.sWidthOrig){b.sWidthOrig=d.attr("width")||null;var f=(d.attr("style")||"").match(/width:\s*(\d+[pxem%]+)/);f&&(b.sWidthOrig=f[1])}c!==k&&null!==c&&(fb(c),H(m.defaults.column,c),c.mDataProp!==k&&!c.mData&&(c.mData=c.mDataProp),c.sType&& +(b._sManualType=c.sType),c.className&&!c.sClass&&(c.sClass=c.className),h.extend(b,c),E(b,c,"sWidth","sWidthOrig"),c.iDataSort!==k&&(b.aDataSort=[c.iDataSort]),E(b,c,"aDataSort"));var g=b.mData,j=R(g),i=b.mRender?R(b.mRender):null,c=function(a){return"string"===typeof a&&-1!==a.indexOf("@")};b._bAttrSrc=h.isPlainObject(g)&&(c(g.sort)||c(g.type)||c(g.filter));b.fnGetData=function(a,b,c){var e=j(a,b,k,c);return i&&b?i(e,b,a,c):e};b.fnSetData=function(a,b,c){return S(g)(a,b,c)};"number"!==typeof g&& +(a._rowReadObject=!0);a.oFeatures.bSort||(b.bSortable=!1,d.addClass(e.sSortableNone));a=-1!==h.inArray("asc",b.asSorting);c=-1!==h.inArray("desc",b.asSorting);!b.bSortable||!a&&!c?(b.sSortingClass=e.sSortableNone,b.sSortingClassJUI=""):a&&!c?(b.sSortingClass=e.sSortableAsc,b.sSortingClassJUI=e.sSortJUIAscAllowed):!a&&c?(b.sSortingClass=e.sSortableDesc,b.sSortingClassJUI=e.sSortJUIDescAllowed):(b.sSortingClass=e.sSortable,b.sSortingClassJUI=e.sSortJUI)}function X(a){if(!1!==a.oFeatures.bAutoWidth){var b= +a.aoColumns;Ga(a);for(var c=0,e=b.length;cq[f])e(l.length+q[f],o);else if("string"===typeof q[f]){j=0;for(i=l.length;jb&&a[d]--; -1!=e&&c===k&&a.splice(e,1)}function ca(a,b,c,e){var d=a.aoData[b],f,g=function(c,f){for(;c.childNodes.length;)c.removeChild(c.firstChild);c.innerHTML=x(a,b,f,"display")};if("dom"===c||(!c||"auto"===c)&&"dom"===d.src)d._aData=na(a,d,e,e===k?k:d._aData).data;else{var j=d.anCells;if(j)if(e!==k)g(j[e],e);else{c=0;for(f=j.length;c").appendTo(g));b=0;for(c=l.length;btr").attr("role","row");h(g).find(">tr>th, >tr>td").addClass(o.sHeaderTH); +h(j).find(">tr>th, >tr>td").addClass(o.sFooterTH);if(null!==j){a=a.aoFooter[0];b=0;for(c=a.length;b=a.fnRecordsDisplay()?0:g,a.iInitDisplayStart=-1);var g=a._iDisplayStart,o=a.fnDisplayEnd();if(a.bDeferLoading)a.bDeferLoading=!1,a.iDraw++,C(a,!1);else if(j){if(!a.bDestroying&&!kb(a))return}else a.iDraw++;if(0!==i.length){f=j?a.aoData.length:o;for(j=j?0:g;j",{"class":d?e[0]:""}).append(h("
").appendTo(this));p.nTBody=j[0];j=q.children("tfoot");if(0===j.length&&0").appendTo(this);0===j.length||0===j.children().length?q.addClass(i.sNoFooter): +0a?new t(b[a],this[a]):null},filter:function(a){var b=[];if(y.filter)b=y.filter.call(this,a,this);else for(var c=0,e=this.length;c").addClass(b), +h("td",c).addClass(b).html(a)[0].colSpan=aa(e),d.push(c[0]))};f(a,b);c._details&&c._details.remove();c._details=h(d);c._detailsShow&&c._details.insertAfter(c.nTr)}return this});r(["row().child.show()","row().child().show()"],function(){Vb(this,!0);return this});r(["row().child.hide()","row().child().hide()"],function(){Vb(this,!1);return this});r(["row().child.remove()","row().child().remove()"],function(){cb(this);return this});r("row().child.isShown()",function(){var a=this.context;return a.length&& +this.length?a[0].aoData[this[0]]._detailsShow||!1:!1});var dc=/^(.+):(name|visIdx|visible)$/,Wb=function(a,b,c,e,d){for(var c=[],e=0,f=d.length;e=0?b:g.length+b];if(typeof a==="function"){var d=Ca(c, +f);return h.map(g,function(b,f){return a(f,Wb(c,f,0,0,d),i[f])?f:null})}var k=typeof a==="string"?a.match(dc):"";if(k)switch(k[2]){case "visIdx":case "visible":b=parseInt(k[1],10);if(b<0){var m=h.map(g,function(a,b){return a.bVisible?b:null});return[m[m.length+b]]}return[la(c,b)];case "name":return h.map(j,function(a,b){return a===k[1]?b:null})}else return h(i).filter(a).map(function(){return h.inArray(this,i)}).toArray()},c,f)},1);c.selector.cols=a;c.selector.opts=b;return c});v("columns().header()", +"column().header()",function(){return this.iterator("column",function(a,b){return a.aoColumns[b].nTh},1)});v("columns().footer()","column().footer()",function(){return this.iterator("column",function(a,b){return a.aoColumns[b].nTf},1)});v("columns().data()","column().data()",function(){return this.iterator("column-rows",Wb,1)});v("columns().dataSrc()","column().dataSrc()",function(){return this.iterator("column",function(a,b){return a.aoColumns[b].mData},1)});v("columns().cache()","column().cache()", +function(a){return this.iterator("column-rows",function(b,c,e,d,f){return ia(b.aoData,f,"search"===a?"_aFilterData":"_aSortData",c)},1)});v("columns().nodes()","column().nodes()",function(){return this.iterator("column-rows",function(a,b,c,e,d){return ia(a.aoData,d,"anCells",b)},1)});v("columns().visible()","column().visible()",function(a,b){return this.iterator("column",function(c,e){if(a===k)return c.aoColumns[e].bVisible;var d=c.aoColumns,f=d[e],g=c.aoData,j,i,m;if(a!==k&&f.bVisible!==a){if(a){var l= +h.inArray(!0,D(d,"bVisible"),e+1);j=0;for(i=g.length;je;return!0};m.isDataTable=m.fnIsDataTable=function(a){var b=h(a).get(0),c=!1;h.each(m.settings, +function(a,d){var f=d.nScrollHead?h("table",d.nScrollHead)[0]:null,g=d.nScrollFoot?h("table",d.nScrollFoot)[0]:null;if(d.nTable===b||f===b||g===b)c=!0});return c};m.tables=m.fnTables=function(a){return h.map(m.settings,function(b){if(!a||a&&h(b.nTable).is(":visible"))return b.nTable})};m.util={throttle:ua,escapeRegex:va};m.camelToHungarian=H;r("$()",function(a,b){var c=this.rows(b).nodes(),c=h(c);return h([].concat(c.filter(a).toArray(),c.find(a).toArray()))});h.each(["on","one","off"],function(a, +b){r(b+"()",function(){var a=Array.prototype.slice.call(arguments);a[0].match(/\.dt\b/)||(a[0]+=".dt");var e=h(this.tables().nodes());e[b].apply(e,a);return this})});r("clear()",function(){return this.iterator("table",function(a){oa(a)})});r("settings()",function(){return new t(this.context,this.context)});r("init()",function(){var a=this.context;return a.length?a[0].oInit:null});r("data()",function(){return this.iterator("table",function(a){return D(a.aoData,"_aData")}).flatten()});r("destroy()", +function(a){a=a||!1;return this.iterator("table",function(b){var c=b.nTableWrapper.parentNode,e=b.oClasses,d=b.nTable,f=b.nTBody,g=b.nTHead,j=b.nTFoot,i=h(d),f=h(f),k=h(b.nTableWrapper),l=h.map(b.aoData,function(a){return a.nTr}),q;b.bDestroying=!0;w(b,"aoDestroyCallback","destroy",[b]);a||(new t(b)).columns().visible(!0);k.unbind(".DT").find(":not(tbody *)").unbind(".DT");h(Ea).unbind(".DT-"+b.sInstance);d!=g.parentNode&&(i.children("thead").detach(),i.append(g));j&&d!=j.parentNode&&(i.children("tfoot").detach(), +i.append(j));i.detach();k.detach();b.aaSorting=[];b.aaSortingFixed=[];xa(b);h(l).removeClass(b.asStripeClasses.join(" "));h("th, td",g).removeClass(e.sSortable+" "+e.sSortableAsc+" "+e.sSortableDesc+" "+e.sSortableNone);b.bJUI&&(h("th span."+e.sSortIcon+", td span."+e.sSortIcon,g).detach(),h("th, td",g).each(function(){var a=h("div."+e.sSortJUIWrapper,this);h(this).append(a.contents());a.detach()}));!a&&c&&c.insertBefore(d,b.nTableReinsertBefore);f.children().detach();f.append(l);i.css("width",b.sDestroyWidth).removeClass(e.sTable); +(q=b.asDestroyStripes.length)&&f.children().each(function(a){h(this).addClass(b.asDestroyStripes[a%q])});c=h.inArray(b,m.settings);-1!==c&&m.settings.splice(c,1)})});h.each(["column","row","cell"],function(a,b){r(b+"s().every()",function(a){return this.iterator(b,function(e,d,f){a.call((new t(e))[b](d,f))})})});r("i18n()",function(a,b,c){var e=this.context[0],a=R(a)(e.oLanguage);a===k&&(a=b);c!==k&&h.isPlainObject(a)&&(a=a[c]!==k?a[c]:a._);return a.replace("%d",c)});m.version="1.10.7";m.settings= +[];m.models={};m.models.oSearch={bCaseInsensitive:!0,sSearch:"",bRegex:!1,bSmart:!0};m.models.oRow={nTr:null,anCells:null,_aData:[],_aSortData:null,_aFilterData:null,_sFilterRow:null,_sRowStripe:"",src:null};m.models.oColumn={idx:null,aDataSort:null,asSorting:null,bSearchable:null,bSortable:null,bVisible:null,_sManualType:null,_bAttrSrc:!1,fnCreatedCell:null,fnGetData:null,fnSetData:null,mData:null,mRender:null,nTh:null,nTf:null,sClass:null,sContentPadding:null,sDefaultContent:null,sName:null,sSortDataType:"std", +sSortingClass:null,sSortingClassJUI:null,sTitle:null,sType:null,sWidth:null,sWidthOrig:null};m.defaults={aaData:null,aaSorting:[[0,"asc"]],aaSortingFixed:[],ajax:null,aLengthMenu:[10,25,50,100],aoColumns:null,aoColumnDefs:null,aoSearchCols:[],asStripeClasses:null,bAutoWidth:!0,bDeferRender:!1,bDestroy:!1,bFilter:!0,bInfo:!0,bJQueryUI:!1,bLengthChange:!0,bPaginate:!0,bProcessing:!1,bRetrieve:!1,bScrollCollapse:!1,bServerSide:!1,bSort:!0,bSortMulti:!0,bSortCellsTop:!1,bSortClasses:!0,bStateSave:!1, +fnCreatedRow:null,fnDrawCallback:null,fnFooterCallback:null,fnFormatNumber:function(a){return a.toString().replace(/\B(?=(\d{3})+(?!\d))/g,this.oLanguage.sThousands)},fnHeaderCallback:null,fnInfoCallback:null,fnInitComplete:null,fnPreDrawCallback:null,fnRowCallback:null,fnServerData:null,fnServerParams:null,fnStateLoadCallback:function(a){try{return JSON.parse((-1===a.iStateDuration?sessionStorage:localStorage).getItem("DataTables_"+a.sInstance+"_"+location.pathname))}catch(b){}},fnStateLoadParams:null, +fnStateLoaded:null,fnStateSaveCallback:function(a,b){try{(-1===a.iStateDuration?sessionStorage:localStorage).setItem("DataTables_"+a.sInstance+"_"+location.pathname,JSON.stringify(b))}catch(c){}},fnStateSaveParams:null,iStateDuration:7200,iDeferLoading:null,iDisplayLength:10,iDisplayStart:0,iTabIndex:0,oClasses:{},oLanguage:{oAria:{sSortAscending:": activate to sort column ascending",sSortDescending:": activate to sort column descending"},oPaginate:{sFirst:"First",sLast:"Last",sNext:"Next",sPrevious:"Previous"}, +sEmptyTable:"No data available in table",sInfo:"Showing _START_ to _END_ of _TOTAL_ entries",sInfoEmpty:"Showing 0 to 0 of 0 entries",sInfoFiltered:"(filtered from _MAX_ total entries)",sInfoPostFix:"",sDecimal:"",sThousands:",",sLengthMenu:"Show _MENU_ entries",sLoadingRecords:"Loading...",sProcessing:"Processing...",sSearch:"Search:",sSearchPlaceholder:"",sUrl:"",sZeroRecords:"No matching records found"},oSearch:h.extend({},m.models.oSearch),sAjaxDataProp:"data",sAjaxSource:null,sDom:"lfrtip",searchDelay:null, +sPaginationType:"simple_numbers",sScrollX:"",sScrollXInner:"",sScrollY:"",sServerMethod:"GET",renderer:null};W(m.defaults);m.defaults.column={aDataSort:null,iDataSort:-1,asSorting:["asc","desc"],bSearchable:!0,bSortable:!0,bVisible:!0,fnCreatedCell:null,mData:null,mRender:null,sCellType:"td",sClass:"",sContentPadding:"",sDefaultContent:null,sName:"",sSortDataType:"std",sTitle:null,sType:null,sWidth:null};W(m.defaults.column);m.models.oSettings={oFeatures:{bAutoWidth:null,bDeferRender:null,bFilter:null, +bInfo:null,bLengthChange:null,bPaginate:null,bProcessing:null,bServerSide:null,bSort:null,bSortMulti:null,bSortClasses:null,bStateSave:null},oScroll:{bCollapse:null,iBarWidth:0,sX:null,sXInner:null,sY:null},oLanguage:{fnInfoCallback:null},oBrowser:{bScrollOversize:!1,bScrollbarLeft:!1},ajax:null,aanFeatures:[],aoData:[],aiDisplay:[],aiDisplayMaster:[],aoColumns:[],aoHeader:[],aoFooter:[],oPreviousSearch:{},aoPreSearchCols:[],aaSorting:null,aaSortingFixed:[],asStripeClasses:null,asDestroyStripes:[], +sDestroyWidth:0,aoRowCallback:[],aoHeaderCallback:[],aoFooterCallback:[],aoDrawCallback:[],aoRowCreatedCallback:[],aoPreDrawCallback:[],aoInitComplete:[],aoStateSaveParams:[],aoStateLoadParams:[],aoStateLoaded:[],sTableId:"",nTable:null,nTHead:null,nTFoot:null,nTBody:null,nTableWrapper:null,bDeferLoading:!1,bInitialised:!1,aoOpenRows:[],sDom:null,searchDelay:null,sPaginationType:"two_button",iStateDuration:0,aoStateSave:[],aoStateLoad:[],oSavedState:null,oLoadedState:null,sAjaxSource:null,sAjaxDataProp:null, +bAjaxDataGet:!0,jqXHR:null,json:k,oAjaxData:k,fnServerData:null,aoServerParams:[],sServerMethod:null,fnFormatNumber:null,aLengthMenu:null,iDraw:0,bDrawing:!1,iDrawError:-1,_iDisplayLength:10,_iDisplayStart:0,_iRecordsTotal:0,_iRecordsDisplay:0,bJUI:null,oClasses:{},bFiltered:!1,bSorted:!1,bSortCellsTop:null,oInit:null,aoDestroyCallback:[],fnRecordsTotal:function(){return"ssp"==B(this)?1*this._iRecordsTotal:this.aiDisplayMaster.length},fnRecordsDisplay:function(){return"ssp"==B(this)?1*this._iRecordsDisplay: +this.aiDisplay.length},fnDisplayEnd:function(){var a=this._iDisplayLength,b=this._iDisplayStart,c=b+a,e=this.aiDisplay.length,d=this.oFeatures,f=d.bPaginate;return d.bServerSide?!1===f||-1===a?b+e:Math.min(b+a,this._iRecordsDisplay):!f||c>e||-1===a?e:c},oInstance:null,sInstance:null,iTabIndex:0,nScrollHead:null,nScrollFoot:null,aLastSort:[],oPlugins:{}};m.ext=u={buttons:{},classes:{},errMode:"alert",feature:[],search:[],selector:{cell:[],column:[],row:[]},internal:{},legacy:{ajax:null},pager:{},renderer:{pageButton:{}, +header:{}},order:{},type:{detect:[],search:{},order:{}},_unique:0,fnVersionCheck:m.fnVersionCheck,iApiIndex:0,oJUIClasses:{},sVersion:m.version};h.extend(u,{afnFiltering:u.search,aTypes:u.type.detect,ofnSearch:u.type.search,oSort:u.type.order,afnSortData:u.order,aoFeatures:u.feature,oApi:u.internal,oStdClasses:u.classes,oPagination:u.pager});h.extend(m.ext.classes,{sTable:"dataTable",sNoFooter:"no-footer",sPageButton:"paginate_button",sPageButtonActive:"current",sPageButtonDisabled:"disabled",sStripeOdd:"odd", +sStripeEven:"even",sRowEmpty:"dataTables_empty",sWrapper:"dataTables_wrapper",sFilter:"dataTables_filter",sInfo:"dataTables_info",sPaging:"dataTables_paginate paging_",sLength:"dataTables_length",sProcessing:"dataTables_processing",sSortAsc:"sorting_asc",sSortDesc:"sorting_desc",sSortable:"sorting",sSortableAsc:"sorting_asc_disabled",sSortableDesc:"sorting_desc_disabled",sSortableNone:"sorting_disabled",sSortColumn:"sorting_",sFilterInput:"",sLengthSelect:"",sScrollWrapper:"dataTables_scroll",sScrollHead:"dataTables_scrollHead", +sScrollHeadInner:"dataTables_scrollHeadInner",sScrollBody:"dataTables_scrollBody",sScrollFoot:"dataTables_scrollFoot",sScrollFootInner:"dataTables_scrollFootInner",sHeaderTH:"",sFooterTH:"",sSortJUIAsc:"",sSortJUIDesc:"",sSortJUI:"",sSortJUIAscAllowed:"",sSortJUIDescAllowed:"",sSortJUIWrapper:"",sSortIcon:"",sJUIHeader:"",sJUIFooter:""});var Da="",Da="",F=Da+"ui-state-default",ja=Da+"css_right ui-icon ui-icon-",Xb=Da+"fg-toolbar ui-toolbar ui-widget-header ui-helper-clearfix";h.extend(m.ext.oJUIClasses, +m.ext.classes,{sPageButton:"fg-button ui-button "+F,sPageButtonActive:"ui-state-disabled",sPageButtonDisabled:"ui-state-disabled",sPaging:"dataTables_paginate fg-buttonset ui-buttonset fg-buttonset-multi ui-buttonset-multi paging_",sSortAsc:F+" sorting_asc",sSortDesc:F+" sorting_desc",sSortable:F+" sorting",sSortableAsc:F+" sorting_asc_disabled",sSortableDesc:F+" sorting_desc_disabled",sSortableNone:F+" sorting_disabled",sSortJUIAsc:ja+"triangle-1-n",sSortJUIDesc:ja+"triangle-1-s",sSortJUI:ja+"carat-2-n-s", +sSortJUIAscAllowed:ja+"carat-1-n",sSortJUIDescAllowed:ja+"carat-1-s",sSortJUIWrapper:"DataTables_sort_wrapper",sSortIcon:"DataTables_sort_icon",sScrollHead:"dataTables_scrollHead "+F,sScrollFoot:"dataTables_scrollFoot "+F,sHeaderTH:F,sFooterTH:F,sJUIHeader:Xb+" ui-corner-tl ui-corner-tr",sJUIFooter:Xb+" ui-corner-bl ui-corner-br"});var Mb=m.ext.pager;h.extend(Mb,{simple:function(){return["previous","next"]},full:function(){return["first","previous","next","last"]},simple_numbers:function(a,b){return["previous", +Wa(a,b),"next"]},full_numbers:function(a,b){return["first","previous",Wa(a,b),"next","last"]},_numbers:Wa,numbers_length:7});h.extend(!0,m.ext.renderer,{pageButton:{_:function(a,b,c,e,d,f){var g=a.oClasses,j=a.oLanguage.oPaginate,i,k,l=0,m=function(b,e){var n,r,t,s,u=function(b){Ta(a,b.data.action,true)};n=0;for(r=e.length;n").appendTo(b);m(t,s)}else{k=i="";switch(s){case "ellipsis":b.append('');break; +case "first":i=j.sFirst;k=s+(d>0?"":" "+g.sPageButtonDisabled);break;case "previous":i=j.sPrevious;k=s+(d>0?"":" "+g.sPageButtonDisabled);break;case "next":i=j.sNext;k=s+(d",{"class":g.sPageButton+" "+k,"aria-controls":a.sTableId,"data-dt-idx":l,tabindex:a.iTabIndex,id:c===0&&typeof s==="string"?a.sTableId+"_"+s:null}).html(i).appendTo(b); +Va(t,{action:s},u);l++}}}},n;try{n=h(Q.activeElement).data("dt-idx")}catch(r){}m(h(b).empty(),e);n&&h(b).find("[data-dt-idx="+n+"]").focus()}}});h.extend(m.ext.type.detect,[function(a,b){var c=b.oLanguage.sDecimal;return Za(a,c)?"num"+c:null},function(a){if(a&&!(a instanceof Date)&&(!ac.test(a)||!bc.test(a)))return null;var b=Date.parse(a);return null!==b&&!isNaN(b)||J(a)?"date":null},function(a,b){var c=b.oLanguage.sDecimal;return Za(a,c,!0)?"num-fmt"+c:null},function(a,b){var c=b.oLanguage.sDecimal; +return Rb(a,c)?"html-num"+c:null},function(a,b){var c=b.oLanguage.sDecimal;return Rb(a,c,!0)?"html-num-fmt"+c:null},function(a){return J(a)||"string"===typeof a&&-1!==a.indexOf("<")?"html":null}]);h.extend(m.ext.type.search,{html:function(a){return J(a)?a:"string"===typeof a?a.replace(Ob," ").replace(Ba,""):""},string:function(a){return J(a)?a:"string"===typeof a?a.replace(Ob," "):a}});var Aa=function(a,b,c,e){if(0!==a&&(!a||"-"===a))return-Infinity;b&&(a=Qb(a,b));a.replace&&(c&&(a=a.replace(c,"")), +e&&(a=a.replace(e,"")));return 1*a};h.extend(u.type.order,{"date-pre":function(a){return Date.parse(a)||0},"html-pre":function(a){return J(a)?"":a.replace?a.replace(/<.*?>/g,"").toLowerCase():a+""},"string-pre":function(a){return J(a)?"":"string"===typeof a?a.toLowerCase():!a.toString?"":a.toString()},"string-asc":function(a,b){return ab?1:0},"string-desc":function(a,b){return ab?-1:0}});db("");h.extend(!0,m.ext.renderer,{header:{_:function(a,b,c,e){h(a.nTable).on("order.dt.DT",function(d, +f,g,h){if(a===f){d=c.idx;b.removeClass(c.sSortingClass+" "+e.sSortAsc+" "+e.sSortDesc).addClass(h[d]=="asc"?e.sSortAsc:h[d]=="desc"?e.sSortDesc:c.sSortingClass)}})},jqueryui:function(a,b,c,e){h("
").addClass(e.sSortJUIWrapper).append(b.contents()).append(h("").addClass(e.sSortIcon+" "+c.sSortingClassJUI)).appendTo(b);h(a.nTable).on("order.dt.DT",function(d,f,g,h){if(a===f){d=c.idx;b.removeClass(e.sSortAsc+" "+e.sSortDesc).addClass(h[d]=="asc"?e.sSortAsc:h[d]=="desc"?e.sSortDesc:c.sSortingClass); +b.find("span."+e.sSortIcon).removeClass(e.sSortJUIAsc+" "+e.sSortJUIDesc+" "+e.sSortJUI+" "+e.sSortJUIAscAllowed+" "+e.sSortJUIDescAllowed).addClass(h[d]=="asc"?e.sSortJUIAsc:h[d]=="desc"?e.sSortJUIDesc:c.sSortingClassJUI)}})}}});m.render={number:function(a,b,c,e){return{display:function(d){if("number"!==typeof d&&"string"!==typeof d)return d;var f=0>d?"-":"",d=Math.abs(parseFloat(d)),g=parseInt(d,10),d=c?b+(d-g).toFixed(c).substring(2):"";return f+(e||"")+g.toString().replace(/\B(?=(\d{3})+(?!\d))/g, +a)+d}}}};h.extend(m.ext.internal,{_fnExternApiFunc:Nb,_fnBuildAjax:ra,_fnAjaxUpdate:kb,_fnAjaxParameters:tb,_fnAjaxUpdateDraw:ub,_fnAjaxDataSrc:sa,_fnAddColumn:Fa,_fnColumnOptions:ka,_fnAdjustColumnSizing:X,_fnVisibleToColumnIndex:la,_fnColumnIndexToVisible:$,_fnVisbleColumns:aa,_fnGetColumns:Z,_fnColumnTypes:Ha,_fnApplyColumnDefs:ib,_fnHungarianMap:W,_fnCamelToHungarian:H,_fnLanguageCompat:P,_fnBrowserDetect:gb,_fnAddData:K,_fnAddTr:ma,_fnNodeToDataIndex:function(a,b){return b._DT_RowIndex!==k?b._DT_RowIndex: +null},_fnNodeToColumnIndex:function(a,b,c){return h.inArray(c,a.aoData[b].anCells)},_fnGetCellData:x,_fnSetCellData:Ia,_fnSplitObjNotation:Ka,_fnGetObjectDataFn:R,_fnSetObjectDataFn:S,_fnGetDataMaster:La,_fnClearTable:oa,_fnDeleteIndex:pa,_fnInvalidate:ca,_fnGetRowElements:na,_fnCreateTr:Ja,_fnBuildHead:jb,_fnDrawHead:ea,_fnDraw:M,_fnReDraw:N,_fnAddOptionsHtml:mb,_fnDetectHeader:da,_fnGetUniqueThs:qa,_fnFeatureHtmlFilter:ob,_fnFilterComplete:fa,_fnFilterCustom:xb,_fnFilterColumn:wb,_fnFilter:vb,_fnFilterCreateSearch:Qa, +_fnEscapeRegex:va,_fnFilterData:yb,_fnFeatureHtmlInfo:rb,_fnUpdateInfo:Bb,_fnInfoMacros:Cb,_fnInitialise:ga,_fnInitComplete:ta,_fnLengthChange:Ra,_fnFeatureHtmlLength:nb,_fnFeatureHtmlPaginate:sb,_fnPageChange:Ta,_fnFeatureHtmlProcessing:pb,_fnProcessingDisplay:C,_fnFeatureHtmlTable:qb,_fnScrollDraw:Y,_fnApplyToChildren:G,_fnCalculateColumnWidths:Ga,_fnThrottle:ua,_fnConvertToWidth:Db,_fnScrollingWidthAdjust:Fb,_fnGetWidestNode:Eb,_fnGetMaxLenString:Gb,_fnStringToCss:s,_fnScrollBarWidth:Hb,_fnSortFlatten:U, +_fnSort:lb,_fnSortAria:Jb,_fnSortListener:Ua,_fnSortAttachListener:Oa,_fnSortingClasses:xa,_fnSortData:Ib,_fnSaveState:ya,_fnLoadState:Kb,_fnSettingsFromNode:za,_fnLog:I,_fnMap:E,_fnBindAction:Va,_fnCallbackReg:z,_fnCallbackFire:w,_fnLengthOverflow:Sa,_fnRenderer:Pa,_fnDataSource:B,_fnRowAttributes:Ma,_fnCalculateEnd:function(){}});h.fn.dataTable=m;h.fn.dataTableSettings=m.settings;h.fn.dataTableExt=m.ext;h.fn.DataTable=function(a){return h(this).dataTable(a).api()};h.each(m,function(a,b){h.fn.DataTable[a]= +b});return h.fn.dataTable};"function"===typeof define&&define.amd?define("datatables",["jquery"],P):"object"===typeof exports?module.exports=P(require("jquery")):jQuery&&!jQuery.fn.dataTable&&P(jQuery)})(window,document); diff --git a/opensrp-web/bin/src/main/webapp/resources/js/jquery.js b/opensrp-web/bin/src/main/webapp/resources/js/jquery.js new file mode 100644 index 0000000000..fdd413a610 --- /dev/null +++ b/opensrp-web/bin/src/main/webapp/resources/js/jquery.js @@ -0,0 +1,5 @@ +/*! jQuery v1.11.3 | (c) 2005, 2015 jQuery Foundation, Inc. | jquery.org/license */ +!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l="1.11.3",m=function(a,b){return new m.fn.init(a,b)},n=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,o=/^-ms-/,p=/-([\da-z])/gi,q=function(a,b){return b.toUpperCase()};m.fn=m.prototype={jquery:l,constructor:m,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=m.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return m.each(this,a,b)},map:function(a){return this.pushStack(m.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},m.extend=m.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||m.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(m.isPlainObject(c)||(b=m.isArray(c)))?(b?(b=!1,f=a&&m.isArray(a)?a:[]):f=a&&m.isPlainObject(a)?a:{},g[d]=m.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},m.extend({expando:"jQuery"+(l+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===m.type(a)},isArray:Array.isArray||function(a){return"array"===m.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){return!m.isArray(a)&&a-parseFloat(a)+1>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==m.type(a)||a.nodeType||m.isWindow(a))return!1;try{if(a.constructor&&!j.call(a,"constructor")&&!j.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(k.ownLast)for(b in a)return j.call(a,b);for(b in a);return void 0===b||j.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(b){b&&m.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(o,"ms-").replace(p,q)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=r(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(n,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(r(Object(a))?m.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(g)return g.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[d])a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=r(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(f=a[b],b=a,a=f),m.isFunction(a)?(c=d.call(arguments,2),e=function(){return a.apply(b||this,c.concat(d.call(arguments)))},e.guid=a.guid=a.guid||m.guid++,e):void 0},now:function(){return+new Date},support:k}),m.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function r(a){var b="length"in a&&a.length,c=m.type(a);return"function"===c||m.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var s=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N=M.replace("w","w#"),O="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+N+"))|)"+L+"*\\]",P=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+O+")*)|.*)\\)|)",Q=new RegExp(L+"+","g"),R=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),S=new RegExp("^"+L+"*,"+L+"*"),T=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),U=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),V=new RegExp(P),W=new RegExp("^"+N+"$"),X={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+O),PSEUDO:new RegExp("^"+P),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,aa=/[+~]/,ba=/'|\\/g,ca=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),da=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ea=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(fa){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function ga(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],k=b.nodeType,"string"!=typeof a||!a||1!==k&&9!==k&&11!==k)return d;if(!e&&p){if(11!==k&&(f=_.exec(a)))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return H.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName)return H.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=1!==k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(ba,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+ra(o[l]);w=aa.test(a)&&pa(b.parentNode)||b,x=o.join(",")}if(x)try{return H.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function ha(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ia(a){return a[u]=!0,a}function ja(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ka(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function na(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function oa(a){return ia(function(b){return b=+b,ia(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function pa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=ga.support={},f=ga.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=ga.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=g.documentElement,e=g.defaultView,e&&e!==e.top&&(e.addEventListener?e.addEventListener("unload",ea,!1):e.attachEvent&&e.attachEvent("onunload",ea)),p=!f(g),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(g.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(g.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!g.getElementsByName||!g.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(g.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){var b=g.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",P)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===g||a.ownerDocument===v&&t(v,a)?-1:b===g||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,h=[a],i=[b];if(!e||!f)return a===g?-1:b===g?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?la(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},g):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},ga.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},ga.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=ga.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=ga.selectors={cacheLength:50,createPseudo:ia,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ca,da),a[3]=(a[3]||a[4]||a[5]||"").replace(ca,da),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||ga.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ca,da).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=ga.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(Q," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?ia(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(ca,da),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return W.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(ca,da).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:oa(function(){return[0]}),last:oa(function(a,b){return[b-1]}),eq:oa(function(a,b,c){return[0>c?c+b:c]}),even:oa(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:oa(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:oa(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:oa(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function sa(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function ta(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ua(a,b,c){for(var d=0,e=b.length;e>d;d++)ga(a,b[d],c);return c}function va(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function wa(a,b,c,d,e,f){return d&&!d[u]&&(d=wa(d)),e&&!e[u]&&(e=wa(e,f)),ia(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ua(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:va(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=va(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=va(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function xa(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=sa(function(a){return a===b},h,!0),l=sa(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[sa(ta(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return wa(i>1&&ta(m),i>1&&ra(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&xa(a.slice(i,e)),f>e&&xa(a=a.slice(e)),f>e&&ra(a))}m.push(c)}return ta(m)}function ya(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=F.call(i));s=va(s)}H.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&ga.uniqueSort(i)}return k&&(w=v,j=t),r};return c?ia(f):f}return h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=xa(b[c]),f[u]?d.push(f):e.push(f);f=A(a,ya(e,d)),f.selector=a}return f},i=ga.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(ca,da),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(ca,da),aa.test(j[0].type)&&pa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&ra(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,aa.test(a)&&pa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ja(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);m.find=s,m.expr=s.selectors,m.expr[":"]=m.expr.pseudos,m.unique=s.uniqueSort,m.text=s.getText,m.isXMLDoc=s.isXML,m.contains=s.contains;var t=m.expr.match.needsContext,u=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,v=/^.[^:#\[\.,]*$/;function w(a,b,c){if(m.isFunction(b))return m.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return m.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(v.test(b))return m.filter(b,a,c);b=m.filter(b,a)}return m.grep(a,function(a){return m.inArray(a,b)>=0!==c})}m.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?m.find.matchesSelector(d,a)?[d]:[]:m.find.matches(a,m.grep(b,function(a){return 1===a.nodeType}))},m.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(m(a).filter(function(){for(b=0;e>b;b++)if(m.contains(d[b],this))return!0}));for(b=0;e>b;b++)m.find(a,d[b],c);return c=this.pushStack(e>1?m.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(w(this,a||[],!1))},not:function(a){return this.pushStack(w(this,a||[],!0))},is:function(a){return!!w(this,"string"==typeof a&&t.test(a)?m(a):a||[],!1).length}});var x,y=a.document,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=m.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||x).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof m?b[0]:b,m.merge(this,m.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:y,!0)),u.test(c[1])&&m.isPlainObject(b))for(c in b)m.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}if(d=y.getElementById(c[2]),d&&d.parentNode){if(d.id!==c[2])return x.find(a);this.length=1,this[0]=d}return this.context=y,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):m.isFunction(a)?"undefined"!=typeof x.ready?x.ready(a):a(m):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),m.makeArray(a,this))};A.prototype=m.fn,x=m(y);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};m.extend({dir:function(a,b,c){var d=[],e=a[b];while(e&&9!==e.nodeType&&(void 0===c||1!==e.nodeType||!m(e).is(c)))1===e.nodeType&&d.push(e),e=e[b];return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),m.fn.extend({has:function(a){var b,c=m(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(m.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=t.test(a)||"string"!=typeof a?m(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&m.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?m.unique(f):f)},index:function(a){return a?"string"==typeof a?m.inArray(this[0],m(a)):m.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(m.unique(m.merge(this.get(),m(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}m.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return m.dir(a,"parentNode")},parentsUntil:function(a,b,c){return m.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return m.dir(a,"nextSibling")},prevAll:function(a){return m.dir(a,"previousSibling")},nextUntil:function(a,b,c){return m.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return m.dir(a,"previousSibling",c)},siblings:function(a){return m.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return m.sibling(a.firstChild)},contents:function(a){return m.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:m.merge([],a.childNodes)}},function(a,b){m.fn[a]=function(c,d){var e=m.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=m.filter(d,e)),this.length>1&&(C[a]||(e=m.unique(e)),B.test(a)&&(e=e.reverse())),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return m.each(a.match(E)||[],function(a,c){b[c]=!0}),b}m.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):m.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(c=a.memory&&l,d=!0,f=g||0,g=0,e=h.length,b=!0;h&&e>f;f++)if(h[f].apply(l[0],l[1])===!1&&a.stopOnFalse){c=!1;break}b=!1,h&&(i?i.length&&j(i.shift()):c?h=[]:k.disable())},k={add:function(){if(h){var d=h.length;!function f(b){m.each(b,function(b,c){var d=m.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&f(c)})}(arguments),b?e=h.length:c&&(g=d,j(c))}return this},remove:function(){return h&&m.each(arguments,function(a,c){var d;while((d=m.inArray(c,h,d))>-1)h.splice(d,1),b&&(e>=d&&e--,f>=d&&f--)}),this},has:function(a){return a?m.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],e=0,this},disable:function(){return h=i=c=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,c||k.disable(),this},locked:function(){return!i},fireWith:function(a,c){return!h||d&&!i||(c=c||[],c=[a,c.slice?c.slice():c],b?i.push(c):j(c)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!d}};return k},m.extend({Deferred:function(a){var b=[["resolve","done",m.Callbacks("once memory"),"resolved"],["reject","fail",m.Callbacks("once memory"),"rejected"],["notify","progress",m.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return m.Deferred(function(c){m.each(b,function(b,f){var g=m.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&m.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?m.extend(a,d):d}},e={};return d.pipe=d.then,m.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&m.isFunction(a.promise)?e:0,g=1===f?a:m.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&m.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;m.fn.ready=function(a){return m.ready.promise().done(a),this},m.extend({isReady:!1,readyWait:1,holdReady:function(a){a?m.readyWait++:m.ready(!0)},ready:function(a){if(a===!0?!--m.readyWait:!m.isReady){if(!y.body)return setTimeout(m.ready);m.isReady=!0,a!==!0&&--m.readyWait>0||(H.resolveWith(y,[m]),m.fn.triggerHandler&&(m(y).triggerHandler("ready"),m(y).off("ready")))}}});function I(){y.addEventListener?(y.removeEventListener("DOMContentLoaded",J,!1),a.removeEventListener("load",J,!1)):(y.detachEvent("onreadystatechange",J),a.detachEvent("onload",J))}function J(){(y.addEventListener||"load"===event.type||"complete"===y.readyState)&&(I(),m.ready())}m.ready.promise=function(b){if(!H)if(H=m.Deferred(),"complete"===y.readyState)setTimeout(m.ready);else if(y.addEventListener)y.addEventListener("DOMContentLoaded",J,!1),a.addEventListener("load",J,!1);else{y.attachEvent("onreadystatechange",J),a.attachEvent("onload",J);var c=!1;try{c=null==a.frameElement&&y.documentElement}catch(d){}c&&c.doScroll&&!function e(){if(!m.isReady){try{c.doScroll("left")}catch(a){return setTimeout(e,50)}I(),m.ready()}}()}return H.promise(b)};var K="undefined",L;for(L in m(k))break;k.ownLast="0"!==L,k.inlineBlockNeedsLayout=!1,m(function(){var a,b,c,d;c=y.getElementsByTagName("body")[0],c&&c.style&&(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),typeof b.style.zoom!==K&&(b.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",k.inlineBlockNeedsLayout=a=3===b.offsetWidth,a&&(c.style.zoom=1)),c.removeChild(d))}),function(){var a=y.createElement("div");if(null==k.deleteExpando){k.deleteExpando=!0;try{delete a.test}catch(b){k.deleteExpando=!1}}a=null}(),m.acceptData=function(a){var b=m.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b};var M=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,N=/([A-Z])/g;function O(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(N,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:M.test(c)?m.parseJSON(c):c}catch(e){}m.data(a,b,c)}else c=void 0}return c}function P(a){var b;for(b in a)if(("data"!==b||!m.isEmptyObject(a[b]))&&"toJSON"!==b)return!1; + +return!0}function Q(a,b,d,e){if(m.acceptData(a)){var f,g,h=m.expando,i=a.nodeType,j=i?m.cache:a,k=i?a[h]:a[h]&&h;if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||m.guid++:h),j[k]||(j[k]=i?{}:{toJSON:m.noop}),("object"==typeof b||"function"==typeof b)&&(e?j[k]=m.extend(j[k],b):j[k].data=m.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[m.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[m.camelCase(b)])):f=g,f}}function R(a,b,c){if(m.acceptData(a)){var d,e,f=a.nodeType,g=f?m.cache:a,h=f?a[m.expando]:m.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){m.isArray(b)?b=b.concat(m.map(b,m.camelCase)):b in d?b=[b]:(b=m.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!P(d):!m.isEmptyObject(d))return}(c||(delete g[h].data,P(g[h])))&&(f?m.cleanData([a],!0):k.deleteExpando||g!=g.window?delete g[h]:g[h]=null)}}}m.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?m.cache[a[m.expando]]:a[m.expando],!!a&&!P(a)},data:function(a,b,c){return Q(a,b,c)},removeData:function(a,b){return R(a,b)},_data:function(a,b,c){return Q(a,b,c,!0)},_removeData:function(a,b){return R(a,b,!0)}}),m.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=m.data(f),1===f.nodeType&&!m._data(f,"parsedAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=m.camelCase(d.slice(5)),O(f,d,e[d])));m._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){m.data(this,a)}):arguments.length>1?this.each(function(){m.data(this,a,b)}):f?O(f,a,m.data(f,a)):void 0},removeData:function(a){return this.each(function(){m.removeData(this,a)})}}),m.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=m._data(a,b),c&&(!d||m.isArray(c)?d=m._data(a,b,m.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=m.queue(a,b),d=c.length,e=c.shift(),f=m._queueHooks(a,b),g=function(){m.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return m._data(a,c)||m._data(a,c,{empty:m.Callbacks("once memory").add(function(){m._removeData(a,b+"queue"),m._removeData(a,c)})})}}),m.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.lengthh;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},W=/^(?:checkbox|radio)$/i;!function(){var a=y.createElement("input"),b=y.createElement("div"),c=y.createDocumentFragment();if(b.innerHTML="
",{valign:"top",colSpan:aa(a),"class":a.oClasses.sRowEmpty}).html(c))[0];w(a,"aoHeaderCallback","header",[h(a.nTHead).children("tr")[0],La(a),g,o,i]);w(a,"aoFooterCallback","footer",[h(a.nTFoot).children("tr")[0],La(a),g,o,i]);e=h(a.nTBody);e.children().detach();e.append(h(b));w(a,"aoDrawCallback","draw",[a]);a.bSorted=!1;a.bFiltered=!1;a.bDrawing= +!1}}function N(a,b){var c=a.oFeatures,e=c.bFilter;c.bSort&&lb(a);e?fa(a,a.oPreviousSearch):a.aiDisplay=a.aiDisplayMaster.slice();!0!==b&&(a._iDisplayStart=0);a._drawHold=b;M(a);a._drawHold=!1}function mb(a){var b=a.oClasses,c=h(a.nTable),c=h("
").insertBefore(c),e=a.oFeatures,d=h("
",{id:a.sTableId+"_wrapper","class":b.sWrapper+(a.nTFoot?"":" "+b.sNoFooter)});a.nHolding=c[0];a.nTableWrapper=d[0];a.nTableReinsertBefore=a.nTable.nextSibling;for(var f=a.sDom.split(""),g,j,i,o,l,q,n=0;n")[0];o=f[n+1];if("'"==o||'"'==o){l="";for(q=2;f[n+q]!=o;)l+=f[n+q],q++;"H"==l?l=b.sJUIHeader:"F"==l&&(l=b.sJUIFooter);-1!=l.indexOf(".")?(o=l.split("."),i.id=o[0].substr(1,o[0].length-1),i.className=o[1]):"#"==l.charAt(0)?i.id=l.substr(1,l.length-1):i.className=l;n+=q}d.append(i);d=h(i)}else if(">"==j)d=d.parent();else if("l"==j&&e.bPaginate&&e.bLengthChange)g=nb(a);else if("f"==j&&e.bFilter)g=ob(a);else if("r"==j&&e.bProcessing)g=pb(a);else if("t"==j)g=qb(a);else if("i"== +j&&e.bInfo)g=rb(a);else if("p"==j&&e.bPaginate)g=sb(a);else if(0!==m.ext.feature.length){i=m.ext.feature;q=0;for(o=i.length;q',j=e.sSearch,j=j.match(/_INPUT_/)?j.replace("_INPUT_",g):j+g,b=h("
",{id:!f.f?c+"_filter":null,"class":b.sFilter}).append(h("
").addClass(b.sLength);a.aanFeatures.l||(i[0].id=c+"_length");i.children().append(a.oLanguage.sLengthMenu.replace("_MENU_",d[0].outerHTML));h("select",i).val(a._iDisplayLength).bind("change.DT",function(){Ra(a,h(this).val());M(a)});h(a.nTable).bind("length.dt.DT",function(b,c,f){a===c&&h("select",i).val(f)});return i[0]}function sb(a){var b=a.sPaginationType,c=m.ext.pager[b],e="function"===typeof c,d=function(a){M(a)},b=h("
").addClass(a.oClasses.sPaging+b)[0], +f=a.aanFeatures;e||c.fnInit(a,b,d);f.p||(b.id=a.sTableId+"_paginate",a.aoDrawCallback.push({fn:function(a){if(e){var b=a._iDisplayStart,i=a._iDisplayLength,h=a.fnRecordsDisplay(),l=-1===i,b=l?0:Math.ceil(b/i),i=l?1:Math.ceil(h/i),h=c(b,i),q,l=0;for(q=f.p.length;lf&&(e=0)): +"first"==b?e=0:"previous"==b?(e=0<=d?e-d:0,0>e&&(e=0)):"next"==b?e+d",{id:!a.aanFeatures.r?a.sTableId+"_processing":null,"class":a.oClasses.sProcessing}).html(a.oLanguage.sProcessing).insertBefore(a.nTable)[0]}function C(a,b){a.oFeatures.bProcessing&&h(a.aanFeatures.r).css("display",b?"block":"none");w(a, +null,"processing",[a,b])}function qb(a){var b=h(a.nTable);b.attr("role","grid");var c=a.oScroll;if(""===c.sX&&""===c.sY)return a.nTable;var e=c.sX,d=c.sY,f=a.oClasses,g=b.children("caption"),j=g.length?g[0]._captionSide:null,i=h(b[0].cloneNode(!1)),o=h(b[0].cloneNode(!1)),l=b.children("tfoot");c.sX&&"100%"===b.attr("width")&&b.removeAttr("width");l.length||(l=null);c=h("
",{"class":f.sScrollWrapper}).append(h("
",{"class":f.sScrollHead}).css({overflow:"hidden",position:"relative",border:0, +width:e?!e?null:s(e):"100%"}).append(h("
",{"class":f.sScrollHeadInner}).css({"box-sizing":"content-box",width:c.sXInner||"100%"}).append(i.removeAttr("id").css("margin-left",0).append("top"===j?g:null).append(b.children("thead"))))).append(h("
",{"class":f.sScrollBody}).css({overflow:"auto",height:!d?null:s(d),width:!e?null:s(e)}).append(b));l&&c.append(h("
",{"class":f.sScrollFoot}).css({overflow:"hidden",border:0,width:e?!e?null:s(e):"100%"}).append(h("
",{"class":f.sScrollFootInner}).append(o.removeAttr("id").css("margin-left", +0).append("bottom"===j?g:null).append(b.children("tfoot")))));var b=c.children(),q=b[0],f=b[1],n=l?b[2]:null;if(e)h(f).on("scroll.DT",function(){var a=this.scrollLeft;q.scrollLeft=a;l&&(n.scrollLeft=a)});a.nScrollHead=q;a.nScrollBody=f;a.nScrollFoot=n;a.aoDrawCallback.push({fn:Y,sName:"scrolling"});return c[0]}function Y(a){var b=a.oScroll,c=b.sX,e=b.sXInner,d=b.sY,f=b.iBarWidth,g=h(a.nScrollHead),j=g[0].style,i=g.children("div"),o=i[0].style,l=i.children("table"),i=a.nScrollBody,q=h(i),n=i.style, +k=h(a.nScrollFoot).children("div"),p=k.children("table"),m=h(a.nTHead),r=h(a.nTable),t=r[0],O=t.style,L=a.nTFoot?h(a.nTFoot):null,ha=a.oBrowser,w=ha.bScrollOversize,v,u,y,x,z,A=[],B=[],C=[],D,E=function(a){a=a.style;a.paddingTop="0";a.paddingBottom="0";a.borderTopWidth="0";a.borderBottomWidth="0";a.height=0};r.children("thead, tfoot").remove();z=m.clone().prependTo(r);v=m.find("tr");y=z.find("tr");z.find("th, td").removeAttr("tabindex");L&&(x=L.clone().prependTo(r),u=L.find("tr"),x=x.find("tr")); +c||(n.width="100%",g[0].style.width="100%");h.each(qa(a,z),function(b,c){D=la(a,b);c.style.width=a.aoColumns[D].sWidth});L&&G(function(a){a.style.width=""},x);b.bCollapse&&""!==d&&(n.height=q[0].offsetHeight+m[0].offsetHeight+"px");g=r.outerWidth();if(""===c){if(O.width="100%",w&&(r.find("tbody").height()>i.offsetHeight||"scroll"==q.css("overflow-y")))O.width=s(r.outerWidth()-f)}else""!==e?O.width=s(e):g==q.width()&&q.height()g-f&&(O.width=s(g))):O.width= +s(g);g=r.outerWidth();G(E,y);G(function(a){C.push(a.innerHTML);A.push(s(h(a).css("width")))},y);G(function(a,b){a.style.width=A[b]},v);h(y).height(0);L&&(G(E,x),G(function(a){B.push(s(h(a).css("width")))},x),G(function(a,b){a.style.width=B[b]},u),h(x).height(0));G(function(a,b){a.innerHTML='
'+C[b]+"
";a.style.width=A[b]},y);L&&G(function(a,b){a.innerHTML="";a.style.width=B[b]},x);if(r.outerWidth()i.offsetHeight|| +"scroll"==q.css("overflow-y")?g+f:g;if(w&&(i.scrollHeight>i.offsetHeight||"scroll"==q.css("overflow-y")))O.width=s(u-f);(""===c||""!==e)&&I(a,1,"Possible column misalignment",6)}else u="100%";n.width=s(u);j.width=s(u);L&&(a.nScrollFoot.style.width=s(u));!d&&w&&(n.height=s(t.offsetHeight+f));d&&b.bCollapse&&(n.height=s(d),b=c&&t.offsetWidth>i.offsetWidth?f:0,t.offsetHeighti.clientHeight|| +"scroll"==q.css("overflow-y");ha="padding"+(ha.bScrollbarLeft?"Left":"Right");o[ha]=l?f+"px":"0px";L&&(p[0].style.width=s(b),k[0].style.width=s(b),k[0].style[ha]=l?f+"px":"0px");q.scroll();if((a.bSorted||a.bFiltered)&&!a._drawHold)i.scrollTop=0}function G(a,b,c){for(var e=0,d=0,f=b.length,g,j;d").appendTo(j.find("tbody"));j.find("tfoot th, tfoot td").css("width", +"");i=qa(a,j.find("thead")[0]);for(n=0;n").css("width",s(a)).appendTo(b||Q.body),e=c[0].offsetWidth;c.remove();return e}function Fb(a,b){var c=a.oScroll;if(c.sX||c.sY)c=!c.sX?c.iBarWidth:0,b.style.width=s(h(b).outerWidth()-c)}function Eb(a,b){var c=Gb(a,b);if(0>c)return null;var e=a.aoData[c];return!e.nTr?h("
").html(x(a,c,b,"display"))[0]:e.anCells[b]}function Gb(a,b){for(var c,e=-1,d=-1,f=0,g=a.aoData.length;fe&&(e=c.length,d=f);return d}function s(a){return null===a?"0px":"number"==typeof a?0>a?"0px":a+"px":a.match(/\d$/)?a+"px":a}function Hb(){var a=m.__scrollbarWidth;if(a===k){var b=h("

").css({position:"absolute",top:0,left:0,width:"100%",height:150,padding:0,overflow:"scroll",visibility:"hidden"}).appendTo("body"),a=b[0].offsetWidth-b[0].clientWidth;m.__scrollbarWidth=a;b.remove()}return a}function U(a){var b,c,e=[],d=a.aoColumns,f,g,j,i;b=a.aaSortingFixed;c=h.isPlainObject(b);var o=[]; +f=function(a){a.length&&!h.isArray(a[0])?o.push(a):o.push.apply(o,a)};h.isArray(b)&&f(b);c&&b.pre&&f(b.pre);f(a.aaSorting);c&&b.post&&f(b.post);for(a=0;ad?1:0,0!==c)return"asc"===j.dir?c:-c;c=e[a];d=e[b];return cd?1:0}):i.sort(function(a,b){var c,g,j,i,k=h.length,m=f[a]._aSortData,r=f[b]._aSortData;for(j=0;jg?1:0})}a.bSorted=!0}function Jb(a){for(var b,c,e=a.aoColumns,d=U(a),a=a.oLanguage.oAria,f=0,g=e.length;f/g,"");var i=c.nTh;i.removeAttribute("aria-sort");c.bSortable&&(0d?d+1:3));d=0;for(f=e.length;dd?d+1:3))}a.aLastSort=e}function Ib(a,b){var c=a.aoColumns[b],e=m.ext.order[c.sSortDataType],d;e&&(d=e.call(a.oInstance,a,b,$(a,b)));for(var f,g=m.ext.type.order[c.sType+"-pre"],j=0,i=a.aoData.length;j=e.length?[0,c[1]]:c)}));d.search!==k&&h.extend(a.oPreviousSearch,Ab(d.search));b=0;for(c=d.columns.length;b=c&&(b=c-e);b-=b%e;if(-1===e||0>b)b=0;a._iDisplayStart=b}function Pa(a,b){var c=a.renderer,e=m.ext.renderer[b];return h.isPlainObject(c)&&c[b]?e[c[b]]||e._:"string"===typeof c?e[c]||e._:e._}function B(a){return a.oFeatures.bServerSide? +"ssp":a.ajax||a.sAjaxSource?"ajax":"dom"}function Wa(a,b){var c=[],c=Mb.numbers_length,e=Math.floor(c/2);b<=c?c=V(0,b):a<=e?(c=V(0,c-2),c.push("ellipsis"),c.push(b-1)):(a>=b-1-e?c=V(b-(c-2),b):(c=V(a-e+2,a+e-1),c.push("ellipsis"),c.push(b-1)),c.splice(0,0,"ellipsis"),c.splice(0,0,0));c.DT_el="span";return c}function db(a){h.each({num:function(b){return Aa(b,a)},"num-fmt":function(b){return Aa(b,a,Xa)},"html-num":function(b){return Aa(b,a,Ba)},"html-num-fmt":function(b){return Aa(b,a,Ba,Xa)}},function(b, +c){u.type.order[b+a+"-pre"]=c;b.match(/^html\-/)&&(u.type.search[b+a]=u.type.search.html)})}function Nb(a){return function(){var b=[za(this[m.ext.iApiIndex])].concat(Array.prototype.slice.call(arguments));return m.ext.internal[a].apply(this,b)}}var m,u,t,r,v,Ya={},Ob=/[\r\n]/g,Ba=/<.*?>/g,ac=/^[\w\+\-]/,bc=/[\w\+\-]$/,Yb=RegExp("(\\/|\\.|\\*|\\+|\\?|\\||\\(|\\)|\\[|\\]|\\{|\\}|\\\\|\\$|\\^|\\-)","g"),Xa=/[',$\u00a3\u20ac\u00a5%\u2009\u202F\u20BD\u20a9\u20BArfk]/gi,J=function(a){return!a||!0===a|| +"-"===a?!0:!1},Pb=function(a){var b=parseInt(a,10);return!isNaN(b)&&isFinite(a)?b:null},Qb=function(a,b){Ya[b]||(Ya[b]=RegExp(va(b),"g"));return"string"===typeof a&&"."!==b?a.replace(/\./g,"").replace(Ya[b],"."):a},Za=function(a,b,c){var e="string"===typeof a;if(J(a))return!0;b&&e&&(a=Qb(a,b));c&&e&&(a=a.replace(Xa,""));return!isNaN(parseFloat(a))&&isFinite(a)},Rb=function(a,b,c){return J(a)?!0:!(J(a)||"string"===typeof a)?null:Za(a.replace(Ba,""),b,c)?!0:null},D=function(a,b,c){var e=[],d=0,f=a.length; +if(c!==k)for(;d")[0],Zb=wa.textContent!==k,$b=/<.*?>/g;m=function(a){this.$=function(a,b){return this.api(!0).$(a,b)};this._=function(a,b){return this.api(!0).rows(a,b).data()};this.api=function(a){return a?new t(za(this[u.iApiIndex])):new t(this)};this.fnAddData=function(a,b){var c=this.api(!0),e=h.isArray(a)&&(h.isArray(a[0])||h.isPlainObject(a[0]))?c.rows.add(a):c.row.add(a);(b=== +k||b)&&c.draw();return e.flatten().toArray()};this.fnAdjustColumnSizing=function(a){var b=this.api(!0).columns.adjust(),c=b.settings()[0],e=c.oScroll;a===k||a?b.draw(!1):(""!==e.sX||""!==e.sY)&&Y(c)};this.fnClearTable=function(a){var b=this.api(!0).clear();(a===k||a)&&b.draw()};this.fnClose=function(a){this.api(!0).row(a).child.hide()};this.fnDeleteRow=function(a,b,c){var e=this.api(!0),a=e.rows(a),d=a.settings()[0],h=d.aoData[a[0][0]];a.remove();b&&b.call(this,d,h);(c===k||c)&&e.draw();return h}; +this.fnDestroy=function(a){this.api(!0).destroy(a)};this.fnDraw=function(a){this.api(!0).draw(a)};this.fnFilter=function(a,b,c,e,d,h){d=this.api(!0);null===b||b===k?d.search(a,c,e,h):d.column(b).search(a,c,e,h);d.draw()};this.fnGetData=function(a,b){var c=this.api(!0);if(a!==k){var e=a.nodeName?a.nodeName.toLowerCase():"";return b!==k||"td"==e||"th"==e?c.cell(a,b).data():c.row(a).data()||null}return c.data().toArray()};this.fnGetNodes=function(a){var b=this.api(!0);return a!==k?b.row(a).node():b.rows().nodes().flatten().toArray()}; +this.fnGetPosition=function(a){var b=this.api(!0),c=a.nodeName.toUpperCase();return"TR"==c?b.row(a).index():"TD"==c||"TH"==c?(a=b.cell(a).index(),[a.row,a.columnVisible,a.column]):null};this.fnIsOpen=function(a){return this.api(!0).row(a).child.isShown()};this.fnOpen=function(a,b,c){return this.api(!0).row(a).child(b,c).show().child()[0]};this.fnPageChange=function(a,b){var c=this.api(!0).page(a);(b===k||b)&&c.draw(!1)};this.fnSetColumnVis=function(a,b,c){a=this.api(!0).column(a).visible(b);(c=== +k||c)&&a.columns.adjust().draw()};this.fnSettings=function(){return za(this[u.iApiIndex])};this.fnSort=function(a){this.api(!0).order(a).draw()};this.fnSortListener=function(a,b,c){this.api(!0).order.listener(a,b,c)};this.fnUpdate=function(a,b,c,e,d){var h=this.api(!0);c===k||null===c?h.row(b).data(a):h.cell(b,c).data(a);(d===k||d)&&h.columns.adjust();(e===k||e)&&h.draw();return 0};this.fnVersionCheck=u.fnVersionCheck;var b=this,c=a===k,e=this.length;c&&(a={});this.oApi=this.internal=u.internal;for(var d in m.ext.internal)d&& +(this[d]=Nb(d));this.each(function(){var d={},d=1t<"F"ip>'),p.renderer)? +h.isPlainObject(p.renderer)&&!p.renderer.header&&(p.renderer.header="jqueryui"):p.renderer="jqueryui":h.extend(i,m.ext.classes,d.oClasses);q.addClass(i.sTable);if(""!==p.oScroll.sX||""!==p.oScroll.sY)p.oScroll.iBarWidth=Hb();!0===p.oScroll.sX&&(p.oScroll.sX="100%");p.iInitDisplayStart===k&&(p.iInitDisplayStart=d.iDisplayStart,p._iDisplayStart=d.iDisplayStart);null!==d.iDeferLoading&&(p.bDeferLoading=!0,g=h.isArray(d.iDeferLoading),p._iRecordsDisplay=g?d.iDeferLoading[0]:d.iDeferLoading,p._iRecordsTotal= +g?d.iDeferLoading[1]:d.iDeferLoading);var t=p.oLanguage;h.extend(!0,t,d.oLanguage);""!==t.sUrl&&(h.ajax({dataType:"json",url:t.sUrl,success:function(a){P(a);H(l.oLanguage,a);h.extend(true,t,a);ga(p)},error:function(){ga(p)}}),o=!0);null===d.asStripeClasses&&(p.asStripeClasses=[i.sStripeOdd,i.sStripeEven]);var g=p.asStripeClasses,s=q.children("tbody").find("tr").eq(0);-1!==h.inArray(!0,h.map(g,function(a){return s.hasClass(a)}))&&(h("tbody tr",this).removeClass(g.join(" ")),p.asDestroyStripes=g.slice()); +n=[];g=this.getElementsByTagName("thead");0!==g.length&&(da(p.aoHeader,g[0]),n=qa(p));if(null===d.aoColumns){r=[];g=0;for(j=n.length;g").appendTo(this));p.nTHead=j[0];j=q.children("tbody");0===j.length&&(j=h("

a",k.leadingWhitespace=3===b.firstChild.nodeType,k.tbody=!b.getElementsByTagName("tbody").length,k.htmlSerialize=!!b.getElementsByTagName("link").length,k.html5Clone="<:nav>"!==y.createElement("nav").cloneNode(!0).outerHTML,a.type="checkbox",a.checked=!0,c.appendChild(a),k.appendChecked=a.checked,b.innerHTML="",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue,c.appendChild(b),b.innerHTML="",k.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,k.noCloneEvent=!0,b.attachEvent&&(b.attachEvent("onclick",function(){k.noCloneEvent=!1}),b.cloneNode(!0).click()),null==k.deleteExpando){k.deleteExpando=!0;try{delete b.test}catch(d){k.deleteExpando=!1}}}(),function(){var b,c,d=y.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(k[b+"Bubbles"]=c in a)||(d.setAttribute(c,"t"),k[b+"Bubbles"]=d.attributes[c].expando===!1);d=null}();var X=/^(?:input|select|textarea)$/i,Y=/^key/,Z=/^(?:mouse|pointer|contextmenu)|click/,$=/^(?:focusinfocus|focusoutblur)$/,_=/^([^.]*)(?:\.(.+)|)$/;function aa(){return!0}function ba(){return!1}function ca(){try{return y.activeElement}catch(a){}}m.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=m.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return typeof m===K||a&&m.event.triggered===a.type?void 0:m.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(E)||[""],h=b.length;while(h--)f=_.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=m.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=m.event.special[o]||{},l=m.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&m.expr.match.needsContext.test(e),namespace:p.join(".")},i),(n=g[o])||(n=g[o]=[],n.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?n.splice(n.delegateCount++,0,l):n.push(l),m.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m.hasData(a)&&m._data(a);if(r&&(k=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=_.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=m.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,n=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=n.length;while(f--)g=n[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(n.splice(f,1),g.selector&&n.delegateCount--,l.remove&&l.remove.call(a,g));i&&!n.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||m.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)m.event.remove(a,o+b[j],c,d,!0);m.isEmptyObject(k)&&(delete r.handle,m._removeData(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,l,n,o=[d||y],p=j.call(b,"type")?b.type:b,q=j.call(b,"namespace")?b.namespace.split("."):[];if(h=l=d=d||y,3!==d.nodeType&&8!==d.nodeType&&!$.test(p+m.event.triggered)&&(p.indexOf(".")>=0&&(q=p.split("."),p=q.shift(),q.sort()),g=p.indexOf(":")<0&&"on"+p,b=b[m.expando]?b:new m.Event(p,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=q.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:m.makeArray(c,[b]),k=m.event.special[p]||{},e||!k.trigger||k.trigger.apply(d,c)!==!1)){if(!e&&!k.noBubble&&!m.isWindow(d)){for(i=k.delegateType||p,$.test(i+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),l=h;l===(d.ownerDocument||y)&&o.push(l.defaultView||l.parentWindow||a)}n=0;while((h=o[n++])&&!b.isPropagationStopped())b.type=n>1?i:k.bindType||p,f=(m._data(h,"events")||{})[b.type]&&m._data(h,"handle"),f&&f.apply(h,c),f=g&&h[g],f&&f.apply&&m.acceptData(h)&&(b.result=f.apply(h,c),b.result===!1&&b.preventDefault());if(b.type=p,!e&&!b.isDefaultPrevented()&&(!k._default||k._default.apply(o.pop(),c)===!1)&&m.acceptData(d)&&g&&d[p]&&!m.isWindow(d)){l=d[g],l&&(d[g]=null),m.event.triggered=p;try{d[p]()}catch(r){}m.event.triggered=void 0,l&&(d[g]=l)}return b.result}},dispatch:function(a){a=m.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(m._data(this,"events")||{})[a.type]||[],k=m.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=m.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,g=0;while((e=f.handlers[g++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(e.namespace))&&(a.handleObj=e,a.data=e.data,c=((m.event.special[e.origType]||{}).handle||e.handler).apply(f.elem,i),void 0!==c&&(a.result=c)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(e=[],f=0;h>f;f++)d=b[f],c=d.selector+" ",void 0===e[c]&&(e[c]=d.needsContext?m(c,this).index(i)>=0:m.find(c,this,null,[i]).length),e[c]&&e.push(d);e.length&&g.push({elem:i,handlers:e})}return h]","i"),ha=/^\s+/,ia=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,ja=/<([\w:]+)/,ka=/\s*$/g,ra={option:[1,""],legend:[1,"
","
"],area:[1,"",""],param:[1,"",""],thead:[1,"","
"],tr:[2,"","
"],col:[2,"","
"],td:[3,"","
"],_default:k.htmlSerialize?[0,"",""]:[1,"X
","
"]},sa=da(y),ta=sa.appendChild(y.createElement("div"));ra.optgroup=ra.option,ra.tbody=ra.tfoot=ra.colgroup=ra.caption=ra.thead,ra.th=ra.td;function ua(a,b){var c,d,e=0,f=typeof a.getElementsByTagName!==K?a.getElementsByTagName(b||"*"):typeof a.querySelectorAll!==K?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||m.nodeName(d,b)?f.push(d):m.merge(f,ua(d,b));return void 0===b||b&&m.nodeName(a,b)?m.merge([a],f):f}function va(a){W.test(a.type)&&(a.defaultChecked=a.checked)}function wa(a,b){return m.nodeName(a,"table")&&m.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function xa(a){return a.type=(null!==m.find.attr(a,"type"))+"/"+a.type,a}function ya(a){var b=pa.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function za(a,b){for(var c,d=0;null!=(c=a[d]);d++)m._data(c,"globalEval",!b||m._data(b[d],"globalEval"))}function Aa(a,b){if(1===b.nodeType&&m.hasData(a)){var c,d,e,f=m._data(a),g=m._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)m.event.add(b,c,h[c][d])}g.data&&(g.data=m.extend({},g.data))}}function Ba(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!k.noCloneEvent&&b[m.expando]){e=m._data(b);for(d in e.events)m.removeEvent(b,d,e.handle);b.removeAttribute(m.expando)}"script"===c&&b.text!==a.text?(xa(b).text=a.text,ya(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),k.html5Clone&&a.innerHTML&&!m.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&W.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}m.extend({clone:function(a,b,c){var d,e,f,g,h,i=m.contains(a.ownerDocument,a);if(k.html5Clone||m.isXMLDoc(a)||!ga.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(ta.innerHTML=a.outerHTML,ta.removeChild(f=ta.firstChild)),!(k.noCloneEvent&&k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||m.isXMLDoc(a)))for(d=ua(f),h=ua(a),g=0;null!=(e=h[g]);++g)d[g]&&Ba(e,d[g]);if(b)if(c)for(h=h||ua(a),d=d||ua(f),g=0;null!=(e=h[g]);g++)Aa(e,d[g]);else Aa(a,f);return d=ua(f,"script"),d.length>0&&za(d,!i&&ua(a,"script")),d=h=e=null,f},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,l,n=a.length,o=da(b),p=[],q=0;n>q;q++)if(f=a[q],f||0===f)if("object"===m.type(f))m.merge(p,f.nodeType?[f]:f);else if(la.test(f)){h=h||o.appendChild(b.createElement("div")),i=(ja.exec(f)||["",""])[1].toLowerCase(),l=ra[i]||ra._default,h.innerHTML=l[1]+f.replace(ia,"<$1>")+l[2],e=l[0];while(e--)h=h.lastChild;if(!k.leadingWhitespace&&ha.test(f)&&p.push(b.createTextNode(ha.exec(f)[0])),!k.tbody){f="table"!==i||ka.test(f)?""!==l[1]||ka.test(f)?0:h:h.firstChild,e=f&&f.childNodes.length;while(e--)m.nodeName(j=f.childNodes[e],"tbody")&&!j.childNodes.length&&f.removeChild(j)}m.merge(p,h.childNodes),h.textContent="";while(h.firstChild)h.removeChild(h.firstChild);h=o.lastChild}else p.push(b.createTextNode(f));h&&o.removeChild(h),k.appendChecked||m.grep(ua(p,"input"),va),q=0;while(f=p[q++])if((!d||-1===m.inArray(f,d))&&(g=m.contains(f.ownerDocument,f),h=ua(o.appendChild(f),"script"),g&&za(h),c)){e=0;while(f=h[e++])oa.test(f.type||"")&&c.push(f)}return h=null,o},cleanData:function(a,b){for(var d,e,f,g,h=0,i=m.expando,j=m.cache,l=k.deleteExpando,n=m.event.special;null!=(d=a[h]);h++)if((b||m.acceptData(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)n[e]?m.event.remove(d,e):m.removeEvent(d,e,g.handle);j[f]&&(delete j[f],l?delete d[i]:typeof d.removeAttribute!==K?d.removeAttribute(i):d[i]=null,c.push(f))}}}),m.fn.extend({text:function(a){return V(this,function(a){return void 0===a?m.text(this):this.empty().append((this[0]&&this[0].ownerDocument||y).createTextNode(a))},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wa(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wa(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?m.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||m.cleanData(ua(c)),c.parentNode&&(b&&m.contains(c.ownerDocument,c)&&za(ua(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&m.cleanData(ua(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&m.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return m.clone(this,a,b)})},html:function(a){return V(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(fa,""):void 0;if(!("string"!=typeof a||ma.test(a)||!k.htmlSerialize&&ga.test(a)||!k.leadingWhitespace&&ha.test(a)||ra[(ja.exec(a)||["",""])[1].toLowerCase()])){a=a.replace(ia,"<$1>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(m.cleanData(ua(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,m.cleanData(ua(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,n=this,o=l-1,p=a[0],q=m.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&na.test(p))return this.each(function(c){var d=n.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(i=m.buildFragment(a,this[0].ownerDocument,!1,this),c=i.firstChild,1===i.childNodes.length&&(i=c),c)){for(g=m.map(ua(i,"script"),xa),f=g.length;l>j;j++)d=i,j!==o&&(d=m.clone(d,!0,!0),f&&m.merge(g,ua(d,"script"))),b.call(this[j],d,j);if(f)for(h=g[g.length-1].ownerDocument,m.map(g,ya),j=0;f>j;j++)d=g[j],oa.test(d.type||"")&&!m._data(d,"globalEval")&&m.contains(h,d)&&(d.src?m._evalUrl&&m._evalUrl(d.src):m.globalEval((d.text||d.textContent||d.innerHTML||"").replace(qa,"")));i=c=null}return this}}),m.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){m.fn[a]=function(a){for(var c,d=0,e=[],g=m(a),h=g.length-1;h>=d;d++)c=d===h?this:this.clone(!0),m(g[d])[b](c),f.apply(e,c.get());return this.pushStack(e)}});var Ca,Da={};function Ea(b,c){var d,e=m(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:m.css(e[0],"display");return e.detach(),f}function Fa(a){var b=y,c=Da[a];return c||(c=Ea(a,b),"none"!==c&&c||(Ca=(Ca||m("