mirror of
https://github.com/pcvolkmer/mv64e-onkostar-data.git
synced 2025-09-13 16:02:52 +00:00
feat: use patient id, not patients database id
This commit is contained in:
@@ -23,7 +23,7 @@ var jsonResult = Converter.toJsonString(
|
|||||||
```
|
```
|
||||||
|
|
||||||
Es ist auch möglich, die Daten anhand der Patienten-ID und dem Tumoridentifikator zu ermitteln.
|
Es ist auch möglich, die Daten anhand der Patienten-ID und dem Tumoridentifikator zu ermitteln.
|
||||||
Hierbei wird das letzte Formular `DNPM Klinik/Anamnese` andhand des Anmeldedatums MTB
|
Hierbei wird das letzte Formular `DNPM Klinik/Anamnese` anhand des Anmeldedatums MTB
|
||||||
ausgewählt und verwendet.
|
ausgewählt und verwendet.
|
||||||
|
|
||||||
```
|
```
|
||||||
@@ -38,7 +38,7 @@ var jsonResult = Converter.toJsonString(
|
|||||||
|
|
||||||
| DNPM-Datenmodell 2.1 - Bereich | Status | Anmerkung |
|
| DNPM-Datenmodell 2.1 - Bereich | Status | Anmerkung |
|
||||||
|----------------------------------|--------|--------------------------------------------------------------------------------|
|
|----------------------------------|--------|--------------------------------------------------------------------------------|
|
||||||
| Patient | ✅ | Verwendet Datenbank-ID, keine managing Site |
|
| Patient | ✅ | Verwendet Patienten-ID, nicht Datenbank-ID. Keine Managing Site |
|
||||||
| Episoden | ✅ | |
|
| Episoden | ✅ | |
|
||||||
| Diagnosen | ✅ | Entsprechend Formularaufbau nur Diagnose der aktuellen Episode |
|
| Diagnosen | ✅ | Entsprechend Formularaufbau nur Diagnose der aktuellen Episode |
|
||||||
| Verwandten-Diagnosen | ✅ | |
|
| Verwandten-Diagnosen | ✅ | |
|
||||||
|
@@ -20,6 +20,7 @@
|
|||||||
|
|
||||||
package dev.pcvolkmer.onco.datamapper;
|
package dev.pcvolkmer.onco.datamapper;
|
||||||
|
|
||||||
|
import dev.pcvolkmer.mv64e.mtb.Reference;
|
||||||
import dev.pcvolkmer.onco.datamapper.exceptions.DataAccessException;
|
import dev.pcvolkmer.onco.datamapper.exceptions.DataAccessException;
|
||||||
|
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
@@ -62,6 +63,22 @@ public class ResultSet {
|
|||||||
return procedureId;
|
return procedureId;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the id
|
||||||
|
*
|
||||||
|
* @return The procedures id
|
||||||
|
*/
|
||||||
|
public Reference getPatientReference() {
|
||||||
|
if (this.getString("patienten_id") == null) {
|
||||||
|
throw new DataAccessException("No patient id found");
|
||||||
|
}
|
||||||
|
return Reference.builder()
|
||||||
|
.id(this.getString("patienten_id"))
|
||||||
|
// Use "Patient" since Onkostar only provides patient data
|
||||||
|
.type("Patient")
|
||||||
|
.build();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get column value as String and cast value if possible
|
* Get column value as String and cast value if possible
|
||||||
*
|
*
|
||||||
|
@@ -53,7 +53,8 @@ public abstract class AbstractDataCatalogue implements DataCatalogue {
|
|||||||
public ResultSet getById(int id) {
|
public ResultSet getById(int id) {
|
||||||
var result = this.jdbcTemplate.queryForList(
|
var result = this.jdbcTemplate.queryForList(
|
||||||
String.format(
|
String.format(
|
||||||
"SELECT * FROM %s JOIN prozedur ON (prozedur.id = %s.id) WHERE geloescht = 0 AND prozedur.id = ?",
|
"SELECT patient.patienten_id, %s.*, prozedur.* FROM %s JOIN prozedur ON (prozedur.id = %s.id) JOIN patient ON (patient.id = prozedur.patient_id) WHERE geloescht = 0 AND prozedur.id = ?",
|
||||||
|
getTableName(),
|
||||||
getTableName(),
|
getTableName(),
|
||||||
getTableName()
|
getTableName()
|
||||||
),
|
),
|
||||||
|
@@ -49,7 +49,8 @@ public abstract class AbstractSubformDataCatalogue extends AbstractDataCatalogue
|
|||||||
public List<ResultSet> getAllByParentId(int id) {
|
public List<ResultSet> getAllByParentId(int id) {
|
||||||
return this.jdbcTemplate.queryForList(
|
return this.jdbcTemplate.queryForList(
|
||||||
String.format(
|
String.format(
|
||||||
"SELECT * FROM %s JOIN prozedur ON (prozedur.id = %s.id) WHERE geloescht = 0 AND hauptprozedur_id = ?",
|
"SELECT patient.patienten_id, %s.*, prozedur.* FROM %s JOIN prozedur ON (prozedur.id = %s.id) JOIN patient ON (patient.id = prozedur.patient_id) WHERE geloescht = 0 AND hauptprozedur_id = ?",
|
||||||
|
getTableName(),
|
||||||
getTableName(),
|
getTableName(),
|
||||||
getTableName()
|
getTableName()
|
||||||
),
|
),
|
||||||
|
@@ -32,8 +32,6 @@ import java.util.Arrays;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import static dev.pcvolkmer.onco.datamapper.mapper.MapperUtils.getPatientReference;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Mapper class to load and map diagnosis data from database table 'dk_dnpm_einzelempfehlung'
|
* Mapper class to load and map diagnosis data from database table 'dk_dnpm_einzelempfehlung'
|
||||||
*
|
*
|
||||||
@@ -50,7 +48,7 @@ public class EinzelempfehlungProzedurDataMapper extends AbstractEinzelempfehlung
|
|||||||
protected ProcedureRecommendation map(ResultSet resultSet) {
|
protected ProcedureRecommendation map(ResultSet resultSet) {
|
||||||
var resultBuilder = ProcedureRecommendation.builder()
|
var resultBuilder = ProcedureRecommendation.builder()
|
||||||
.id(resultSet.getString("id"))
|
.id(resultSet.getString("id"))
|
||||||
.patient(getPatientReference(resultSet.getString("patient_id")))
|
.patient(resultSet.getPatientReference())
|
||||||
// TODO Fix id?
|
// TODO Fix id?
|
||||||
.reason(Reference.builder().id(resultSet.getString("id")).build())
|
.reason(Reference.builder().id(resultSet.getString("id")).build())
|
||||||
.issuedOn(resultSet.getDate("datum"))
|
.issuedOn(resultSet.getDate("datum"))
|
||||||
|
@@ -28,8 +28,6 @@ import dev.pcvolkmer.onco.datamapper.datacatalogues.EinzelempfehlungCatalogue;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import static dev.pcvolkmer.onco.datamapper.mapper.MapperUtils.getPatientReference;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Mapper class to load and map diagnosis data from database table 'dk_dnpm_einzelempfehlung'
|
* Mapper class to load and map diagnosis data from database table 'dk_dnpm_einzelempfehlung'
|
||||||
*
|
*
|
||||||
@@ -46,7 +44,7 @@ public class EinzelempfehlungStudieDataMapper extends AbstractEinzelempfehlungDa
|
|||||||
protected MtbStudyEnrollmentRecommendation map(ResultSet resultSet) {
|
protected MtbStudyEnrollmentRecommendation map(ResultSet resultSet) {
|
||||||
return MtbStudyEnrollmentRecommendation.builder()
|
return MtbStudyEnrollmentRecommendation.builder()
|
||||||
.id(resultSet.getString("id"))
|
.id(resultSet.getString("id"))
|
||||||
.patient(getPatientReference(resultSet.getString("patient_id")))
|
.patient(resultSet.getPatientReference())
|
||||||
// TODO Fix id?
|
// TODO Fix id?
|
||||||
.reason(Reference.builder().id(resultSet.getString("id")).build())
|
.reason(Reference.builder().id(resultSet.getString("id")).build())
|
||||||
.issuedOn(resultSet.getDate("datum"))
|
.issuedOn(resultSet.getDate("datum"))
|
||||||
|
@@ -30,8 +30,6 @@ import java.util.Arrays;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import static dev.pcvolkmer.onco.datamapper.mapper.MapperUtils.getPatientReference;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Mapper class to load and map diagnosis data from database table 'dk_dnpm_einzelempfehlung'
|
* Mapper class to load and map diagnosis data from database table 'dk_dnpm_einzelempfehlung'
|
||||||
*
|
*
|
||||||
@@ -54,7 +52,7 @@ public class EinzelempfehlungWirkstoffDataMapper extends AbstractEinzelempfehlun
|
|||||||
protected MtbMedicationRecommendation map(ResultSet resultSet) {
|
protected MtbMedicationRecommendation map(ResultSet resultSet) {
|
||||||
var resultBuilder = MtbMedicationRecommendation.builder()
|
var resultBuilder = MtbMedicationRecommendation.builder()
|
||||||
.id(resultSet.getString("id"))
|
.id(resultSet.getString("id"))
|
||||||
.patient(getPatientReference(resultSet.getString("patient_id")))
|
.patient(resultSet.getPatientReference())
|
||||||
// TODO Fix id?
|
// TODO Fix id?
|
||||||
.reason(Reference.builder().id(resultSet.getString("id")).build())
|
.reason(Reference.builder().id(resultSet.getString("id")).build())
|
||||||
.issuedOn(resultSet.getDate("datum"))
|
.issuedOn(resultSet.getDate("datum"))
|
||||||
|
@@ -32,8 +32,6 @@ import java.util.List;
|
|||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import static dev.pcvolkmer.onco.datamapper.mapper.MapperUtils.getPatientReference;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Mapper class to load and map diagnosis data from database table 'dk_dnpm_kpa'
|
* Mapper class to load and map diagnosis data from database table 'dk_dnpm_kpa'
|
||||||
*
|
*
|
||||||
@@ -72,7 +70,7 @@ public class KpaDiagnosisDataMapper implements DataMapper<MtbDiagnosis> {
|
|||||||
var builder = MtbDiagnosis.builder();
|
var builder = MtbDiagnosis.builder();
|
||||||
builder
|
builder
|
||||||
.id(data.getString("id"))
|
.id(data.getString("id"))
|
||||||
.patient(getPatientReference(data.getString("patient_id")))
|
.patient(data.getPatientReference())
|
||||||
.code(
|
.code(
|
||||||
Coding.builder()
|
Coding.builder()
|
||||||
.code(data.getString("icd10"))
|
.code(data.getString("icd10"))
|
||||||
|
@@ -32,8 +32,6 @@ import java.util.Comparator;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import static dev.pcvolkmer.onco.datamapper.mapper.MapperUtils.getPatientReference;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Mapper class to load and map prozedur data from database table 'dk_dnpm_uf_ecog'
|
* Mapper class to load and map prozedur data from database table 'dk_dnpm_uf_ecog'
|
||||||
*
|
*
|
||||||
@@ -49,7 +47,7 @@ public class KpaEcogDataMapper extends AbstractSubformDataMapper<PerformanceStat
|
|||||||
/**
|
/**
|
||||||
* Loads and maps Prozedur related by database id
|
* Loads and maps Prozedur related by database id
|
||||||
*
|
*
|
||||||
* @param id The database id of the procedure data set
|
* @param id The patient id of the procedure data set
|
||||||
* @return The loaded data set
|
* @return The loaded data set
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
@@ -72,7 +70,7 @@ public class KpaEcogDataMapper extends AbstractSubformDataMapper<PerformanceStat
|
|||||||
var builder = PerformanceStatus.builder();
|
var builder = PerformanceStatus.builder();
|
||||||
builder
|
builder
|
||||||
.id(resultSet.getId().toString())
|
.id(resultSet.getId().toString())
|
||||||
.patient(getPatientReference(resultSet.getString("patient_id")))
|
.patient(resultSet.getPatientReference())
|
||||||
.effectiveDate(resultSet.getDate("datum"))
|
.effectiveDate(resultSet.getDate("datum"))
|
||||||
.value(getEcogCoding(resultSet.getString("ecog")))
|
.value(getEcogCoding(resultSet.getString("ecog")))
|
||||||
;
|
;
|
||||||
|
@@ -29,8 +29,6 @@ import dev.pcvolkmer.onco.datamapper.datacatalogues.ProzedurCatalogue;
|
|||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import static dev.pcvolkmer.onco.datamapper.mapper.MapperUtils.getPatientReference;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Mapper class to load and map prozedur data from database table 'dk_dnpm_uf_prozedur'
|
* Mapper class to load and map prozedur data from database table 'dk_dnpm_uf_prozedur'
|
||||||
*
|
*
|
||||||
@@ -66,7 +64,7 @@ public class KpaProzedurDataMapper extends AbstractKpaTherapieverlaufDataMapper<
|
|||||||
var builder = OncoProcedure.builder();
|
var builder = OncoProcedure.builder();
|
||||||
builder
|
builder
|
||||||
.id(resultSet.getString("id"))
|
.id(resultSet.getString("id"))
|
||||||
.patient(getPatientReference(resultSet.getString("patient_id")))
|
.patient(resultSet.getPatientReference())
|
||||||
.basedOn(Reference.builder().id(diseases.get(0).getString("id")).build())
|
.basedOn(Reference.builder().id(diseases.get(0).getString("id")).build())
|
||||||
.recordedOn(resultSet.getDate("erfassungsdatum"))
|
.recordedOn(resultSet.getDate("erfassungsdatum"))
|
||||||
.therapyLine(resultSet.getLong("therapielinie"))
|
.therapyLine(resultSet.getLong("therapielinie"))
|
||||||
|
@@ -29,8 +29,6 @@ import dev.pcvolkmer.onco.datamapper.datacatalogues.TherapielinieCatalogue;
|
|||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import static dev.pcvolkmer.onco.datamapper.mapper.MapperUtils.getPatientReference;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Mapper class to load and map prozedur data from database table 'dk_dnpm_therapielinie'
|
* Mapper class to load and map prozedur data from database table 'dk_dnpm_therapielinie'
|
||||||
*
|
*
|
||||||
@@ -66,7 +64,7 @@ public class KpaTherapielinieDataMapper extends AbstractKpaTherapieverlaufDataMa
|
|||||||
var builder = MtbSystemicTherapy.builder();
|
var builder = MtbSystemicTherapy.builder();
|
||||||
builder
|
builder
|
||||||
.id(resultSet.getString("id"))
|
.id(resultSet.getString("id"))
|
||||||
.patient(getPatientReference(resultSet.getString("patient_id")))
|
.patient(resultSet.getPatientReference())
|
||||||
.basedOn(
|
.basedOn(
|
||||||
Reference.builder()
|
Reference.builder()
|
||||||
.id(resultSet.getString("ref_einzelempfehlung"))
|
.id(resultSet.getString("ref_einzelempfehlung"))
|
||||||
|
@@ -29,8 +29,6 @@ import dev.pcvolkmer.onco.datamapper.datacatalogues.VerwandteCatalogue;
|
|||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import static dev.pcvolkmer.onco.datamapper.mapper.MapperUtils.getPatientReference;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Mapper class to load and map prozedur data from database table 'dk_dnpm_uf_verwandte'
|
* Mapper class to load and map prozedur data from database table 'dk_dnpm_uf_verwandte'
|
||||||
*
|
*
|
||||||
@@ -60,7 +58,7 @@ public class KpaVerwandteDataMapper extends AbstractSubformDataMapper<FamilyMemb
|
|||||||
var builder = FamilyMemberHistory.builder();
|
var builder = FamilyMemberHistory.builder();
|
||||||
builder
|
builder
|
||||||
.id(resultSet.getId().toString())
|
.id(resultSet.getId().toString())
|
||||||
.patient(getPatientReference(resultSet.getString("patient_id")))
|
.patient(resultSet.getPatientReference())
|
||||||
.relationship(
|
.relationship(
|
||||||
getFamilyMemberHistoryRelationshipTypeCoding(resultSet.getString("verwandtschaftsgrad"))
|
getFamilyMemberHistoryRelationshipTypeCoding(resultSet.getString("verwandtschaftsgrad"))
|
||||||
)
|
)
|
||||||
|
@@ -20,21 +20,13 @@
|
|||||||
|
|
||||||
package dev.pcvolkmer.onco.datamapper.mapper;
|
package dev.pcvolkmer.onco.datamapper.mapper;
|
||||||
|
|
||||||
import dev.pcvolkmer.mv64e.mtb.EcogCoding;
|
|
||||||
import dev.pcvolkmer.mv64e.mtb.EcogCodingCode;
|
|
||||||
import dev.pcvolkmer.mv64e.mtb.PerformanceStatus;
|
|
||||||
import dev.pcvolkmer.mv64e.mtb.PriorDiagnosticReport;
|
import dev.pcvolkmer.mv64e.mtb.PriorDiagnosticReport;
|
||||||
import dev.pcvolkmer.onco.datamapper.ResultSet;
|
import dev.pcvolkmer.onco.datamapper.ResultSet;
|
||||||
import dev.pcvolkmer.onco.datamapper.datacatalogues.EcogCatalogue;
|
import dev.pcvolkmer.onco.datamapper.datacatalogues.EcogCatalogue;
|
||||||
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.Comparator;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import static dev.pcvolkmer.onco.datamapper.mapper.MapperUtils.getPatientReference;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Mapper class to load and map prozedur data from database table 'dk_dnpm_vorbefunde'
|
* Mapper class to load and map prozedur data from database table 'dk_dnpm_vorbefunde'
|
||||||
*
|
*
|
||||||
@@ -72,7 +64,7 @@ public class KpaVorbefundeDataMapper extends AbstractSubformDataMapper<PriorDiag
|
|||||||
var builder = PriorDiagnosticReport.builder();
|
var builder = PriorDiagnosticReport.builder();
|
||||||
builder
|
builder
|
||||||
.id(resultSet.getId().toString())
|
.id(resultSet.getId().toString())
|
||||||
.patient(getPatientReference(resultSet.getString("patient_id")))
|
.patient(resultSet.getPatientReference())
|
||||||
.issuedOn(resultSet.getDate("datum"))
|
.issuedOn(resultSet.getDate("datum"))
|
||||||
.results(List.of(resultSet.getString("ecog")))
|
.results(List.of(resultSet.getString("ecog")))
|
||||||
;
|
;
|
||||||
|
@@ -1,50 +0,0 @@
|
|||||||
/*
|
|
||||||
* This file is part of mv64e-onkostar-data
|
|
||||||
*
|
|
||||||
* Copyright (C) 2025 Paul-Christian Volkmer
|
|
||||||
*
|
|
||||||
* This program is free software: you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU Lesser General Public License as published by
|
|
||||||
* the Free Software Foundation, either version 3 of the License, or
|
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU Lesser General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU Lesser General Public License
|
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
package dev.pcvolkmer.onco.datamapper.mapper;
|
|
||||||
|
|
||||||
import dev.pcvolkmer.mv64e.mtb.Reference;
|
|
||||||
import dev.pcvolkmer.onco.datamapper.exceptions.DataAccessException;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Utility methods to be used in mappers
|
|
||||||
*/
|
|
||||||
public class MapperUtils {
|
|
||||||
|
|
||||||
private MapperUtils() {
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get Patient Reference based on default column name 'patient_id'
|
|
||||||
*
|
|
||||||
* @return The patient reference
|
|
||||||
*/
|
|
||||||
public static Reference getPatientReference(String patientId) {
|
|
||||||
if (patientId == null) {
|
|
||||||
throw new DataAccessException("No patient id found");
|
|
||||||
}
|
|
||||||
return Reference.builder()
|
|
||||||
.id(patientId)
|
|
||||||
// Use "Patient" since Onkostar only provides patient data
|
|
||||||
.type("Patient")
|
|
||||||
.build();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@@ -29,8 +29,6 @@ import java.util.List;
|
|||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import static dev.pcvolkmer.onco.datamapper.mapper.MapperUtils.getPatientReference;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Mapper class to load and map patient data from database table 'dk_molekulargenetik'
|
* Mapper class to load and map patient data from database table 'dk_molekulargenetik'
|
||||||
*
|
*
|
||||||
@@ -76,7 +74,7 @@ public class MolekulargenetikToSpecimenDataMapper implements DataMapper<TumorSpe
|
|||||||
var builder = TumorSpecimen.builder();
|
var builder = TumorSpecimen.builder();
|
||||||
builder
|
builder
|
||||||
.id(data.getString("id"))
|
.id(data.getString("id"))
|
||||||
.patient(getPatientReference(data.getString("patient_id")))
|
.patient(data.getPatientReference())
|
||||||
.type(getTumorSpecimenCoding(data.getString("materialfixierung")))
|
.type(getTumorSpecimenCoding(data.getString("materialfixierung")))
|
||||||
.collection(getCollection(data))
|
.collection(getCollection(data))
|
||||||
// TODO add diagnosis later
|
// TODO add diagnosis later
|
||||||
|
@@ -28,8 +28,6 @@ import dev.pcvolkmer.onco.datamapper.datacatalogues.KpaCatalogue;
|
|||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import static dev.pcvolkmer.onco.datamapper.mapper.MapperUtils.getPatientReference;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Mapper class to load and map patient data from database table 'dk_dnpm_kpa'
|
* Mapper class to load and map patient data from database table 'dk_dnpm_kpa'
|
||||||
*
|
*
|
||||||
@@ -63,7 +61,7 @@ public class MtbEpisodeDataMapper implements DataMapper<MtbEpisodeOfCare> {
|
|||||||
var builder = MtbEpisodeOfCare.builder();
|
var builder = MtbEpisodeOfCare.builder();
|
||||||
builder
|
builder
|
||||||
.id(kpaData.getString("id"))
|
.id(kpaData.getString("id"))
|
||||||
.patient(getPatientReference(kpaData.getString("patient_id")))
|
.patient(kpaData.getPatientReference())
|
||||||
.diagnoses(
|
.diagnoses(
|
||||||
List.of(
|
List.of(
|
||||||
Reference.builder()
|
Reference.builder()
|
||||||
|
@@ -22,15 +22,16 @@ package dev.pcvolkmer.onco.datamapper.mapper;
|
|||||||
|
|
||||||
import dev.pcvolkmer.mv64e.mtb.*;
|
import dev.pcvolkmer.mv64e.mtb.*;
|
||||||
import dev.pcvolkmer.onco.datamapper.PropertyCatalogue;
|
import dev.pcvolkmer.onco.datamapper.PropertyCatalogue;
|
||||||
import dev.pcvolkmer.onco.datamapper.datacatalogues.*;
|
import dev.pcvolkmer.onco.datamapper.datacatalogues.EinzelempfehlungCatalogue;
|
||||||
|
import dev.pcvolkmer.onco.datamapper.datacatalogues.RebiopsieCatalogue;
|
||||||
|
import dev.pcvolkmer.onco.datamapper.datacatalogues.ReevaluationCatalogue;
|
||||||
|
import dev.pcvolkmer.onco.datamapper.datacatalogues.TherapieplanCatalogue;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import static dev.pcvolkmer.onco.datamapper.mapper.MapperUtils.getPatientReference;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Mapper class to load and map patient data from database table 'dk_dnpm_therapieplan'
|
* Mapper class to load and map patient data from database table 'dk_dnpm_therapieplan'
|
||||||
*
|
*
|
||||||
@@ -78,7 +79,7 @@ public class TherapieplanDataMapper implements DataMapper<MtbCarePlan> {
|
|||||||
var builder = MtbCarePlan.builder();
|
var builder = MtbCarePlan.builder();
|
||||||
builder
|
builder
|
||||||
.id(therapieplanData.getString("id"))
|
.id(therapieplanData.getString("id"))
|
||||||
.patient(getPatientReference(therapieplanData.getString("patient_id")))
|
.patient(therapieplanData.getPatientReference())
|
||||||
.issuedOn(therapieplanData.getDate("datum"))
|
.issuedOn(therapieplanData.getDate("datum"))
|
||||||
.histologyReevaluationRequests(getHistologyReevaluationRequests(id))
|
.histologyReevaluationRequests(getHistologyReevaluationRequests(id))
|
||||||
.rebiopsyRequests(
|
.rebiopsyRequests(
|
||||||
@@ -125,7 +126,7 @@ public class TherapieplanDataMapper implements DataMapper<MtbCarePlan> {
|
|||||||
builder.geneticCounselingRecommendation(
|
builder.geneticCounselingRecommendation(
|
||||||
GeneticCounselingRecommendation.builder()
|
GeneticCounselingRecommendation.builder()
|
||||||
.id(therapieplanData.getString("id"))
|
.id(therapieplanData.getString("id"))
|
||||||
.patient(getPatientReference(therapieplanData.getString("patient_id")))
|
.patient(therapieplanData.getPatientReference())
|
||||||
.issuedOn(therapieplanData.getDate("datum_tk_humangenber"))
|
.issuedOn(therapieplanData.getDate("datum_tk_humangenber"))
|
||||||
.reason(
|
.reason(
|
||||||
getGeneticCounselingRecommendationReasonCoding(
|
getGeneticCounselingRecommendationReasonCoding(
|
||||||
@@ -177,7 +178,7 @@ public class TherapieplanDataMapper implements DataMapper<MtbCarePlan> {
|
|||||||
.map(resultSet ->
|
.map(resultSet ->
|
||||||
RebiopsyRequest.builder()
|
RebiopsyRequest.builder()
|
||||||
.id(resultSet.getString("id"))
|
.id(resultSet.getString("id"))
|
||||||
.patient(getPatientReference(resultSet.getString("patient_id")))
|
.patient(resultSet.getPatientReference())
|
||||||
.issuedOn(resultSet.getDate("datum"))
|
.issuedOn(resultSet.getDate("datum"))
|
||||||
.tumorEntity(diagnosisReference)
|
.tumorEntity(diagnosisReference)
|
||||||
.build()
|
.build()
|
||||||
@@ -190,7 +191,7 @@ public class TherapieplanDataMapper implements DataMapper<MtbCarePlan> {
|
|||||||
.map(resultSet ->
|
.map(resultSet ->
|
||||||
HistologyReevaluationRequest.builder()
|
HistologyReevaluationRequest.builder()
|
||||||
.id(resultSet.getString("id"))
|
.id(resultSet.getString("id"))
|
||||||
.patient(getPatientReference(resultSet.getString("patient_id")))
|
.patient(resultSet.getPatientReference())
|
||||||
.issuedOn(resultSet.getDate("datum"))
|
.issuedOn(resultSet.getDate("datum"))
|
||||||
.specimen(Reference.builder().id(resultSet.getString("ref_molekulargenetik")).build())
|
.specimen(Reference.builder().id(resultSet.getString("ref_molekulargenetik")).build())
|
||||||
.build()
|
.build()
|
||||||
|
@@ -61,7 +61,7 @@ class EcogCatalogueTest {
|
|||||||
verify(this.jdbcTemplate).queryForList(captor.capture(), anyInt());
|
verify(this.jdbcTemplate).queryForList(captor.capture(), anyInt());
|
||||||
|
|
||||||
assertThat(captor.getValue())
|
assertThat(captor.getValue())
|
||||||
.isEqualTo("SELECT * FROM dk_dnpm_uf_ecog JOIN prozedur ON (prozedur.id = dk_dnpm_uf_ecog.id) WHERE geloescht = 0 AND prozedur.id = ?");
|
.isEqualTo("SELECT patient.patienten_id, dk_dnpm_uf_ecog.*, prozedur.* FROM dk_dnpm_uf_ecog JOIN prozedur ON (prozedur.id = dk_dnpm_uf_ecog.id) JOIN patient ON (patient.id = prozedur.patient_id) WHERE geloescht = 0 AND prozedur.id = ?");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -76,7 +76,7 @@ class EcogCatalogueTest {
|
|||||||
verify(this.jdbcTemplate).queryForList(captor.capture(), anyInt());
|
verify(this.jdbcTemplate).queryForList(captor.capture(), anyInt());
|
||||||
|
|
||||||
assertThat(captor.getValue())
|
assertThat(captor.getValue())
|
||||||
.isEqualTo("SELECT * FROM dk_dnpm_uf_ecog JOIN prozedur ON (prozedur.id = dk_dnpm_uf_ecog.id) WHERE geloescht = 0 AND hauptprozedur_id = ?");
|
.isEqualTo("SELECT patient.patienten_id, dk_dnpm_uf_ecog.*, prozedur.* FROM dk_dnpm_uf_ecog JOIN prozedur ON (prozedur.id = dk_dnpm_uf_ecog.id) JOIN patient ON (patient.id = prozedur.patient_id) WHERE geloescht = 0 AND hauptprozedur_id = ?");
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -61,7 +61,7 @@ class EinzelempfehlungCatalogueTest {
|
|||||||
verify(this.jdbcTemplate).queryForList(captor.capture(), anyInt());
|
verify(this.jdbcTemplate).queryForList(captor.capture(), anyInt());
|
||||||
|
|
||||||
assertThat(captor.getValue())
|
assertThat(captor.getValue())
|
||||||
.isEqualTo("SELECT * FROM dk_dnpm_uf_einzelempfehlung JOIN prozedur ON (prozedur.id = dk_dnpm_uf_einzelempfehlung.id) WHERE geloescht = 0 AND prozedur.id = ?");
|
.isEqualTo("SELECT patient.patienten_id, dk_dnpm_uf_einzelempfehlung.*, prozedur.* FROM dk_dnpm_uf_einzelempfehlung JOIN prozedur ON (prozedur.id = dk_dnpm_uf_einzelempfehlung.id) JOIN patient ON (patient.id = prozedur.patient_id) WHERE geloescht = 0 AND prozedur.id = ?");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -76,7 +76,7 @@ class EinzelempfehlungCatalogueTest {
|
|||||||
verify(this.jdbcTemplate).queryForList(captor.capture(), anyInt());
|
verify(this.jdbcTemplate).queryForList(captor.capture(), anyInt());
|
||||||
|
|
||||||
assertThat(captor.getValue())
|
assertThat(captor.getValue())
|
||||||
.isEqualTo("SELECT * FROM dk_dnpm_uf_einzelempfehlung JOIN prozedur ON (prozedur.id = dk_dnpm_uf_einzelempfehlung.id) WHERE geloescht = 0 AND hauptprozedur_id = ?");
|
.isEqualTo("SELECT patient.patienten_id, dk_dnpm_uf_einzelempfehlung.*, prozedur.* FROM dk_dnpm_uf_einzelempfehlung JOIN prozedur ON (prozedur.id = dk_dnpm_uf_einzelempfehlung.id) JOIN patient ON (patient.id = prozedur.patient_id) WHERE geloescht = 0 AND hauptprozedur_id = ?");
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -61,7 +61,7 @@ class HistologieCatalogueTest {
|
|||||||
verify(this.jdbcTemplate).queryForList(captor.capture(), anyInt());
|
verify(this.jdbcTemplate).queryForList(captor.capture(), anyInt());
|
||||||
|
|
||||||
assertThat(captor.getValue())
|
assertThat(captor.getValue())
|
||||||
.isEqualTo("SELECT * FROM dk_dnpm_uf_histologie JOIN prozedur ON (prozedur.id = dk_dnpm_uf_histologie.id) WHERE geloescht = 0 AND prozedur.id = ?");
|
.isEqualTo("SELECT patient.patienten_id, dk_dnpm_uf_histologie.*, prozedur.* FROM dk_dnpm_uf_histologie JOIN prozedur ON (prozedur.id = dk_dnpm_uf_histologie.id) JOIN patient ON (patient.id = prozedur.patient_id) WHERE geloescht = 0 AND prozedur.id = ?");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -76,7 +76,7 @@ class HistologieCatalogueTest {
|
|||||||
verify(this.jdbcTemplate).queryForList(captor.capture(), anyInt());
|
verify(this.jdbcTemplate).queryForList(captor.capture(), anyInt());
|
||||||
|
|
||||||
assertThat(captor.getValue())
|
assertThat(captor.getValue())
|
||||||
.isEqualTo("SELECT * FROM dk_dnpm_uf_histologie JOIN prozedur ON (prozedur.id = dk_dnpm_uf_histologie.id) WHERE geloescht = 0 AND hauptprozedur_id = ?");
|
.isEqualTo("SELECT patient.patienten_id, dk_dnpm_uf_histologie.*, prozedur.* FROM dk_dnpm_uf_histologie JOIN prozedur ON (prozedur.id = dk_dnpm_uf_histologie.id) JOIN patient ON (patient.id = prozedur.patient_id) WHERE geloescht = 0 AND hauptprozedur_id = ?");
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -63,7 +63,7 @@ class KpaCatalogueTest {
|
|||||||
verify(this.jdbcTemplate).queryForList(captor.capture(), anyInt());
|
verify(this.jdbcTemplate).queryForList(captor.capture(), anyInt());
|
||||||
|
|
||||||
assertThat(captor.getValue())
|
assertThat(captor.getValue())
|
||||||
.isEqualTo("SELECT * FROM dk_dnpm_kpa JOIN prozedur ON (prozedur.id = dk_dnpm_kpa.id) WHERE geloescht = 0 AND prozedur.id = ?");
|
.isEqualTo("SELECT patient.patienten_id, dk_dnpm_kpa.*, prozedur.* FROM dk_dnpm_kpa JOIN prozedur ON (prozedur.id = dk_dnpm_kpa.id) JOIN patient ON (patient.id = prozedur.patient_id) WHERE geloescht = 0 AND prozedur.id = ?");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@@ -61,7 +61,7 @@ class MolekulargenetikCatalogueTest {
|
|||||||
verify(this.jdbcTemplate).queryForList(captor.capture(), anyInt());
|
verify(this.jdbcTemplate).queryForList(captor.capture(), anyInt());
|
||||||
|
|
||||||
assertThat(captor.getValue())
|
assertThat(captor.getValue())
|
||||||
.isEqualTo("SELECT * FROM dk_molekulargenetik JOIN prozedur ON (prozedur.id = dk_molekulargenetik.id) WHERE geloescht = 0 AND prozedur.id = ?");
|
.isEqualTo("SELECT patient.patienten_id, dk_molekulargenetik.*, prozedur.* FROM dk_molekulargenetik JOIN prozedur ON (prozedur.id = dk_molekulargenetik.id) JOIN patient ON (patient.id = prozedur.patient_id) WHERE geloescht = 0 AND prozedur.id = ?");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -76,7 +76,7 @@ class MolekulargenetikCatalogueTest {
|
|||||||
verify(this.jdbcTemplate).queryForList(captor.capture(), anyInt());
|
verify(this.jdbcTemplate).queryForList(captor.capture(), anyInt());
|
||||||
|
|
||||||
assertThat(captor.getValue())
|
assertThat(captor.getValue())
|
||||||
.isEqualTo("SELECT * FROM dk_molekulargenetik JOIN prozedur ON (prozedur.id = dk_molekulargenetik.id) WHERE geloescht = 0 AND hauptprozedur_id = ?");
|
.isEqualTo("SELECT patient.patienten_id, dk_molekulargenetik.*, prozedur.* FROM dk_molekulargenetik JOIN prozedur ON (prozedur.id = dk_molekulargenetik.id) JOIN patient ON (patient.id = prozedur.patient_id) WHERE geloescht = 0 AND hauptprozedur_id = ?");
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -61,7 +61,7 @@ class ProzedurCatalogueTest {
|
|||||||
verify(this.jdbcTemplate).queryForList(captor.capture(), anyInt());
|
verify(this.jdbcTemplate).queryForList(captor.capture(), anyInt());
|
||||||
|
|
||||||
assertThat(captor.getValue())
|
assertThat(captor.getValue())
|
||||||
.isEqualTo("SELECT * FROM dk_dnpm_uf_prozedur JOIN prozedur ON (prozedur.id = dk_dnpm_uf_prozedur.id) WHERE geloescht = 0 AND prozedur.id = ?");
|
.isEqualTo("SELECT patient.patienten_id, dk_dnpm_uf_prozedur.*, prozedur.* FROM dk_dnpm_uf_prozedur JOIN prozedur ON (prozedur.id = dk_dnpm_uf_prozedur.id) JOIN patient ON (patient.id = prozedur.patient_id) WHERE geloescht = 0 AND prozedur.id = ?");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -76,7 +76,7 @@ class ProzedurCatalogueTest {
|
|||||||
verify(this.jdbcTemplate).queryForList(captor.capture(), anyInt());
|
verify(this.jdbcTemplate).queryForList(captor.capture(), anyInt());
|
||||||
|
|
||||||
assertThat(captor.getValue())
|
assertThat(captor.getValue())
|
||||||
.isEqualTo("SELECT * FROM dk_dnpm_uf_prozedur JOIN prozedur ON (prozedur.id = dk_dnpm_uf_prozedur.id) WHERE geloescht = 0 AND hauptprozedur_id = ?");
|
.isEqualTo("SELECT patient.patienten_id, dk_dnpm_uf_prozedur.*, prozedur.* FROM dk_dnpm_uf_prozedur JOIN prozedur ON (prozedur.id = dk_dnpm_uf_prozedur.id) JOIN patient ON (patient.id = prozedur.patient_id) WHERE geloescht = 0 AND hauptprozedur_id = ?");
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -61,7 +61,7 @@ class RebiopsieCatalogueTest {
|
|||||||
verify(this.jdbcTemplate).queryForList(captor.capture(), anyInt());
|
verify(this.jdbcTemplate).queryForList(captor.capture(), anyInt());
|
||||||
|
|
||||||
assertThat(captor.getValue())
|
assertThat(captor.getValue())
|
||||||
.isEqualTo("SELECT * FROM dk_dnpm_uf_rebiopsie JOIN prozedur ON (prozedur.id = dk_dnpm_uf_rebiopsie.id) WHERE geloescht = 0 AND prozedur.id = ?");
|
.isEqualTo("SELECT patient.patienten_id, dk_dnpm_uf_rebiopsie.*, prozedur.* FROM dk_dnpm_uf_rebiopsie JOIN prozedur ON (prozedur.id = dk_dnpm_uf_rebiopsie.id) JOIN patient ON (patient.id = prozedur.patient_id) WHERE geloescht = 0 AND prozedur.id = ?");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -76,7 +76,7 @@ class RebiopsieCatalogueTest {
|
|||||||
verify(this.jdbcTemplate).queryForList(captor.capture(), anyInt());
|
verify(this.jdbcTemplate).queryForList(captor.capture(), anyInt());
|
||||||
|
|
||||||
assertThat(captor.getValue())
|
assertThat(captor.getValue())
|
||||||
.isEqualTo("SELECT * FROM dk_dnpm_uf_rebiopsie JOIN prozedur ON (prozedur.id = dk_dnpm_uf_rebiopsie.id) WHERE geloescht = 0 AND hauptprozedur_id = ?");
|
.isEqualTo("SELECT patient.patienten_id, dk_dnpm_uf_rebiopsie.*, prozedur.* FROM dk_dnpm_uf_rebiopsie JOIN prozedur ON (prozedur.id = dk_dnpm_uf_rebiopsie.id) JOIN patient ON (patient.id = prozedur.patient_id) WHERE geloescht = 0 AND hauptprozedur_id = ?");
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -61,7 +61,7 @@ class ReevaluationCatalogueTest {
|
|||||||
verify(this.jdbcTemplate).queryForList(captor.capture(), anyInt());
|
verify(this.jdbcTemplate).queryForList(captor.capture(), anyInt());
|
||||||
|
|
||||||
assertThat(captor.getValue())
|
assertThat(captor.getValue())
|
||||||
.isEqualTo("SELECT * FROM dk_dnpm_uf_reevaluation JOIN prozedur ON (prozedur.id = dk_dnpm_uf_reevaluation.id) WHERE geloescht = 0 AND prozedur.id = ?");
|
.isEqualTo("SELECT patient.patienten_id, dk_dnpm_uf_reevaluation.*, prozedur.* FROM dk_dnpm_uf_reevaluation JOIN prozedur ON (prozedur.id = dk_dnpm_uf_reevaluation.id) JOIN patient ON (patient.id = prozedur.patient_id) WHERE geloescht = 0 AND prozedur.id = ?");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -76,7 +76,7 @@ class ReevaluationCatalogueTest {
|
|||||||
verify(this.jdbcTemplate).queryForList(captor.capture(), anyInt());
|
verify(this.jdbcTemplate).queryForList(captor.capture(), anyInt());
|
||||||
|
|
||||||
assertThat(captor.getValue())
|
assertThat(captor.getValue())
|
||||||
.isEqualTo("SELECT * FROM dk_dnpm_uf_reevaluation JOIN prozedur ON (prozedur.id = dk_dnpm_uf_reevaluation.id) WHERE geloescht = 0 AND hauptprozedur_id = ?");
|
.isEqualTo("SELECT patient.patienten_id, dk_dnpm_uf_reevaluation.*, prozedur.* FROM dk_dnpm_uf_reevaluation JOIN prozedur ON (prozedur.id = dk_dnpm_uf_reevaluation.id) JOIN patient ON (patient.id = prozedur.patient_id) WHERE geloescht = 0 AND hauptprozedur_id = ?");
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -61,7 +61,7 @@ class TherapielinieCatalogueTest {
|
|||||||
verify(this.jdbcTemplate).queryForList(captor.capture(), anyInt());
|
verify(this.jdbcTemplate).queryForList(captor.capture(), anyInt());
|
||||||
|
|
||||||
assertThat(captor.getValue())
|
assertThat(captor.getValue())
|
||||||
.isEqualTo("SELECT * FROM dk_dnpm_therapielinie JOIN prozedur ON (prozedur.id = dk_dnpm_therapielinie.id) WHERE geloescht = 0 AND prozedur.id = ?");
|
.isEqualTo("SELECT patient.patienten_id, dk_dnpm_therapielinie.*, prozedur.* FROM dk_dnpm_therapielinie JOIN prozedur ON (prozedur.id = dk_dnpm_therapielinie.id) JOIN patient ON (patient.id = prozedur.patient_id) WHERE geloescht = 0 AND prozedur.id = ?");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -76,7 +76,7 @@ class TherapielinieCatalogueTest {
|
|||||||
verify(this.jdbcTemplate).queryForList(captor.capture(), anyInt());
|
verify(this.jdbcTemplate).queryForList(captor.capture(), anyInt());
|
||||||
|
|
||||||
assertThat(captor.getValue())
|
assertThat(captor.getValue())
|
||||||
.isEqualTo("SELECT * FROM dk_dnpm_therapielinie JOIN prozedur ON (prozedur.id = dk_dnpm_therapielinie.id) WHERE geloescht = 0 AND hauptprozedur_id = ?");
|
.isEqualTo("SELECT patient.patienten_id, dk_dnpm_therapielinie.*, prozedur.* FROM dk_dnpm_therapielinie JOIN prozedur ON (prozedur.id = dk_dnpm_therapielinie.id) JOIN patient ON (patient.id = prozedur.patient_id) WHERE geloescht = 0 AND hauptprozedur_id = ?");
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -61,7 +61,7 @@ class TherapieplanCatalogueTest {
|
|||||||
verify(this.jdbcTemplate).queryForList(captor.capture(), anyInt());
|
verify(this.jdbcTemplate).queryForList(captor.capture(), anyInt());
|
||||||
|
|
||||||
assertThat(captor.getValue())
|
assertThat(captor.getValue())
|
||||||
.isEqualTo("SELECT * FROM dk_dnpm_therapieplan JOIN prozedur ON (prozedur.id = dk_dnpm_therapieplan.id) WHERE geloescht = 0 AND prozedur.id = ?");
|
.isEqualTo("SELECT patient.patienten_id, dk_dnpm_therapieplan.*, prozedur.* FROM dk_dnpm_therapieplan JOIN prozedur ON (prozedur.id = dk_dnpm_therapieplan.id) JOIN patient ON (patient.id = prozedur.patient_id) WHERE geloescht = 0 AND prozedur.id = ?");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@@ -61,7 +61,7 @@ class TumorausbreitungCatalogueTest {
|
|||||||
verify(this.jdbcTemplate).queryForList(captor.capture(), anyInt());
|
verify(this.jdbcTemplate).queryForList(captor.capture(), anyInt());
|
||||||
|
|
||||||
assertThat(captor.getValue())
|
assertThat(captor.getValue())
|
||||||
.isEqualTo("SELECT * FROM dk_dnpm_uf_tumorausbreitung JOIN prozedur ON (prozedur.id = dk_dnpm_uf_tumorausbreitung.id) WHERE geloescht = 0 AND prozedur.id = ?");
|
.isEqualTo("SELECT patient.patienten_id, dk_dnpm_uf_tumorausbreitung.*, prozedur.* FROM dk_dnpm_uf_tumorausbreitung JOIN prozedur ON (prozedur.id = dk_dnpm_uf_tumorausbreitung.id) JOIN patient ON (patient.id = prozedur.patient_id) WHERE geloescht = 0 AND prozedur.id = ?");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -76,7 +76,7 @@ class TumorausbreitungCatalogueTest {
|
|||||||
verify(this.jdbcTemplate).queryForList(captor.capture(), anyInt());
|
verify(this.jdbcTemplate).queryForList(captor.capture(), anyInt());
|
||||||
|
|
||||||
assertThat(captor.getValue())
|
assertThat(captor.getValue())
|
||||||
.isEqualTo("SELECT * FROM dk_dnpm_uf_tumorausbreitung JOIN prozedur ON (prozedur.id = dk_dnpm_uf_tumorausbreitung.id) WHERE geloescht = 0 AND hauptprozedur_id = ?");
|
.isEqualTo("SELECT patient.patienten_id, dk_dnpm_uf_tumorausbreitung.*, prozedur.* FROM dk_dnpm_uf_tumorausbreitung JOIN prozedur ON (prozedur.id = dk_dnpm_uf_tumorausbreitung.id) JOIN patient ON (patient.id = prozedur.patient_id) WHERE geloescht = 0 AND hauptprozedur_id = ?");
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -61,7 +61,7 @@ class TumorgradingCatalogueTest {
|
|||||||
verify(this.jdbcTemplate).queryForList(captor.capture(), anyInt());
|
verify(this.jdbcTemplate).queryForList(captor.capture(), anyInt());
|
||||||
|
|
||||||
assertThat(captor.getValue())
|
assertThat(captor.getValue())
|
||||||
.isEqualTo("SELECT * FROM dk_dnpm_uf_tumorgrading JOIN prozedur ON (prozedur.id = dk_dnpm_uf_tumorgrading.id) WHERE geloescht = 0 AND prozedur.id = ?");
|
.isEqualTo("SELECT patient.patienten_id, dk_dnpm_uf_tumorgrading.*, prozedur.* FROM dk_dnpm_uf_tumorgrading JOIN prozedur ON (prozedur.id = dk_dnpm_uf_tumorgrading.id) JOIN patient ON (patient.id = prozedur.patient_id) WHERE geloescht = 0 AND prozedur.id = ?");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -76,7 +76,7 @@ class TumorgradingCatalogueTest {
|
|||||||
verify(this.jdbcTemplate).queryForList(captor.capture(), anyInt());
|
verify(this.jdbcTemplate).queryForList(captor.capture(), anyInt());
|
||||||
|
|
||||||
assertThat(captor.getValue())
|
assertThat(captor.getValue())
|
||||||
.isEqualTo("SELECT * FROM dk_dnpm_uf_tumorgrading JOIN prozedur ON (prozedur.id = dk_dnpm_uf_tumorgrading.id) WHERE geloescht = 0 AND hauptprozedur_id = ?");
|
.isEqualTo("SELECT patient.patienten_id, dk_dnpm_uf_tumorgrading.*, prozedur.* FROM dk_dnpm_uf_tumorgrading JOIN prozedur ON (prozedur.id = dk_dnpm_uf_tumorgrading.id) JOIN patient ON (patient.id = prozedur.patient_id) WHERE geloescht = 0 AND hauptprozedur_id = ?");
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -61,7 +61,7 @@ class VerwandteCatalogueTest {
|
|||||||
verify(this.jdbcTemplate).queryForList(captor.capture(), anyInt());
|
verify(this.jdbcTemplate).queryForList(captor.capture(), anyInt());
|
||||||
|
|
||||||
assertThat(captor.getValue())
|
assertThat(captor.getValue())
|
||||||
.isEqualTo("SELECT * FROM dk_dnpm_uf_verwandte JOIN prozedur ON (prozedur.id = dk_dnpm_uf_verwandte.id) WHERE geloescht = 0 AND prozedur.id = ?");
|
.isEqualTo("SELECT patient.patienten_id, dk_dnpm_uf_verwandte.*, prozedur.* FROM dk_dnpm_uf_verwandte JOIN prozedur ON (prozedur.id = dk_dnpm_uf_verwandte.id) JOIN patient ON (patient.id = prozedur.patient_id) WHERE geloescht = 0 AND prozedur.id = ?");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -76,7 +76,7 @@ class VerwandteCatalogueTest {
|
|||||||
verify(this.jdbcTemplate).queryForList(captor.capture(), anyInt());
|
verify(this.jdbcTemplate).queryForList(captor.capture(), anyInt());
|
||||||
|
|
||||||
assertThat(captor.getValue())
|
assertThat(captor.getValue())
|
||||||
.isEqualTo("SELECT * FROM dk_dnpm_uf_verwandte JOIN prozedur ON (prozedur.id = dk_dnpm_uf_verwandte.id) WHERE geloescht = 0 AND hauptprozedur_id = ?");
|
.isEqualTo("SELECT patient.patienten_id, dk_dnpm_uf_verwandte.*, prozedur.* FROM dk_dnpm_uf_verwandte JOIN prozedur ON (prozedur.id = dk_dnpm_uf_verwandte.id) JOIN patient ON (patient.id = prozedur.patient_id) WHERE geloescht = 0 AND hauptprozedur_id = ?");
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -61,7 +61,7 @@ class VorbefundeCatalogueTest {
|
|||||||
verify(this.jdbcTemplate).queryForList(captor.capture(), anyInt());
|
verify(this.jdbcTemplate).queryForList(captor.capture(), anyInt());
|
||||||
|
|
||||||
assertThat(captor.getValue())
|
assertThat(captor.getValue())
|
||||||
.isEqualTo("SELECT * FROM dk_dnpm_uf_vorbefunde JOIN prozedur ON (prozedur.id = dk_dnpm_uf_vorbefunde.id) WHERE geloescht = 0 AND prozedur.id = ?");
|
.isEqualTo("SELECT patient.patienten_id, dk_dnpm_uf_vorbefunde.*, prozedur.* FROM dk_dnpm_uf_vorbefunde JOIN prozedur ON (prozedur.id = dk_dnpm_uf_vorbefunde.id) JOIN patient ON (patient.id = prozedur.patient_id) WHERE geloescht = 0 AND prozedur.id = ?");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -76,7 +76,7 @@ class VorbefundeCatalogueTest {
|
|||||||
verify(this.jdbcTemplate).queryForList(captor.capture(), anyInt());
|
verify(this.jdbcTemplate).queryForList(captor.capture(), anyInt());
|
||||||
|
|
||||||
assertThat(captor.getValue())
|
assertThat(captor.getValue())
|
||||||
.isEqualTo("SELECT * FROM dk_dnpm_uf_vorbefunde JOIN prozedur ON (prozedur.id = dk_dnpm_uf_vorbefunde.id) WHERE geloescht = 0 AND hauptprozedur_id = ?");
|
.isEqualTo("SELECT patient.patienten_id, dk_dnpm_uf_vorbefunde.*, prozedur.* FROM dk_dnpm_uf_vorbefunde JOIN prozedur ON (prozedur.id = dk_dnpm_uf_vorbefunde.id) JOIN patient ON (patient.id = prozedur.patient_id) WHERE geloescht = 0 AND hauptprozedur_id = ?");
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -72,6 +72,9 @@ class KpaDiagnosisDataMapperTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
void shouldCreateDiagnosis(@Mock ResultSet resultSet) {
|
void shouldCreateDiagnosis(@Mock ResultSet resultSet) {
|
||||||
|
doAnswer(invocationOnMock -> Reference.builder().id(testData().get("patienten_id").toString()).type("Patient").build())
|
||||||
|
.when(resultSet).getPatientReference();
|
||||||
|
|
||||||
doAnswer(invocationOnMock -> {
|
doAnswer(invocationOnMock -> {
|
||||||
var columnName = invocationOnMock.getArgument(0, String.class);
|
var columnName = invocationOnMock.getArgument(0, String.class);
|
||||||
return testData().get(columnName);
|
return testData().get(columnName);
|
||||||
@@ -97,7 +100,7 @@ class KpaDiagnosisDataMapperTest {
|
|||||||
return Map.of(
|
return Map.of(
|
||||||
"id", "1",
|
"id", "1",
|
||||||
"icd10", "F79.9",
|
"icd10", "F79.9",
|
||||||
"patient_id", "42"
|
"patienten_id", "42"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -60,11 +60,14 @@ class KpaEcogDataMapperTest {
|
|||||||
void shouldMapResultSet(@Mock ResultSet resultSet) {
|
void shouldMapResultSet(@Mock ResultSet resultSet) {
|
||||||
var testData = Map.of(
|
var testData = Map.of(
|
||||||
"id", "1",
|
"id", "1",
|
||||||
"patient_id", "42",
|
"patienten_id", "42",
|
||||||
"datum", new java.sql.Date(Date.from(Instant.parse("2000-01-01T12:00:00Z")).getTime()),
|
"datum", new java.sql.Date(Date.from(Instant.parse("2000-01-01T12:00:00Z")).getTime()),
|
||||||
"ecog", "1"
|
"ecog", "1"
|
||||||
);
|
);
|
||||||
|
|
||||||
|
doAnswer(invocationOnMock -> Reference.builder().id(testData.get("patienten_id").toString()).type("Patient").build())
|
||||||
|
.when(resultSet).getPatientReference();
|
||||||
|
|
||||||
doAnswer(invocationOnMock -> {
|
doAnswer(invocationOnMock -> {
|
||||||
var columnName = invocationOnMock.getArgument(0, String.class);
|
var columnName = invocationOnMock.getArgument(0, String.class);
|
||||||
return testData.get(columnName);
|
return testData.get(columnName);
|
||||||
|
@@ -71,9 +71,12 @@ class KpaProzedurDataMapperTest {
|
|||||||
"statusgrund", "patient-death",
|
"statusgrund", "patient-death",
|
||||||
"therapielinie", 1L,
|
"therapielinie", 1L,
|
||||||
"typ", "surgery",
|
"typ", "surgery",
|
||||||
"patient_id", "42"
|
"patienten_id", "42"
|
||||||
);
|
);
|
||||||
|
|
||||||
|
doAnswer(invocationOnMock -> Reference.builder().id(testData.get("patienten_id").toString()).type("Patient").build())
|
||||||
|
.when(resultSet).getPatientReference();
|
||||||
|
|
||||||
doAnswer(invocationOnMock -> {
|
doAnswer(invocationOnMock -> {
|
||||||
var columnName = invocationOnMock.getArgument(0, String.class);
|
var columnName = invocationOnMock.getArgument(0, String.class);
|
||||||
return testData.get(columnName);
|
return testData.get(columnName);
|
||||||
|
@@ -70,9 +70,12 @@ class KpaTherapielinieDataMapperTest {
|
|||||||
"intention", "S",
|
"intention", "S",
|
||||||
"status", "stopped",
|
"status", "stopped",
|
||||||
"statusgrund", "patient-death",
|
"statusgrund", "patient-death",
|
||||||
"patient_id", "42"
|
"patienten_id", "42"
|
||||||
);
|
);
|
||||||
|
|
||||||
|
doAnswer(invocationOnMock -> Reference.builder().id(testData.get("patienten_id").toString()).type("Patient").build())
|
||||||
|
.when(resultSet).getPatientReference();
|
||||||
|
|
||||||
doAnswer(invocationOnMock -> {
|
doAnswer(invocationOnMock -> {
|
||||||
var columnName = invocationOnMock.getArgument(0, String.class);
|
var columnName = invocationOnMock.getArgument(0, String.class);
|
||||||
return testData.get(columnName);
|
return testData.get(columnName);
|
||||||
|
@@ -58,10 +58,13 @@ class KpaVerwandteDataMapperTest {
|
|||||||
void shouldMapResultSet(@Mock ResultSet resultSet) {
|
void shouldMapResultSet(@Mock ResultSet resultSet) {
|
||||||
var testData = Map.of(
|
var testData = Map.of(
|
||||||
"id", "1",
|
"id", "1",
|
||||||
"patient_id", "42",
|
"patienten_id", "42",
|
||||||
"verwandtschaftsgrad", "EXT"
|
"verwandtschaftsgrad", "EXT"
|
||||||
);
|
);
|
||||||
|
|
||||||
|
doAnswer(invocationOnMock -> Reference.builder().id(testData.get("patienten_id")).type("Patient").build())
|
||||||
|
.when(resultSet).getPatientReference();
|
||||||
|
|
||||||
doAnswer(invocationOnMock -> {
|
doAnswer(invocationOnMock -> {
|
||||||
var columnName = invocationOnMock.getArgument(0, String.class);
|
var columnName = invocationOnMock.getArgument(0, String.class);
|
||||||
return testData.get(columnName);
|
return testData.get(columnName);
|
||||||
|
@@ -111,7 +111,7 @@ class MolekulargenetikToSpecimenDataMapperTest {
|
|||||||
return ResultSet.from(
|
return ResultSet.from(
|
||||||
Map.of(
|
Map.of(
|
||||||
"id", id,
|
"id", id,
|
||||||
"patient_id", 4711,
|
"patienten_id", 4711,
|
||||||
"entnahmemethode", "B",
|
"entnahmemethode", "B",
|
||||||
"probenmaterial", "T"
|
"probenmaterial", "T"
|
||||||
)
|
)
|
||||||
@@ -164,7 +164,7 @@ class MolekulargenetikToSpecimenDataMapperTest {
|
|||||||
return ResultSet.from(
|
return ResultSet.from(
|
||||||
Map.of(
|
Map.of(
|
||||||
"id", id,
|
"id", id,
|
||||||
"patient_id", 4711,
|
"patienten_id", 4711,
|
||||||
"entnahmemethode", "B",
|
"entnahmemethode", "B",
|
||||||
"probenmaterial", "T"
|
"probenmaterial", "T"
|
||||||
)
|
)
|
||||||
@@ -201,7 +201,7 @@ class MolekulargenetikToSpecimenDataMapperTest {
|
|||||||
return ResultSet.from(
|
return ResultSet.from(
|
||||||
Map.of(
|
Map.of(
|
||||||
"id", id,
|
"id", id,
|
||||||
"patient_id", 4711,
|
"patienten_id", 4711,
|
||||||
"materialfixierung", value,
|
"materialfixierung", value,
|
||||||
"entnahmemethode", "B",
|
"entnahmemethode", "B",
|
||||||
"probenmaterial", "T"
|
"probenmaterial", "T"
|
||||||
@@ -278,7 +278,7 @@ class MolekulargenetikToSpecimenDataMapperTest {
|
|||||||
return ResultSet.from(
|
return ResultSet.from(
|
||||||
Map.of(
|
Map.of(
|
||||||
"id", id,
|
"id", id,
|
||||||
"patient_id", 4711,
|
"patienten_id", 4711,
|
||||||
"entnahmemethode", value,
|
"entnahmemethode", value,
|
||||||
"probenmaterial", "T"
|
"probenmaterial", "T"
|
||||||
)
|
)
|
||||||
@@ -348,7 +348,7 @@ class MolekulargenetikToSpecimenDataMapperTest {
|
|||||||
return ResultSet.from(
|
return ResultSet.from(
|
||||||
Map.of(
|
Map.of(
|
||||||
"id", id,
|
"id", id,
|
||||||
"patient_id", 4711,
|
"patienten_id", 4711,
|
||||||
"entnahmemethode", "B",
|
"entnahmemethode", "B",
|
||||||
"probenmaterial", value
|
"probenmaterial", value
|
||||||
)
|
)
|
||||||
|
@@ -62,7 +62,7 @@ class MtbEpisodeDataMapperTest {
|
|||||||
void shouldMapData() {
|
void shouldMapData() {
|
||||||
final Map<String, Object> kpaData = Map.of(
|
final Map<String, Object> kpaData = Map.of(
|
||||||
"id", 4711,
|
"id", 4711,
|
||||||
"patient_id", 42,
|
"patienten_id", 42,
|
||||||
"anmeldedatummtb", new java.sql.Date(Date.from(Instant.parse("2025-06-28T12:00:00Z")).getTime())
|
"anmeldedatummtb", new java.sql.Date(Date.from(Instant.parse("2025-06-28T12:00:00Z")).getTime())
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@@ -78,13 +78,16 @@ class TherapieplanDataMapperTest {
|
|||||||
void shouldCreateCarePlan(@Mock ResultSet resultSet) {
|
void shouldCreateCarePlan(@Mock ResultSet resultSet) {
|
||||||
final var testData = Map.of(
|
final var testData = Map.of(
|
||||||
"id", "1",
|
"id", "1",
|
||||||
"patient_id", "42",
|
"patienten_id", "42",
|
||||||
"wirkstoffe_json", "[{\"code\":\"\",\"name\":\"PARP-Inhibierung\",\"system\":\"UNREGISTERED\"}]",
|
"wirkstoffe_json", "[{\"code\":\"\",\"name\":\"PARP-Inhibierung\",\"system\":\"UNREGISTERED\"}]",
|
||||||
"protokollauszug", "Das ist ein Protokollauszug",
|
"protokollauszug", "Das ist ein Protokollauszug",
|
||||||
"mit_einzelempfehlung", true,
|
"mit_einzelempfehlung", true,
|
||||||
"empfehlungskategorie", "systemisch"
|
"empfehlungskategorie", "systemisch"
|
||||||
);
|
);
|
||||||
|
|
||||||
|
doAnswer(invocationOnMock -> Reference.builder().id(testData.get("patienten_id").toString()).type("Patient").build())
|
||||||
|
.when(resultSet).getPatientReference();
|
||||||
|
|
||||||
doAnswer(invocationOnMock -> {
|
doAnswer(invocationOnMock -> {
|
||||||
var columnName = invocationOnMock.getArgument(0, String.class);
|
var columnName = invocationOnMock.getArgument(0, String.class);
|
||||||
return testData.get(columnName);
|
return testData.get(columnName);
|
||||||
@@ -119,7 +122,7 @@ class TherapieplanDataMapperTest {
|
|||||||
void shouldSetRecommendationsMissingReason() {
|
void shouldSetRecommendationsMissingReason() {
|
||||||
final Map<String, Object> testData = Map.of(
|
final Map<String, Object> testData = Map.of(
|
||||||
"id", 1,
|
"id", 1,
|
||||||
"patient_id", 42,
|
"patienten_id", 42,
|
||||||
"status_begruendung", "no-target"
|
"status_begruendung", "no-target"
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -145,7 +148,7 @@ class TherapieplanDataMapperTest {
|
|||||||
void shouldSetNoSequencingPerformedReason() {
|
void shouldSetNoSequencingPerformedReason() {
|
||||||
final Map<String, Object> testData = Map.of(
|
final Map<String, Object> testData = Map.of(
|
||||||
"id", 1,
|
"id", 1,
|
||||||
"patient_id", 42,
|
"patienten_id", 42,
|
||||||
"status_begruendung", "non-genetic-cause"
|
"status_begruendung", "non-genetic-cause"
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -171,7 +174,7 @@ class TherapieplanDataMapperTest {
|
|||||||
void shouldMapHumGenBeratung() {
|
void shouldMapHumGenBeratung() {
|
||||||
final Map<String, Object> testData = Map.of(
|
final Map<String, Object> testData = Map.of(
|
||||||
"id", 1,
|
"id", 1,
|
||||||
"patient_id", 42,
|
"patienten_id", 42,
|
||||||
"humangen_beratung", 1,
|
"humangen_beratung", 1,
|
||||||
"humangen_ber_grund", "other",
|
"humangen_ber_grund", "other",
|
||||||
"humangen_ber_grund_propcat_version", 1234
|
"humangen_ber_grund_propcat_version", 1234
|
||||||
|
Reference in New Issue
Block a user