diff --git a/src/main/java/org/openelisglobal/dataexchange/fhir/FhirConfig.java b/src/main/java/org/openelisglobal/dataexchange/fhir/FhirConfig.java index ab71aef34..bc97384b7 100644 --- a/src/main/java/org/openelisglobal/dataexchange/fhir/FhirConfig.java +++ b/src/main/java/org/openelisglobal/dataexchange/fhir/FhirConfig.java @@ -81,8 +81,9 @@ public String[] getRemoteStorePaths() { } public List getRemoteStoreIdentifier() { - if (remoteStoreIdentifier.get(0).equals(ResourceType.Practitioner + "/*")) { - remoteStoreIdentifier = new ArrayList<>(); + + if (remoteStoreIdentifier.contains(ResourceType.Practitioner + "/*")) { + List fetchedIdentifiers = new ArrayList<>(); for (String remoteStorePath : getRemoteStorePaths()) { IGenericClient fhirClient = fhirContext().newRestfulGenericClient(remoteStorePath); if (!GenericValidator.isBlankOrNull(getUsername()) @@ -105,14 +106,17 @@ public List getRemoteStoreIdentifier() { if (bundleComponent.hasResource() && ResourceType.Practitioner.equals(bundleComponent.getResource().getResourceType())) { - remoteStoreIdentifier.add(ResourceType.Practitioner + "/" + fetchedIdentifiers.add(ResourceType.Practitioner + "/" + bundleComponent.getResource().getIdElement().getIdPart()); } } } } + return fetchedIdentifiers; + } else { + return remoteStoreIdentifier; } - return remoteStoreIdentifier; + } } diff --git a/src/main/java/org/openelisglobal/provider/service/ProviderImportServiceImpl.java b/src/main/java/org/openelisglobal/provider/service/ProviderImportServiceImpl.java index 7ed247c9d..473a20b3f 100644 --- a/src/main/java/org/openelisglobal/provider/service/ProviderImportServiceImpl.java +++ b/src/main/java/org/openelisglobal/provider/service/ProviderImportServiceImpl.java @@ -51,7 +51,7 @@ public class ProviderImportServiceImpl implements ProviderImportService { @Override @Async - @Scheduled(initialDelay = 1000, fixedRate = 60 * 60 * 1000) + @Scheduled(initialDelay = 1000, fixedRateString = "${org.openelisglobal.providerlist.poll.frequency:3600000}") public void importPractitionerList() throws FhirLocalPersistingException, FhirGeneralException, IOException { if (!GenericValidator.isBlankOrNull(providerFhirStore)) { IGenericClient client = fhirUtil.getFhirClient(providerFhirStore); diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 02b7c19f2..0b2dd9b10 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -18,6 +18,7 @@ facilitylist.schedule.fixedRate=864000000 # Remote FHIR server/Consolidated Server #org.openelisglobal.remote.source.uri=http://185.218.126.190:5001/fhir/ #org.openelisglobal.remote.source.identifier=Practitioner/738185ba-eac9-11e5-8f4d-e06995eac916 +#org.openelisglobal.remote.poll.frequency=120000 #org.openelisglobal.remote.source.updateStatus=false #org.openelisglobal.task.useBasedOn=true #org.openelisglobal.fhirstore.username=openelis @@ -29,6 +30,7 @@ facilitylist.schedule.fixedRate=864000000 #provider FHIR server #org.openelisglobal.providerlist.fhirstore=http://localhost:8081/fhir/ +#org.openelisglobal.providerlist.poll.frequency=3600000 #org.openelisglobal.requester.identifier=Practitioner/f9badd80-ab76-11e2-9e96-0800200c9a66 #org.openelisglobal.requester.lastName=Dr. Mauritius #org.openelisglobal.requester.firstName=Felix diff --git a/volume/properties/common.properties b/volume/properties/common.properties index bff2b6ce8..4994c3c5c 100644 --- a/volume/properties/common.properties +++ b/volume/properties/common.properties @@ -40,6 +40,7 @@ facilitylist.schedule.fixedRate=864000000 #provider FHIR server org.openelisglobal.providerlist.fhirstore= org.openelisglobal.requester.identifier=Practitioner/f9badd80-ab76-11e2-9e96-0800200c9a66 +org.openelisglobal.providerlist.poll.frequency=3600000 org.openelisglobal.requester.lastName=Dr. Mauritius org.openelisglobal.requester.firstName=Felix org.openelisglobal.requester.phone=230 5123 1234