diff options
Diffstat (limited to 'src/main')
10 files changed, 24 insertions, 30 deletions
diff --git a/src/main/kotlin/dev/dnpm/etl/processor/config/AppConfiguration.kt b/src/main/kotlin/dev/dnpm/etl/processor/config/AppConfiguration.kt index c15445c..5912085 100644 --- a/src/main/kotlin/dev/dnpm/etl/processor/config/AppConfiguration.kt +++ b/src/main/kotlin/dev/dnpm/etl/processor/config/AppConfiguration.kt @@ -145,6 +145,17 @@ class AppConfiguration { return GpasPseudonymGenerator(configProperties, retryTemplate, restTemplate, appFhirConfig) } + @ConditionalOnProperty(value = ["app.pseudonymize.generator"], havingValue = "VFPS") + @Bean + fun vfpsPseudonymGenerator( + configProperties: VfpsConfigProperties, + retryTemplate: RetryTemplate, + restTemplate: RestTemplate, + ): Generator { + logger.info("Selected 'VfpsPseudonym Generator'") + return VfpsPseudonymGenerator(configProperties, retryTemplate, restTemplate) + } + @ConditionalOnProperty( value = ["app.pseudonymize.generator"], havingValue = "BUILDIN", @@ -264,17 +275,6 @@ class AppConfiguration { ) } - @ConditionalOnProperty(value = ["app.pseudonymize.generator"], havingValue = "VFPS") - @Bean - fun vfpsPseudonymGenerator( - configProperties: VfpsConfigProperties, - retryTemplate: RetryTemplate, - restTemplate: RestTemplate, - ): Generator { - logger.info("Selected 'VfpsPseudonym Generator'") - return VfpsPseudonymGenerator(configProperties, retryTemplate, restTemplate) - } - @Bean fun jdbcConfiguration(): AbstractJdbcConfiguration { return AppJdbcConfiguration() diff --git a/src/main/kotlin/dev/dnpm/etl/processor/monitoring/ReportService.kt b/src/main/kotlin/dev/dnpm/etl/processor/monitoring/ReportService.kt index 96cdb5c..7173fb6 100644 --- a/src/main/kotlin/dev/dnpm/etl/processor/monitoring/ReportService.kt +++ b/src/main/kotlin/dev/dnpm/etl/processor/monitoring/ReportService.kt @@ -61,7 +61,7 @@ class ReportService(private val jsonMapper: JsonMapper) { val details: Optional<String> = Optional.empty(), val path: Optional<String> = Optional.empty(), ) { - fun getMessageText() = message.orElse(details.orElse("No details available")) + fun getMessageText() = message.orElse(details.orElse("No details available")) ?: "No information" } @EnumNaming(EnumNamingStrategies.LowerCaseStrategy::class) diff --git a/src/main/kotlin/dev/dnpm/etl/processor/output/RestMtbFileSender.kt b/src/main/kotlin/dev/dnpm/etl/processor/output/RestMtbFileSender.kt index c222c6d..07d632d 100644 --- a/src/main/kotlin/dev/dnpm/etl/processor/output/RestMtbFileSender.kt +++ b/src/main/kotlin/dev/dnpm/etl/processor/output/RestMtbFileSender.kt @@ -71,7 +71,7 @@ abstract class RestMtbFileSender( } catch (_: IllegalArgumentException) { logger.error("Not a valid URI to export to: '{}'", restTargetProperties.uri!!) } catch (e: RestClientResponseException) { - logger.info(restTargetProperties.uri!!.toString()) + logger.info(restTargetProperties.uri!!) logger.error("Request data not accepted by remote system", e) return MtbFileSender.Response( RequestStatus.ERROR, @@ -91,14 +91,14 @@ abstract class RestMtbFileSender( return@execute MtbFileSender.Response(RequestStatus.SUCCESS) } } catch (_: IllegalArgumentException) { - logger.error("Not a valid URI to export to: '{}'", restTargetProperties.uri!!) + logger.error("Not a valid URI for delete: '{}'", restTargetProperties.uri!!) } catch (e: RestClientException) { - logger.info(restTargetProperties.uri!!.toString()) + logger.info(restTargetProperties.uri!!) logger.error("Cannot send data to remote system", e) } catch (e: RetryException) { val cause = e.cause if (cause is RestClientException) { - logger.info(restTargetProperties.uri!!.toString()) + logger.info(restTargetProperties.uri!!) logger.error("Cannot send data to remote system", e) } } diff --git a/src/main/kotlin/dev/dnpm/etl/processor/pseudonym/AnonymizingHmacGenerator.kt b/src/main/kotlin/dev/dnpm/etl/processor/pseudonym/AnonymizingHmacGenerator.kt index 646f6d3..f0fd54d 100644 --- a/src/main/kotlin/dev/dnpm/etl/processor/pseudonym/AnonymizingHmacGenerator.kt +++ b/src/main/kotlin/dev/dnpm/etl/processor/pseudonym/AnonymizingHmacGenerator.kt @@ -20,10 +20,8 @@ package dev.dnpm.etl.processor.pseudonym -import dev.dnpm.etl.processor.config.AppConfigProperties import dev.dnpm.etl.processor.config.PseudonymizeConfigProperties import org.apache.commons.codec.binary.Base32 -import org.apache.commons.codec.digest.DigestUtils import org.apache.commons.codec.digest.HmacAlgorithms import org.apache.commons.codec.digest.HmacUtils import java.security.SecureRandom diff --git a/src/main/kotlin/dev/dnpm/etl/processor/pseudonym/extensions.kt b/src/main/kotlin/dev/dnpm/etl/processor/pseudonym/extensions.kt index cc13a04..acbe51b 100644 --- a/src/main/kotlin/dev/dnpm/etl/processor/pseudonym/extensions.kt +++ b/src/main/kotlin/dev/dnpm/etl/processor/pseudonym/extensions.kt @@ -132,7 +132,7 @@ infix fun PatientRecord.anonymizeContentWith(pseudonymizeService: PseudonymizeSe episodeOfCare.diagnoses?.filterNotNull()?.forEach { it.id = it.id?.let(::anonymize) } } - this.carePlans?.onEach { carePlan -> + this.carePlans?.forEach { carePlan -> carePlan?.apply { this.id = id?.let { anonymize(it) } diff --git a/src/main/kotlin/dev/dnpm/etl/processor/security/UserRoleService.kt b/src/main/kotlin/dev/dnpm/etl/processor/security/UserRoleService.kt index 0c1fe11..a115cff 100644 --- a/src/main/kotlin/dev/dnpm/etl/processor/security/UserRoleService.kt +++ b/src/main/kotlin/dev/dnpm/etl/processor/security/UserRoleService.kt @@ -51,6 +51,6 @@ class UserRoleService( .filterIsInstance<OidcUser>() .filter { it.preferredUsername == username } .flatMap { sessionRegistry.getAllSessions(it, true) } - .onEach { it.expireNow() } + .forEach { it.expireNow() } } } diff --git a/src/main/kotlin/dev/dnpm/etl/processor/services/ConsentProcessor.kt b/src/main/kotlin/dev/dnpm/etl/processor/services/ConsentProcessor.kt index f7df389..d4b83ef 100644 --- a/src/main/kotlin/dev/dnpm/etl/processor/services/ConsentProcessor.kt +++ b/src/main/kotlin/dev/dnpm/etl/processor/services/ConsentProcessor.kt @@ -288,22 +288,19 @@ class ConsentProcessor( isValidCoding && isRequestDateInRange(requestDate, (entry.resource as Consent).provision.period) } - .map { entry: BundleEntryComponent -> + .flatMap { entry: BundleEntryComponent -> val consent = (entry.getResource() as Consent) consent.provision.provision .filter { subProvision -> isRequestDateInRange(requestDate, subProvision.period) // search coding entries of current provision for code and system - subProvision.code - .map { c -> c.coding } - .flatten() - .any { code -> + subProvision.code.flatMap { c -> c.coding } + .any { code -> targetCode.equals(code.code) && targetSystem.equals(code.system) } } .map { subProvision -> subProvision } } - .flatten() if (entriesOfInterest.isNotEmpty()) { return entriesOfInterest.first().type diff --git a/src/main/kotlin/dev/dnpm/etl/processor/services/RequestService.kt b/src/main/kotlin/dev/dnpm/etl/processor/services/RequestService.kt index b967f2d..219fef0 100644 --- a/src/main/kotlin/dev/dnpm/etl/processor/services/RequestService.kt +++ b/src/main/kotlin/dev/dnpm/etl/processor/services/RequestService.kt @@ -56,12 +56,12 @@ class RequestService(private val requestRepository: RequestRepository) { requestRepository.findAllByPatientPseudonymOrderByProcessedAtDesc(patientPseudonym) fun lastMtbFileRequestForPatientPseudonym(patientPseudonym: PatientPseudonym) = - Companion.lastMtbFileRequestForPatientPseudonym( + lastMtbFileRequestForPatientPseudonym( allRequestsByPatientPseudonym(patientPseudonym) ) fun isLastRequestWithKnownStatusDeletion(patientPseudonym: PatientPseudonym) = - Companion.isLastRequestWithKnownStatusDeletion( + isLastRequestWithKnownStatusDeletion( allRequestsByPatientPseudonym(patientPseudonym) ) diff --git a/src/main/kotlin/dev/dnpm/etl/processor/web/StatisticsController.kt b/src/main/kotlin/dev/dnpm/etl/processor/web/StatisticsController.kt index 4cb99f1..e2cde09 100644 --- a/src/main/kotlin/dev/dnpm/etl/processor/web/StatisticsController.kt +++ b/src/main/kotlin/dev/dnpm/etl/processor/web/StatisticsController.kt @@ -24,7 +24,6 @@ import dev.dnpm.etl.processor.monitoring.RequestStatus import dev.dnpm.etl.processor.monitoring.RequestType import dev.dnpm.etl.processor.monitoring.SubmissionType import dev.dnpm.etl.processor.services.RequestService -import net.sf.saxon.tree.tiny.Statistics import org.springframework.stereotype.Controller import org.springframework.ui.Model import org.springframework.web.bind.annotation.GetMapping diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index 77bf157..df9f546 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -119,7 +119,7 @@ app: # input-topic: test_input # output-topic: test_output # output-response-topic: test_response - switch: + routing: nngm: uri: https://mvh-test.medicalsyn.com/api/v1.0/mvh-import/import-dnpm api-key: a12b34decacdefg1213 |
