1
0
mirror of https://github.com/pcvolkmer/mv64e-onkostar-data.git synced 2025-07-03 19:12:55 +00:00

feat: add missing entries for therapies

This commit is contained in:
2025-06-29 12:28:19 +02:00
parent 73526f296e
commit 55ccf8c876
4 changed files with 63 additions and 11 deletions

View File

@ -28,8 +28,8 @@ var jsonResult = Converter.toJsonString(mtbMapper.getByCaseId("16000123"));
| Episoden | ✅ | | | Episoden | ✅ | |
| Diagnosen | ✅ | Entsprechend Formularaufbau nur Diagnose der aktuellen Episode | | Diagnosen | ✅ | Entsprechend Formularaufbau nur Diagnose der aktuellen Episode |
| Verwandten-Diagnosen | ✅ | | | Verwandten-Diagnosen | ✅ | |
| Systemische Leitlinien-Therapien | | Status noch nicht vollständig in Formular | | Systemische Leitlinien-Therapien | | Siehe auch: https://github.com/dnpm-dip/mtb-model/issues/9 |
| Leitlinien-Prozeduren | ✅ | | | Leitlinien-Prozeduren | ✅ | Siehe auch: https://github.com/dnpm-dip/mtb-model/issues/9 |
| ECOG-Verlauf | ✅ | | | ECOG-Verlauf | ✅ | |
| Tumor-Probem | | | | Tumor-Probem | | |
| vorherige Molekular-Diagnostik | | | | vorherige Molekular-Diagnostik | | |

View File

@ -100,7 +100,9 @@ public abstract class AbstractKpaTherapieverlaufDataMapper<T> extends AbstractSu
return null; return null;
} }
var resultBuilder = MtbSystemicTherapyRecommendationFulfillmentStatusCoding.builder(); var resultBuilder = MtbSystemicTherapyRecommendationFulfillmentStatusCoding.builder()
.system("dnpm-dip/therapy/recommendation-fulfillment-status")
.display(propertyCatalogue.getByCodeAndVersion(value, version).getShortdesc());
try { try {
resultBuilder.code(MtbSystemicTherapyRecommendationFulfillmentStatusCodingCode.forValue(value)); resultBuilder.code(MtbSystemicTherapyRecommendationFulfillmentStatusCodingCode.forValue(value));
} catch (IOException e) { } catch (IOException e) {
@ -115,7 +117,9 @@ public abstract class AbstractKpaTherapieverlaufDataMapper<T> extends AbstractSu
return null; return null;
} }
var resultBuilder = MtbSystemicTherapyCategoryCoding.builder(); var resultBuilder = MtbSystemicTherapyCategoryCoding.builder()
.system("dnpm-dip/therapy/category")
.display(propertyCatalogue.getByCodeAndVersion(value, version).getShortdesc());
try { try {
resultBuilder.code(MtbSystemicTherapyCategoryCodingCode.forValue(value)); resultBuilder.code(MtbSystemicTherapyCategoryCodingCode.forValue(value));
} catch (IOException e) { } catch (IOException e) {
@ -130,7 +134,9 @@ public abstract class AbstractKpaTherapieverlaufDataMapper<T> extends AbstractSu
return null; return null;
} }
var resultBuilder = MtbSystemicTherapyDosageDensityCoding.builder(); var resultBuilder = MtbSystemicTherapyDosageDensityCoding.builder()
.system("dnpm-dip/therapy/status-density")
.display(propertyCatalogue.getByCodeAndVersion(value, version).getShortdesc());
try { try {
resultBuilder.code(MtbSystemicTherapyDosageDensityCodingCode.forValue(value)); resultBuilder.code(MtbSystemicTherapyDosageDensityCodingCode.forValue(value));
} catch (IOException e) { } catch (IOException e) {

View File

@ -7,6 +7,8 @@ import dev.pcvolkmer.onco.datamapper.PropertyCatalogue;
import dev.pcvolkmer.onco.datamapper.ResultSet; import dev.pcvolkmer.onco.datamapper.ResultSet;
import dev.pcvolkmer.onco.datamapper.datacatalogues.ProzedurCatalogue; import dev.pcvolkmer.onco.datamapper.datacatalogues.ProzedurCatalogue;
import java.util.List;
import static dev.pcvolkmer.onco.datamapper.mapper.MapperUtils.getPatientReference; import static dev.pcvolkmer.onco.datamapper.mapper.MapperUtils.getPatientReference;
/** /**
@ -78,7 +80,17 @@ public class KpaProzedurDataMapper extends AbstractKpaTherapieverlaufDataMapper<
resultSet.getInteger("typ_propcat_version") resultSet.getInteger("typ_propcat_version")
) )
) )
.reason(
Reference.builder()
.id(resultSet.getString("ref_einzelempfehlung"))
.build()
)
; ;
if (resultSet.getString("anmerkungen") != null) {
builder.notes(List.of(resultSet.getString("anmerkungen")));
}
return builder.build(); return builder.build();
} }

View File

@ -7,6 +7,8 @@ import dev.pcvolkmer.onco.datamapper.PropertyCatalogue;
import dev.pcvolkmer.onco.datamapper.ResultSet; import dev.pcvolkmer.onco.datamapper.ResultSet;
import dev.pcvolkmer.onco.datamapper.datacatalogues.TherapielinieCatalogue; import dev.pcvolkmer.onco.datamapper.datacatalogues.TherapielinieCatalogue;
import java.util.List;
import static dev.pcvolkmer.onco.datamapper.mapper.MapperUtils.getPatientReference; import static dev.pcvolkmer.onco.datamapper.mapper.MapperUtils.getPatientReference;
/** /**
@ -73,12 +75,44 @@ public class KpaTherapielinieDataMapper extends AbstractKpaTherapieverlaufDataMa
.build() .build()
) )
.medication(JsonToMedicationMapper.map(resultSet.getString("wirkstoffcodes"))) .medication(JsonToMedicationMapper.map(resultSet.getString("wirkstoffcodes")))
.reason(
/* TODO Yet missing form fields */ Reference.builder()
//.category(getMtbSystemicTherapyCategoryCoding()) .id(resultSet.getString("ref_einzelempfehlung"))
//.dosage(getMtbSystemicTherapyDosageDensityCoding()) .build()
//.recommendationFulfillmentStatus(getMtbSystemicTherapyRecommendationFulfillmentStatusCoding() )
; ;
if (resultSet.getString("stellung_propcat_version") != null) {
builder.category(
getMtbSystemicTherapyCategoryCoding(
resultSet.getString("stellung"),
resultSet.getInteger("stellung_propcat_version")
)
);
}
if (resultSet.getString("dosisdichte_propcat_version") != null) {
builder.dosage(
getMtbSystemicTherapyDosageDensityCoding(
resultSet.getString("dosisdichte"),
resultSet.getInteger("dosisdichte_propcat_version")
)
);
}
if (resultSet.getString("umsetzung_propcat_version") != null) {
builder.recommendationFulfillmentStatus(
getMtbSystemicTherapyRecommendationFulfillmentStatusCoding(
resultSet.getString("umsetzung"),
resultSet.getInteger("umsetzung_propcat_version")
)
);
}
if (resultSet.getString("anmerkungen") != null) {
builder.notes(List.of(resultSet.getString("anmerkungen")));
}
return builder.build(); return builder.build();
} }