The low-level, core functionality of boto 3.
vikashgupta2000/docker-curriculum 0
:dolphin: A comprehensive tutorial on getting started with Docker!
vikashgupta2000/openmrs-core 0
OpenMRS API and web application code
vikashgupta2000/openmrs-module-emrapi 0
Higher-level APIs to support building EMR functionality in OpenMRS, to supplement the data-level APIs in the OpenMRS core.
PR opened Bahmni/openmrs-module-bahmni.ie.apps
pr created time in 2 hours
Pull request review commentBahmni/default-config
BAH-1125 - Swati/Praveena - Hide 'Join teleconsultation' button on non-teleconsultation Appointments
angular.module('bahmni.common.displaycontrol.custom') var jitsiMeetingId = $scope.upcomingAppointmentsUUIDs[appointmentIndex]; appService.setTeleConsultationVars(jitsiMeetingId, true); };+ $scope.showJoinTeleconsultationOption = function (appointmentIndex) {
Please refrain from hard-coding texts. 'Scheduled' - please pull it from config.
comment created time in 4 hours
Pull request review commentBahmni/bahmni-core
BAH-1127|Buvaneswari|openElis to OpenMRS sync
<version>${calculationModuleVersion}</version> <scope>test</scope> </dependency>+
Agreed. Will remove this.
comment created time in 17 hours
Pull request review commentBahmni/bahmni-core
BAH-1127|Buvaneswari|openElis to OpenMRS sync
<version>${calculationModuleVersion}</version> <scope>test</scope> </dependency>+
are these needed? jaxb are all XML schema and binding dependencies.
comment created time in 17 hours
Pull request review commentBahmni/bahmni-java-utils
BAH-1127|Buvaneswari|OpenElis not syncing with OpenMRS
public HttpResponse get(HttpRequestDetails requestDetails) { } public HttpResponse get(HttpRequestDetails requestDetails, HttpHeaders httpHeaders) {- defaultHttpClient = (connectionManager == null) ? new DefaultHttpClient() : new DefaultHttpClient(connectionManager);- defaultHttpClient.getParams().setParameter(CoreConnectionPNames.SO_TIMEOUT, readTimeout);- defaultHttpClient.getParams().setParameter(CoreConnectionPNames.CONNECTION_TIMEOUT, connectTimeout); HttpGet httpGet = new HttpGet(requestDetails.getUri());+ RequestConfig requestConfig = RequestConfig.custom()+ .setConnectTimeout(readTimeout)+ .setSocketTimeout(connectTimeout)+ .build();+ if(connectionManager == null) {+ connectionManager = new PoolingHttpClientConnectionManager();+ }+ closeableHttpClient = HttpClientBuilder.create()
you could have done with try with resources block, then you would not have to handle the closing part. But if caller is calling the closeConnection() and you wouldn't want to refactor that - then its ok
comment created time in 17 hours
Pull request review commentBahmni/bahmni-java-utils
BAH-1127|Buvaneswari|OpenElis not syncing with OpenMRS
<scope>test</scope> </dependency> </dependencies>+ <build>
is this required? the httpcomponents is mentioned as provided dependency anyway
comment created time in 17 hours
issue openedBahmni/bahmni-playbooks
Successfully installed bahmni, but failed to install dcm4chee.
Use docker container (centos 7.6) and bahmni install command to deploy bahmni(0.92) successfully, and can access services such as Bahmni-EMR and Bahmni-LAB through the web. But cannot access http://172.17.0.2/dcm4chee-web3, because dcm4chee has not been installed correctly. Querying Bahmni Wiki: Advanced Installation Options did not find out how to install dcm4chee through bahmni install. Any help would be appreciated.
bahmni start:
PLAY [pacs-integration-db:pacs-integration-db-slave] ***************************
skipping: no hosts matched
[WARNING]: Could not match supplied host pattern, ignoring: pacs-integration
PLAY [pacs-integration] ********************************************************
skipping: no hosts matched
PLAY [atomfeed-console] ********************************************************
META: ran handlers
META: ran handlers
META: ran handlers
[WARNING]: Could not match supplied host pattern, ignoring: dcm4chee-db
[WARNING]: Could not match supplied host pattern, ignoring: dcm4chee-db-slave
PLAY [dcm4chee-db,dcm4chee-db-slave] *******************************************
skipping: no hosts matched
[WARNING]: Could not match supplied host pattern, ignoring: dcm4chee
PLAY [dcm4chee] ****************************************************************
skipping: no hosts matched
[WARNING]: Could not match supplied host pattern, ignoring: bahmni-event-log-
service
PLAY [bahmni-event-log-service] ************************************************
skipping: no hosts matched
created time in 2 days
Pull request review commentBahmni/default-config
BAH-1125 - Swati/Praveena - Hide 'Join teleconsultation' button on non-teleconsultation Appointments
<h2 class="section-title" ng-click="goToListView()"><span style="border-bottom: {{detail}} </td> <td>- <button style="background: #669998; color: white;" ng-if="appointment.DASHBOARD_APPOINTMENTS_STATUS_KEY == 'Scheduled'" ng-click="openJitsiMeet($index)">+ <button style="background: #669998; color: white;" ng-if="appointment.DASHBOARD_APPOINTMENTS_STATUS_KEY == 'Scheduled' && appointment.DASHBOARD_APPOINTMENTS_TELECONSULTATION == true" ng-click="openJitsiMeet($index)">
changes done
comment created time in 3 days
Pull request review commentBahmni/bahmni-offline-sync
BAh-1106 | Gopi,Shriram | Changes Related To Zipping of AddressHierarchy and OfflineConcepts
+package org.bahmni.module.bahmniOfflineSync.strategy;++import org.apache.commons.logging.Log;+import org.apache.commons.logging.LogFactory;+import org.bahmni.module.bahmniOfflineSync.eventLog.EventLog;+import org.bahmni.module.bahmniOfflineSync.utils.AddressHierarchyLevelWithLevelEntryName;+import org.bahmni.module.bahmniOfflineSync.utils.SelectiveSyncStrategyHelper;+import org.ict4h.atomfeed.server.domain.EventRecord;+import org.openmrs.*;+import org.openmrs.api.context.Context;+import org.openmrs.module.addresshierarchy.AddressHierarchyEntry;+import org.openmrs.module.addresshierarchy.AddressHierarchyLevel;+import org.openmrs.module.addresshierarchy.service.AddressHierarchyService;+import org.springframework.util.StringUtils;++import java.sql.SQLException;+import java.util.*;++public class SelectiveSyncStrategy extends AbstractOfflineSyncStrategy {+ private static final String ATTRIBUTE_TYPE_NAME = "addressCode";+ protected static Log log = LogFactory.getLog(SelectiveSyncStrategy.class);+ private static AddressHierarchyService addressHierarchyService = Context.getService(AddressHierarchyService.class);++ public SelectiveSyncStrategy() throws SQLException {+ super();++ }++ protected String evaluateFilterForPatient(String uuid) {+ String patientFilter = null;+ Patient patient = patientService.getPatientByUuid(uuid);++ if (patient != null && patient.getAttribute(ATTRIBUTE_TYPE_NAME) != null) {+ patientFilter = patient.getAttribute(ATTRIBUTE_TYPE_NAME).getValue();+ }++ return patientFilter;+ }++ private String evaluateFilterForEncounter(String uuid) {+ String filter = null;+ Encounter encounter = encounterService.getEncounterByUuid(uuid);+ if (encounter != null)+ filter = evaluateFilterForPatient(encounter.getPatient().getUuid());+ return filter;+ }++ private String evaluateFilterForAddressHierarchy(String uuid) {+ String addressHierarchyFilter = null;+ AddressHierarchyService addressHierarchyService = Context.getService(AddressHierarchyService.class);+ AddressHierarchyEntry addressHierarchyEntry = addressHierarchyService.getAddressHierarchyEntryByUuid(uuid);+ if (addressHierarchyEntry != null && addressHierarchyEntry.getLevel() != null && addressHierarchyEntry.getLevel().getId() > 3) {+ addressHierarchyFilter = addressHierarchyEntry.getUserGeneratedId();+ }+ return addressHierarchyFilter;+ }+++ public Map<String, List<String>> getFilterForDevice(String providerUuid, String addressUuid, String loginLocationUuid) {+ if(addressUuid.equals("null") || addressUuid.isEmpty()) {+ throw new RuntimeException("Please give address for this login location in openmrs");+ }+ Map<String, List<String>> categoryFilterMap = new HashMap();+ AddressHierarchyService addressHierarchyService = Context.getService(AddressHierarchyService.class);+ AddressHierarchyEntry addressHierarchyEntry = addressHierarchyService.getAddressHierarchyEntryByUuid(addressUuid);+ List transactionalDataFilters = getTransactionalDataFilters(loginLocationUuid, addressHierarchyService, addressHierarchyEntry);+ categoryFilterMap.put("patient", transactionalDataFilters);+ categoryFilterMap.put("encounter", transactionalDataFilters);+ categoryFilterMap.put("addressHierarchy", getFiltersForAddressHierarchy(addressHierarchyEntry));+ //categoryFilterMap.put("parentAddressHierarchy", new ArrayList<String>());+ categoryFilterMap.put("offline-concepts", new ArrayList<String>());+ categoryFilterMap.put("forms", new ArrayList<>());+ return categoryFilterMap;+ }++ private List getTransactionalDataFilters(String loginLocationUuid, AddressHierarchyService addressHierarchyService, AddressHierarchyEntry addressHierarchyEntry) {+ List transactionalDataFilters = new ArrayList();+ if (addressHierarchyEntry != null) {+ LocationAttributeType catchmentFiltersAttribute = locationService.getLocationAttributeTypeByName("catchmentFilters");+ String userGeneratedId = addressHierarchyEntry.getUserGeneratedId();+ LocationAttribute catchmentFilters = getCatchmentFilters(loginLocationUuid, catchmentFiltersAttribute);+ List<AddressHierarchyEntry> childAddressHierarchyEntries = addressHierarchyService.getChildAddressHierarchyEntries(addressHierarchyEntry);+ List<String> transactionalFilters = getCatchmentIds(catchmentFilters, childAddressHierarchyEntries, addressHierarchyService, addressHierarchyEntry);+ transactionalDataFilters.add(userGeneratedId);+ transactionalDataFilters.addAll(transactionalFilters);+ }+ return transactionalDataFilters;+ }++ private LocationAttribute getCatchmentFilters(String loginLocationUuid, LocationAttributeType catchmentFiltersAttribute) {+ Location location = locationService.getLocationByUuid(loginLocationUuid);+ List<LocationAttribute> attributes = (List<LocationAttribute>) location.getActiveAttributes();+ for (LocationAttribute attribute : attributes) {+ if (attribute.getAttributeType().equals(catchmentFiltersAttribute)) {+ return attribute;+ }+ }+ return null;+ }++ private List<String> getCatchmentIds(LocationAttribute catchmentFilters, List<AddressHierarchyEntry> childAddressHierarchyEntries, AddressHierarchyService addressHierarchyService, AddressHierarchyEntry addressHierarchyEntry) {+ List<String> wardIDs = new ArrayList();+ if (catchmentFilters != null) {+ String wardsName = trim(catchmentFilters.getValue().toString());+ Set<String> wardsNameList = StringUtils.commaDelimitedListToSet(wardsName);+ for (String wardName : wardsNameList) {+ AddressHierarchyEntry childAddressHierarchyEntry = addressHierarchyService.getChildAddressHierarchyEntryByName(addressHierarchyEntry, wardName);+ if (childAddressHierarchyEntry == null) {+ throw new RuntimeException("Please check your catchmentFilters configuration in openmrs!!");+ } else {+ getAllWardIds(childAddressHierarchyEntry, addressHierarchyService, wardIDs);+ }+ }+ } else {+ updateWardIds(addressHierarchyService, wardIDs, childAddressHierarchyEntries);+ }+ return wardIDs;+ }++ private void getAllWardIds(AddressHierarchyEntry addressHierarchyEntry, AddressHierarchyService addressHierarchyService, List<String> wardIDs) {+ if (addressHierarchyEntry == null) {+ return;+ }+ wardIDs.add(addressHierarchyEntry.getUserGeneratedId());+ List<AddressHierarchyEntry> childAddressHierarchyEntries = addressHierarchyService.getChildAddressHierarchyEntries(addressHierarchyEntry);+ updateWardIds(addressHierarchyService, wardIDs, childAddressHierarchyEntries);+ }++ private void updateWardIds(AddressHierarchyService addressHierarchyService, List<String> wardIDs, List<AddressHierarchyEntry> childAddressHierarchyEntries) {+ for (AddressHierarchyEntry childAddressHierarchyEntry : childAddressHierarchyEntries) {+ getAllWardIds(childAddressHierarchyEntry, addressHierarchyService, wardIDs);+ }+ }++ private String trim(String content) {+ content = content.trim();+ return content.replaceAll("(\\s*,\\s*)", ",");+ }++ @Override+ public List<String> getEventCategoriesList() {+ List<String> eventCategoryList = new ArrayList();++ eventCategoryList.add("patient");+ eventCategoryList.add("encounter");+ eventCategoryList.add("addressHierarchy");+ eventCategoryList.add("parentAddressHierarchy");+ eventCategoryList.add("offline-concepts");+ eventCategoryList.add("forms");++ return eventCategoryList;+ }++++ private List<String> getFiltersForAddressHierarchy(AddressHierarchyEntry addressHierarchyEntry) {+ List addressHierarchyFilters = new ArrayList();+ while (addressHierarchyEntry.getParent() != null) {+ if (addressHierarchyEntry.getUserGeneratedId().length() == 6) {+ addressHierarchyFilters.add(addressHierarchyEntry.getUserGeneratedId());+ break;+ }+ addressHierarchyEntry = addressHierarchyEntry.getParent();+ }+ return addressHierarchyFilters;+ }++ @Override+ public List<EventLog> getEventLogsFromEventRecords(List<EventRecord> eventRecords) {+ List<EventLog> eventLogs = new ArrayList<EventLog>();++ for (EventRecord er : eventRecords) {+ EventLog eventLog = new EventLog(er.getUuid(),er.getCategory(),er.getTimeStamp(),er.getContents(), null, er.getUuid());+ String category = er.getCategory();+ String uuid = getUuidFromURL(er.getContents());+ String filter = null;++ if (!uuid.isEmpty()) {+ if (category.equalsIgnoreCase("all-concepts")) {+ if (isOfflineConceptEvent(uuid)) {+ eventLog.setCategory("offline-concepts");+ } else {+ eventLog.setCategory("concepts");+ }+ }++ if (category.equalsIgnoreCase("Patient")|| category.equalsIgnoreCase("LabOrderResults")) {+ // filter = evaluateFilterForPatient(uuid);
Removed comments @binduak
comment created time in 3 days
Pull request review commentBahmni/bahmni-connect
'use strict'; angular.module('bahmni.home')- .controller('DashboardController', ['$scope', '$state', 'appService', 'locationService', 'spinner', '$bahmniCookieStore', '$window', '$q', 'offlineService', 'schedulerService', 'eventQueue', 'offlineDbService', 'androidDbService', 'networkStatusService', 'messagingService', '$translate',- function ($scope, $state, appService, locationService, spinner, $bahmniCookieStore, $window, $q, offlineService, schedulerService, eventQueue, offlineDbService, androidDbService, networkStatusService, messagingService, $translate) {+ .controller('DashboardController', ['$scope', '$state', 'appService', 'locationService', 'spinner', '$bahmniCookieStore', '$window', '$q', 'offlineService', 'schedulerService', 'eventQueue', 'offlineDbService', 'androidDbService', 'networkStatusService', 'messagingService', '$translate', '$http',+ function ($scope, $state, appService, locationService, spinner, $bahmniCookieStore, $window, $q, offlineService, schedulerService, eventQueue, offlineDbService, androidDbService, networkStatusService, messagingService, $translate, $http) { $scope.appExtensions = appService.getAppDescriptor().getExtensions($state.current.data.extensionPointId, "link") || []; $scope.selectedLocationUuid = {}; $scope.isOfflineApp = offlineService.isOfflineApp(); $scope.isPWAapp = offlineService.isChromeApp();+ $scope.isSelectiveSyncStrategy = false;++ var verifySelectiveSync = function () {+ $http.get('/openmrs/ws/rest/v1/eventlog/filter/globalProperty/', {+ method: "GET",+ params: { q: 'bahmniOfflineSync.strategy' },
We didn't have any service that will do the needful Bindu. if it's better to use service we will create a new service . please suggest us .
comment created time in 3 days
pull request commentBahmni/bahmni-connect
@gopikrishna-yaramothu the below files doesn't have any new test cases added selectiveSyncService.js , selectiveSchedulerService.js
comment created time in 3 days
Pull request review commentBahmni/bahmni-connect
'use strict'; angular.module('bahmni.registration')- .controller('NavigationController', ['$scope', '$rootScope', '$location', 'sessionService', '$window', 'appService', '$sce', 'offlineService', 'schedulerService',- function ($scope, $rootScope, $location, sessionService, $window, appService, $sce, offlineService, schedulerService) {+ .controller('NavigationController', ['$scope', '$rootScope', '$location', 'sessionService', '$window', 'appService', '$sce', 'offlineService', 'schedulerService', '$http',+ function ($scope, $rootScope, $location, sessionService, $window, appService, $sce, offlineService, schedulerService, $http) { $scope.extensions = appService.getAppDescriptor().getExtensions("org.bahmni.registration.navigation", "link"); $scope.isOfflineApp = offlineService.isOfflineApp();+ $scope.isSelectiveSyncStrategy = false;++ var verifySelectiveSync = function () {+ $http.get('/openmrs/ws/rest/v1/eventlog/filter/globalProperty/', {+ method: "GET",+ params: { q: 'bahmniOfflineSync.strategy' },
@gopikrishna-yaramothu same as mentioned above
comment created time in 3 days
Pull request review commentBahmni/bahmni-connect
'use strict'; angular.module('bahmni.home')- .controller('DashboardController', ['$scope', '$state', 'appService', 'locationService', 'spinner', '$bahmniCookieStore', '$window', '$q', 'offlineService', 'schedulerService', 'eventQueue', 'offlineDbService', 'androidDbService', 'networkStatusService', 'messagingService', '$translate',- function ($scope, $state, appService, locationService, spinner, $bahmniCookieStore, $window, $q, offlineService, schedulerService, eventQueue, offlineDbService, androidDbService, networkStatusService, messagingService, $translate) {+ .controller('DashboardController', ['$scope', '$state', 'appService', 'locationService', 'spinner', '$bahmniCookieStore', '$window', '$q', 'offlineService', 'schedulerService', 'eventQueue', 'offlineDbService', 'androidDbService', 'networkStatusService', 'messagingService', '$translate', '$http',+ function ($scope, $state, appService, locationService, spinner, $bahmniCookieStore, $window, $q, offlineService, schedulerService, eventQueue, offlineDbService, androidDbService, networkStatusService, messagingService, $translate, $http) { $scope.appExtensions = appService.getAppDescriptor().getExtensions($state.current.data.extensionPointId, "link") || []; $scope.selectedLocationUuid = {}; $scope.isOfflineApp = offlineService.isOfflineApp(); $scope.isPWAapp = offlineService.isChromeApp();+ $scope.isSelectiveSyncStrategy = false;++ var verifySelectiveSync = function () {+ $http.get('/openmrs/ws/rest/v1/eventlog/filter/globalProperty/', {+ method: "GET",+ params: { q: 'bahmniOfflineSync.strategy' },
this shouldn't be part of controller. Do we have any service that it talks to. If yes, we can move the code to the service file @gopikrishna-yaramothu
comment created time in 3 days
Pull request review commentBahmni/bahmni-offline-sync
BAh-1106 | Gopi,Shriram | Changes Related To Zipping of AddressHierarchy and OfflineConcepts
+package org.bahmni.module.bahmniOfflineSync.strategy;++import org.apache.commons.logging.Log;+import org.apache.commons.logging.LogFactory;+import org.bahmni.module.bahmniOfflineSync.eventLog.EventLog;+import org.bahmni.module.bahmniOfflineSync.utils.AddressHierarchyLevelWithLevelEntryName;+import org.bahmni.module.bahmniOfflineSync.utils.SelectiveSyncStrategyHelper;+import org.ict4h.atomfeed.server.domain.EventRecord;+import org.openmrs.*;+import org.openmrs.api.context.Context;+import org.openmrs.module.addresshierarchy.AddressHierarchyEntry;+import org.openmrs.module.addresshierarchy.AddressHierarchyLevel;+import org.openmrs.module.addresshierarchy.service.AddressHierarchyService;+import org.springframework.util.StringUtils;++import java.sql.SQLException;+import java.util.*;++public class SelectiveSyncStrategy extends AbstractOfflineSyncStrategy {+ private static final String ATTRIBUTE_TYPE_NAME = "addressCode";+ protected static Log log = LogFactory.getLog(SelectiveSyncStrategy.class);+ private static AddressHierarchyService addressHierarchyService = Context.getService(AddressHierarchyService.class);++ public SelectiveSyncStrategy() throws SQLException {+ super();++ }++ protected String evaluateFilterForPatient(String uuid) {+ String patientFilter = null;+ Patient patient = patientService.getPatientByUuid(uuid);++ if (patient != null && patient.getAttribute(ATTRIBUTE_TYPE_NAME) != null) {+ patientFilter = patient.getAttribute(ATTRIBUTE_TYPE_NAME).getValue();+ }++ return patientFilter;+ }++ private String evaluateFilterForEncounter(String uuid) {+ String filter = null;+ Encounter encounter = encounterService.getEncounterByUuid(uuid);+ if (encounter != null)+ filter = evaluateFilterForPatient(encounter.getPatient().getUuid());+ return filter;+ }++ private String evaluateFilterForAddressHierarchy(String uuid) {+ String addressHierarchyFilter = null;+ AddressHierarchyService addressHierarchyService = Context.getService(AddressHierarchyService.class);+ AddressHierarchyEntry addressHierarchyEntry = addressHierarchyService.getAddressHierarchyEntryByUuid(uuid);+ if (addressHierarchyEntry != null && addressHierarchyEntry.getLevel() != null && addressHierarchyEntry.getLevel().getId() > 3) {+ addressHierarchyFilter = addressHierarchyEntry.getUserGeneratedId();+ }+ return addressHierarchyFilter;+ }+++ public Map<String, List<String>> getFilterForDevice(String providerUuid, String addressUuid, String loginLocationUuid) {+ if(addressUuid.equals("null") || addressUuid.isEmpty()) {+ throw new RuntimeException("Please give address for this login location in openmrs");+ }+ Map<String, List<String>> categoryFilterMap = new HashMap();+ AddressHierarchyService addressHierarchyService = Context.getService(AddressHierarchyService.class);+ AddressHierarchyEntry addressHierarchyEntry = addressHierarchyService.getAddressHierarchyEntryByUuid(addressUuid);+ List transactionalDataFilters = getTransactionalDataFilters(loginLocationUuid, addressHierarchyService, addressHierarchyEntry);+ categoryFilterMap.put("patient", transactionalDataFilters);+ categoryFilterMap.put("encounter", transactionalDataFilters);+ categoryFilterMap.put("addressHierarchy", getFiltersForAddressHierarchy(addressHierarchyEntry));+ //categoryFilterMap.put("parentAddressHierarchy", new ArrayList<String>());+ categoryFilterMap.put("offline-concepts", new ArrayList<String>());+ categoryFilterMap.put("forms", new ArrayList<>());+ return categoryFilterMap;+ }++ private List getTransactionalDataFilters(String loginLocationUuid, AddressHierarchyService addressHierarchyService, AddressHierarchyEntry addressHierarchyEntry) {+ List transactionalDataFilters = new ArrayList();+ if (addressHierarchyEntry != null) {+ LocationAttributeType catchmentFiltersAttribute = locationService.getLocationAttributeTypeByName("catchmentFilters");+ String userGeneratedId = addressHierarchyEntry.getUserGeneratedId();+ LocationAttribute catchmentFilters = getCatchmentFilters(loginLocationUuid, catchmentFiltersAttribute);+ List<AddressHierarchyEntry> childAddressHierarchyEntries = addressHierarchyService.getChildAddressHierarchyEntries(addressHierarchyEntry);+ List<String> transactionalFilters = getCatchmentIds(catchmentFilters, childAddressHierarchyEntries, addressHierarchyService, addressHierarchyEntry);+ transactionalDataFilters.add(userGeneratedId);+ transactionalDataFilters.addAll(transactionalFilters);+ }+ return transactionalDataFilters;+ }++ private LocationAttribute getCatchmentFilters(String loginLocationUuid, LocationAttributeType catchmentFiltersAttribute) {+ Location location = locationService.getLocationByUuid(loginLocationUuid);+ List<LocationAttribute> attributes = (List<LocationAttribute>) location.getActiveAttributes();+ for (LocationAttribute attribute : attributes) {+ if (attribute.getAttributeType().equals(catchmentFiltersAttribute)) {+ return attribute;+ }+ }+ return null;+ }++ private List<String> getCatchmentIds(LocationAttribute catchmentFilters, List<AddressHierarchyEntry> childAddressHierarchyEntries, AddressHierarchyService addressHierarchyService, AddressHierarchyEntry addressHierarchyEntry) {+ List<String> wardIDs = new ArrayList();+ if (catchmentFilters != null) {+ String wardsName = trim(catchmentFilters.getValue().toString());+ Set<String> wardsNameList = StringUtils.commaDelimitedListToSet(wardsName);+ for (String wardName : wardsNameList) {+ AddressHierarchyEntry childAddressHierarchyEntry = addressHierarchyService.getChildAddressHierarchyEntryByName(addressHierarchyEntry, wardName);+ if (childAddressHierarchyEntry == null) {+ throw new RuntimeException("Please check your catchmentFilters configuration in openmrs!!");+ } else {+ getAllWardIds(childAddressHierarchyEntry, addressHierarchyService, wardIDs);+ }+ }+ } else {+ updateWardIds(addressHierarchyService, wardIDs, childAddressHierarchyEntries);+ }+ return wardIDs;+ }++ private void getAllWardIds(AddressHierarchyEntry addressHierarchyEntry, AddressHierarchyService addressHierarchyService, List<String> wardIDs) {+ if (addressHierarchyEntry == null) {+ return;+ }+ wardIDs.add(addressHierarchyEntry.getUserGeneratedId());+ List<AddressHierarchyEntry> childAddressHierarchyEntries = addressHierarchyService.getChildAddressHierarchyEntries(addressHierarchyEntry);+ updateWardIds(addressHierarchyService, wardIDs, childAddressHierarchyEntries);+ }++ private void updateWardIds(AddressHierarchyService addressHierarchyService, List<String> wardIDs, List<AddressHierarchyEntry> childAddressHierarchyEntries) {+ for (AddressHierarchyEntry childAddressHierarchyEntry : childAddressHierarchyEntries) {+ getAllWardIds(childAddressHierarchyEntry, addressHierarchyService, wardIDs);+ }+ }++ private String trim(String content) {+ content = content.trim();+ return content.replaceAll("(\\s*,\\s*)", ",");+ }++ @Override+ public List<String> getEventCategoriesList() {+ List<String> eventCategoryList = new ArrayList();++ eventCategoryList.add("patient");+ eventCategoryList.add("encounter");+ eventCategoryList.add("addressHierarchy");+ eventCategoryList.add("parentAddressHierarchy");+ eventCategoryList.add("offline-concepts");+ eventCategoryList.add("forms");++ return eventCategoryList;+ }++++ private List<String> getFiltersForAddressHierarchy(AddressHierarchyEntry addressHierarchyEntry) {+ List addressHierarchyFilters = new ArrayList();+ while (addressHierarchyEntry.getParent() != null) {+ if (addressHierarchyEntry.getUserGeneratedId().length() == 6) {+ addressHierarchyFilters.add(addressHierarchyEntry.getUserGeneratedId());+ break;+ }+ addressHierarchyEntry = addressHierarchyEntry.getParent();+ }+ return addressHierarchyFilters;+ }++ @Override+ public List<EventLog> getEventLogsFromEventRecords(List<EventRecord> eventRecords) {+ List<EventLog> eventLogs = new ArrayList<EventLog>();++ for (EventRecord er : eventRecords) {+ EventLog eventLog = new EventLog(er.getUuid(),er.getCategory(),er.getTimeStamp(),er.getContents(), null, er.getUuid());+ String category = er.getCategory();+ String uuid = getUuidFromURL(er.getContents());+ String filter = null;++ if (!uuid.isEmpty()) {+ if (category.equalsIgnoreCase("all-concepts")) {+ if (isOfflineConceptEvent(uuid)) {+ eventLog.setCategory("offline-concepts");+ } else {+ eventLog.setCategory("concepts");+ }+ }++ if (category.equalsIgnoreCase("Patient")|| category.equalsIgnoreCase("LabOrderResults")) {+ // filter = evaluateFilterForPatient(uuid);
@gopikrishna-yaramothu not realised before.. i see comments here too. are these required here ?
comment created time in 3 days
PR opened Bahmni/form-controls
-
Tarun,Supriya | MOBN-1188 | Fix issues with complex concepts when addMore is enabled
-
Supriya, Tarun | MOBN-1188 | Fix unit tests
-
Supriya, Tarun | MOBN-1188 | Fix issues for complex concepts with addMore enabled
-
Supriya, Tarun | MOBN-1188 | Fix issues for complex concepts with addMore enabled
-
Supriya, Tarun | MOBN-1188 | Add unit tests for canAddNextFormFieldPath Co-authored-by: Supriya Muppiri supriya.muppiri@thoughtworks.com
https://bahmni.atlassian.net/browse/BAH-1132
pr created time in 7 days
PR opened Bahmni/form-controls
-
Supriya, Vinisha | MOBN-1559 | Add step attribute to numeric input field
-
Supriya, Vinisha | MOBN-1559 | Bump up version to 0.93.1
https://bahmni.atlassian.net/browse/BAH-1131
pr created time in 7 days
PR opened Bahmni/form-controls
-
Bindu, Tarun | MOBN-1551 | added callback method to get the container data object
-
Bindu, Tarun | MOBN-1551 | Refactor code and fix unit tests
-
Bindu, Tarun | MOBN-1551 | Bump up form-controls version to 0.93.3
Co-authored-by: tarunkumar-tw tarunkumar.s@thoughtworks.com
pr created time in 7 days
PR opened Bahmni/openmrs-module-bahmniapps
https://bahmni.atlassian.net/browse/BAH-1130
pr created time in 7 days
Pull request review commentBahmni/default-config
BAH-1125 - Swati/Praveena - Hide 'Join teleconsultation' button on non-teleconsultation Appointments
<h2 class="section-title" ng-click="goToListView()"><span style="border-bottom: {{detail}} </td> <td>- <button style="background: #669998; color: white;" ng-if="appointment.DASHBOARD_APPOINTMENTS_STATUS_KEY == 'Scheduled'" ng-click="openJitsiMeet($index)">+ <button style="background: #669998; color: white;" ng-if="appointment.DASHBOARD_APPOINTMENTS_STATUS_KEY == 'Scheduled' && appointment.DASHBOARD_APPOINTMENTS_TELECONSULTATION == true" ng-click="openJitsiMeet($index)">
instead of clubbing, the checks/conditions, can you pull these inside a method and then use the same here?
comment created time in 8 days
pull request commentBahmni/openerp-atomfeed-service
Bump jackson-databind from 2.8.1 to 2.9.10.7
<br/>Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.<br/><sub>You have signed the CLA already but the status is still pending? Let us recheck it.</sub>
comment created time in 7 days
delete branch Bahmni/openerp-atomfeed-service
delete branch : dependabot/maven/com.fasterxml.jackson.core-jackson-databind-2.9.10.5
delete time in 7 days
PR closed Bahmni/openerp-atomfeed-service
Bumps jackson-databind from 2.8.1 to 2.9.10.5. <details> <summary>Commits</summary> <ul> <li>See full diff in <a href="https://github.com/FasterXML/jackson/commits">compare view</a></li> </ul> </details> <br />
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
<details> <summary>Dependabot commands and options</summary> <br />
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot ignore this major version
will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor version
will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependency
will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)@dependabot use these labels
will set the current labels as the default for future PRs for this repo and language@dependabot use these reviewers
will set the current reviewers as the default for future PRs for this repo and language@dependabot use these assignees
will set the current assignees as the default for future PRs for this repo and language@dependabot use this milestone
will set the current milestone as the default for future PRs for this repo and language
You can disable automated security fix PRs for this repo from the Security Alerts page.
</details>
pr closed time in 7 days
pull request commentBahmni/openerp-atomfeed-service
Bump jackson-databind from 2.8.1 to 2.9.10.5
Superseded by #25.
comment created time in 7 days
create barnchBahmni/openerp-atomfeed-service
branch : dependabot/maven/com.fasterxml.jackson.core-jackson-databind-2.9.10.7
created branch time in 7 days
PR opened Bahmni/openerp-atomfeed-service
Bumps jackson-databind from 2.8.1 to 2.9.10.7. <details> <summary>Commits</summary> <ul> <li>See full diff in <a href="https://github.com/FasterXML/jackson/commits">compare view</a></li> </ul> </details> <br />
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
<details> <summary>Dependabot commands and options</summary> <br />
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot ignore this major version
will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor version
will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependency
will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)@dependabot use these labels
will set the current labels as the default for future PRs for this repo and language@dependabot use these reviewers
will set the current reviewers as the default for future PRs for this repo and language@dependabot use these assignees
will set the current assignees as the default for future PRs for this repo and language@dependabot use this milestone
will set the current milestone as the default for future PRs for this repo and language
You can disable automated security fix PRs for this repo from the Security Alerts page.
</details>
pr created time in 7 days
pull request commentBahmni/bahmni-java-utils
Bump jackson-databind from 2.9.10.4 to 2.9.10.7 in /web-clients
<br/>Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.<br/><sub>You have signed the CLA already but the status is still pending? Let us recheck it.</sub>
comment created time in 7 days
delete branch Bahmni/bahmni-java-utils
delete branch : dependabot/maven/web-clients/com.fasterxml.jackson.core-jackson-databind-2.9.10.5
delete time in 7 days
PR closed Bahmni/bahmni-java-utils
Bumps jackson-databind from 2.9.10.4 to 2.9.10.5. <details> <summary>Commits</summary> <ul> <li>See full diff in <a href="https://github.com/FasterXML/jackson/commits">compare view</a></li> </ul> </details> <br />
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
<details> <summary>Dependabot commands and options</summary> <br />
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot ignore this major version
will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor version
will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependency
will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)@dependabot use these labels
will set the current labels as the default for future PRs for this repo and language@dependabot use these reviewers
will set the current reviewers as the default for future PRs for this repo and language@dependabot use these assignees
will set the current assignees as the default for future PRs for this repo and language@dependabot use this milestone
will set the current milestone as the default for future PRs for this repo and language
You can disable automated security fix PRs for this repo from the Security Alerts page.
</details>
pr closed time in 7 days
pull request commentBahmni/bahmni-java-utils
Bump jackson-databind from 2.9.10.4 to 2.9.10.5 in /web-clients
Superseded by #17.
comment created time in 7 days
PR opened Bahmni/bahmni-java-utils
Bumps jackson-databind from 2.9.10.4 to 2.9.10.7. <details> <summary>Commits</summary> <ul> <li>See full diff in <a href="https://github.com/FasterXML/jackson/commits">compare view</a></li> </ul> </details> <br />
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
<details> <summary>Dependabot commands and options</summary> <br />
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot ignore this major version
will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor version
will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependency
will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)@dependabot use these labels
will set the current labels as the default for future PRs for this repo and language@dependabot use these reviewers
will set the current reviewers as the default for future PRs for this repo and language@dependabot use these assignees
will set the current assignees as the default for future PRs for this repo and language@dependabot use this milestone
will set the current milestone as the default for future PRs for this repo and language
You can disable automated security fix PRs for this repo from the Security Alerts page.
</details>
pr created time in 7 days