diff options
Diffstat (limited to 'src/main/kotlin')
| -rw-r--r-- | src/main/kotlin/dev/dnpm/etl/processor/config/JacksonConfig.kt | 2 | ||||
| -rw-r--r-- | src/main/kotlin/dev/dnpm/etl/processor/pseudonym/extensions.kt | 68 |
2 files changed, 36 insertions, 34 deletions
diff --git a/src/main/kotlin/dev/dnpm/etl/processor/config/JacksonConfig.kt b/src/main/kotlin/dev/dnpm/etl/processor/config/JacksonConfig.kt index fb03d66..2ba81b5 100644 --- a/src/main/kotlin/dev/dnpm/etl/processor/config/JacksonConfig.kt +++ b/src/main/kotlin/dev/dnpm/etl/processor/config/JacksonConfig.kt @@ -1,6 +1,7 @@ package dev.dnpm.etl.processor.config import ca.uhn.fhir.context.FhirContext +import com.fasterxml.jackson.annotation.JsonInclude import org.springframework.context.annotation.Bean import org.springframework.context.annotation.Configuration import com.fasterxml.jackson.databind.ObjectMapper @@ -24,4 +25,5 @@ class JacksonConfig { .disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS).registerModule( JavaTimeModule() ) + .setSerializationInclusion(JsonInclude.Include.NON_NULL) } 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 01c781b..21d49c2 100644 --- a/src/main/kotlin/dev/dnpm/etl/processor/pseudonym/extensions.kt +++ b/src/main/kotlin/dev/dnpm/etl/processor/pseudonym/extensions.kt @@ -35,56 +35,56 @@ import org.apache.commons.codec.digest.DigestUtils infix fun Mtb.pseudonymizeWith(pseudonymizeService: PseudonymizeService) { val patientPseudonym = pseudonymizeService.patientPseudonym(PatientId(this.patient.id)).value - this.episodesOfCare?.forEach { it.patient.id = patientPseudonym } + this.episodesOfCare?.forEach { it.patient?.id = patientPseudonym } this.carePlans?.forEach { it.patient.id = patientPseudonym - it.rebiopsyRequests?.forEach { it.patient.id = patientPseudonym } - it.histologyReevaluationRequests?.forEach { it.patient.id = patientPseudonym } - it.medicationRecommendations.forEach { it.patient.id = patientPseudonym } - it.studyEnrollmentRecommendations?.forEach { it.patient.id = patientPseudonym } - it.procedureRecommendations?.forEach { it.patient.id = patientPseudonym } - it.geneticCounselingRecommendation.patient.id = patientPseudonym + it.rebiopsyRequests?.forEach { it.patient?.id = patientPseudonym } + it.histologyReevaluationRequests?.forEach { it.patient?.id = patientPseudonym } + it.medicationRecommendations?.forEach { it.patient?.id = patientPseudonym } + it.studyEnrollmentRecommendations?.forEach { it.patient?.id = patientPseudonym } + it.procedureRecommendations?.forEach { it.patient?.id = patientPseudonym } + it.geneticCounselingRecommendation?.patient?.id = patientPseudonym } - this.diagnoses?.forEach { it.patient.id = patientPseudonym } - this.guidelineTherapies?.forEach { it.patient.id = patientPseudonym } - this.guidelineProcedures?.forEach { it.patient.id = patientPseudonym } + this.diagnoses?.forEach { it.patient?.id = patientPseudonym } + this.guidelineTherapies?.forEach { it.patient?.id = patientPseudonym } + this.guidelineProcedures?.forEach { it.patient?.id = patientPseudonym } this.patient.id = patientPseudonym - this.claims?.forEach { it.patient.id = patientPseudonym } - this.claimResponses?.forEach { it.patient.id = patientPseudonym } - this.diagnoses?.forEach { it.patient.id = patientPseudonym } - this.familyMemberHistories?.forEach { it.patient.id = patientPseudonym } + this.claims?.forEach { it.patient?.id = patientPseudonym } + this.claimResponses?.forEach { it.patient?.id = patientPseudonym } + this.diagnoses?.forEach { it.patient?.id = patientPseudonym } + this.familyMemberHistories?.forEach { it.patient?.id = patientPseudonym } this.histologyReports?.forEach { it.patient.id = patientPseudonym it.results.tumorMorphology?.patient?.id = patientPseudonym it.results.tumorCellContent?.patient?.id = patientPseudonym } this.ngsReports?.forEach { - it.patient.id = patientPseudonym - it.results.simpleVariants?.forEach { it.patient.id = patientPseudonym } - it.results.copyNumberVariants?.forEach { it.patient.id = patientPseudonym } - it.results.dnaFusions?.forEach { it.patient.id = patientPseudonym } - it.results.rnaFusions?.forEach { it.patient.id = patientPseudonym } - it.results.tumorCellContent?.patient?.id = patientPseudonym - it.results.brcaness?.patient?.id = patientPseudonym - it.results.tmb?.patient?.id = patientPseudonym - it.results.hrdScore?.patient?.id = patientPseudonym + it.patient?.id = patientPseudonym + it.results?.simpleVariants?.forEach { it.patient?.id = patientPseudonym } + it.results?.copyNumberVariants?.forEach { it.patient?.id = patientPseudonym } + it.results?.dnaFusions?.forEach { it.patient?.id = patientPseudonym } + it.results?.rnaFusions?.forEach { it.patient?.id = patientPseudonym } + it.results?.tumorCellContent?.patient?.id = patientPseudonym + it.results?.brcaness?.patient?.id = patientPseudonym + it.results?.tmb?.patient?.id = patientPseudonym + it.results?.hrdScore?.patient?.id = patientPseudonym } this.ihcReports?.forEach { - it.patient.id = patientPseudonym - it.results.msiMmr?.forEach { it.patient.id = patientPseudonym } - it.results.proteinExpression?.forEach { it.patient.id = patientPseudonym } + it.patient?.id = patientPseudonym + it.results?.msiMmr?.forEach { it.patient?.id = patientPseudonym } + it.results?.proteinExpression?.forEach { it.patient?.id = patientPseudonym } } - this.responses?.forEach { it.patient.id = patientPseudonym } - this.specimens?.forEach { it.patient.id = patientPseudonym } - this.priorDiagnosticReports?.forEach { it.patient.id = patientPseudonym } - this.performanceStatus?.forEach { it.patient.id = patientPseudonym } + this.responses?.forEach { it.patient?.id = patientPseudonym } + this.specimens?.forEach { it.patient?.id = patientPseudonym } + this.priorDiagnosticReports?.forEach { it.patient?.id = patientPseudonym } + this.performanceStatus?.forEach { it.patient?.id = patientPseudonym } this.systemicTherapies?.forEach { it.history?.forEach { - it.patient.id = patientPseudonym + it.patient?.id = patientPseudonym } } this.followUps?.forEach { - it.patient.id = patientPseudonym + it.patient?.id = patientPseudonym } this.msiFindings?.forEach { it -> it.patient.id = patientPseudonym } @@ -254,7 +254,7 @@ infix fun Mtb.anonymizeContentWith(pseudonymizeService: PseudonymizeService) { this.ihcReports?.forEach { it -> it.id = it?.id?.let(::anonymize) it.specimen?.id = it.specimen?.id?.let(::anonymize) - it.results.proteinExpression.forEach { it -> it?.id = it.id.let(::anonymize) } + it.results?.proteinExpression?.forEach { it -> it?.id = it.id.let(::anonymize) } } this.msiFindings?.forEach { it -> @@ -310,5 +310,5 @@ fun Mtb.ensureMetaDataIsInitialized() { } infix fun Mtb.addGenomDeTan(pseudonymizeService: PseudonymizeService) { - this.metadata.transferTan = pseudonymizeService.genomDeTan(PatientId(this.patient.id)) + this.metadata?.transferTan = pseudonymizeService.genomDeTan(PatientId(this.patient.id)) } |
