From e848752e45ebba80290104968f8af9720e9fdba9 Mon Sep 17 00:00:00 2001 From: Paul-Christian Volkmer Date: Sun, 22 Jun 2025 15:04:01 +0200 Subject: [PATCH] feat: add performance status to Mtb data --- .../datamapper/mapper/KpaEcogDataMapper.java | 13 +++++++++++-- .../onco/datamapper/mapper/MtbDataMapper.java | 4 ++++ .../datamapper/mapper/KpaEcogDataMapperTest.java | 16 ++++++++++++++-- 3 files changed, 29 insertions(+), 4 deletions(-) diff --git a/src/main/java/dev/pcvolkmer/onco/datamapper/mapper/KpaEcogDataMapper.java b/src/main/java/dev/pcvolkmer/onco/datamapper/mapper/KpaEcogDataMapper.java index 3ef2de4..f6dedbc 100644 --- a/src/main/java/dev/pcvolkmer/onco/datamapper/mapper/KpaEcogDataMapper.java +++ b/src/main/java/dev/pcvolkmer/onco/datamapper/mapper/KpaEcogDataMapper.java @@ -51,7 +51,13 @@ public class KpaEcogDataMapper extends AbstractSubformDataMapper { catalogueFactory.catalogue(TherapielinieCatalogue.class), propertyCatalogue ); + var ecogMapper = new KpaEcogDataMapper( + catalogueFactory.catalogue(EcogCatalogue.class) + ); var resultBuilder = Mtb.builder(); @@ -87,6 +90,7 @@ public class MtbDataMapper implements DataMapper { .diagnoses(List.of(diagnosisDataMapper.getById(kpaId))) .guidelineProcedures(prozedurMapper.getByParentId(kpaId)) .guidelineTherapies(therapielinieMapper.getByParentId(kpaId)) + .performanceStatus(ecogMapper.getByParentId(kpaId)) ; } catch (DataAccessException e) { logger.error("Error while getting Mtb.", e); diff --git a/src/test/java/dev/pcvolkmer/onco/datamapper/mapper/KpaEcogDataMapperTest.java b/src/test/java/dev/pcvolkmer/onco/datamapper/mapper/KpaEcogDataMapperTest.java index 9a34e10..d2869b9 100644 --- a/src/test/java/dev/pcvolkmer/onco/datamapper/mapper/KpaEcogDataMapperTest.java +++ b/src/test/java/dev/pcvolkmer/onco/datamapper/mapper/KpaEcogDataMapperTest.java @@ -67,9 +67,21 @@ class KpaEcogDataMapperTest { var actual = actualList.get(0); assertThat(actual).isInstanceOf(PerformanceStatus.class); assertThat(actual.getId()).isEqualTo("1"); - assertThat(actual.getPatient()).isEqualTo(Reference.builder().id("42").build()); + assertThat(actual.getPatient()) + .isEqualTo(Reference.builder() + .id("42") + .type("Patient") + .build() + ); assertThat(actual.getEffectiveDate()).isEqualTo(new java.sql.Date(Date.from(Instant.parse("2000-01-01T12:00:00Z")).getTime())); - assertThat(actual.getValue()).isEqualTo(EcogCoding.builder().code(EcogCodingCode.CODE_1).build()); + assertThat(actual.getValue()) + .isEqualTo( + EcogCoding.builder() + .code(EcogCodingCode.CODE_1) + .display("ECOG 1") + .system("ECOG-Performance-Status") + .build() + ); } }