1
0
mirror of https://github.com/pcvolkmer/mv64e-onkostar-data.git synced 2025-07-02 02:22:54 +00:00

feat: add family member histories

This commit is contained in:
2025-06-24 20:48:03 +02:00
parent 1ab33de3f8
commit be1bbec44b

View File

@ -1,5 +1,8 @@
package dev.pcvolkmer.onco.datamapper.mapper;
import dev.pcvolkmer.mv64e.mtb.FamilyMemberHistory;
import dev.pcvolkmer.mv64e.mtb.FamilyMemberHistoryRelationshipTypeCoding;
import dev.pcvolkmer.mv64e.mtb.FamilyMemberHistoryRelationshipTypeCodingCode;
import dev.pcvolkmer.mv64e.mtb.Mtb;
import dev.pcvolkmer.onco.datamapper.PropertyCatalogue;
import dev.pcvolkmer.onco.datamapper.datacatalogues.*;
@ -12,6 +15,8 @@ import javax.sql.DataSource;
import java.util.List;
import java.util.stream.Collectors;
import static dev.pcvolkmer.onco.datamapper.mapper.MapperUtils.getPatientReference;
/**
* Mapper class to load and map Mtb files from database
*
@ -100,6 +105,20 @@ public class MtbDataMapper implements DataMapper<Mtb> {
.guidelineProcedures(prozedurMapper.getByParentId(kpaId))
.guidelineTherapies(therapielinieMapper.getByParentId(kpaId))
.performanceStatus(ecogMapper.getByParentId(kpaId))
// TODO Refactoring of inlined mapping
.familyMemberHistories(
catalogueFactory.catalogue(VerwandteCatalogue.class).getAllByParentId(kpaId).stream()
.map(it -> FamilyMemberHistory.builder()
.id(it.getId().toString())
.patient(getPatientReference(patient.getId()))
.relationship(FamilyMemberHistoryRelationshipTypeCoding.builder().code(
it.getString("verwandschaftsgrad").equals("FAMMEMB")
? FamilyMemberHistoryRelationshipTypeCodingCode.FAMMEMB
: FamilyMemberHistoryRelationshipTypeCodingCode.EXT
).build())
.build()
).collect(Collectors.toList())
)
// DNPM Therapieplan
.carePlans(
therapieplanCatalogue