summaryrefslogtreecommitdiff
path: root/src/main/kotlin
diff options
context:
space:
mode:
authorPaul-Christian Volkmer2025-09-04 12:47:56 +0200
committerGitHub2025-09-04 12:47:56 +0200
commit3d9d84438d2c17f09c3ccf02c8a6337320367659 (patch)
tree98fb20030159095e887f0dbd6db3161fedf481a1 /src/main/kotlin
parent10b5bedac33b3d0f8b970e818c444e86e132da21 (diff)
refactor: several changes related to code style and readability (#152)
* refactor: extract provision code extraction * refactor: catch exceptions by type without later type check * refactor: further code cleanup * chore: log error with error level, not debug level
Diffstat (limited to 'src/main/kotlin')
-rw-r--r--src/main/kotlin/dev/dnpm/etl/processor/services/ConsentProcessor.kt29
1 files changed, 16 insertions, 13 deletions
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 2ed21eb..381f38a 100644
--- a/src/main/kotlin/dev/dnpm/etl/processor/services/ConsentProcessor.kt
+++ b/src/main/kotlin/dev/dnpm/etl/processor/services/ConsentProcessor.kt
@@ -137,15 +137,7 @@ class ConsentProcessor(
}
val provisionComponent: ProvisionComponent = provisions.first()
-
- var provisionCode: String? = null
- if (provisionComponent.code != null && provisionComponent.code.isNotEmpty()) {
- val codableConcept: CodeableConcept = provisionComponent.code.first()
- if (codableConcept.coding != null && codableConcept.coding.isNotEmpty()) {
- provisionCode = codableConcept.coding.first().code
- }
- }
-
+ val provisionCode = getProvisionCode(provisionComponent)
if (provisionCode != null) {
try {
val modelProjectConsentPurpose =
@@ -177,6 +169,17 @@ class ConsentProcessor(
}
}
+ private fun getProvisionCode(provisionComponent: ProvisionComponent): String? {
+ var provisionCode: String? = null
+ if (provisionComponent.code != null && provisionComponent.code.isNotEmpty()) {
+ val codableConcept: CodeableConcept = provisionComponent.code.first()
+ if (codableConcept.coding != null && codableConcept.coding.isNotEmpty()) {
+ provisionCode = codableConcept.coding.first().code
+ }
+ }
+ return provisionCode
+ }
+
private fun setGenomDeSubmissionType(mtbFile: Mtb) {
if (appConfigProperties.genomDeTestSubmission) {
mtbFile.metadata.type = MvhSubmissionType.TEST
@@ -238,9 +241,9 @@ class ConsentProcessor(
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().firstOrNull { code ->
+ subProvision.code.map { c -> c.coding }.flatten().any { code ->
targetCode.equals(code.code) && targetSystem.equals(code.system)
- } != null
+ }
}.map { subProvision ->
subProvision
}
@@ -257,11 +260,11 @@ class ConsentProcessor(
researchAllowedPolicySystem: String?,
policyRules: Collection<Coding>
): Boolean {
- return policyRules.find { code ->
+ return policyRules.any { code ->
researchAllowedPolicySystem.equals(code.getSystem()) && (researchAllowedPolicyOid.equals(
code.getCode()
))
- } != null
+ }
}
fun isRequestDateInRange(requestDate: Date?, provPeriod: Period): Boolean {