From 3afe109494e2b4a751874a027694c17f6cabc4cd Mon Sep 17 00:00:00 2001 From: Paul-Christian Volkmer Date: Mon, 8 May 2023 16:23:52 +0200 Subject: Issue #28: Initiale Implementierung zur Ermittlung der NGS-Befund-Varianten --- src/main/java/DNPM/dto/Variant.java | 67 +++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 src/main/java/DNPM/dto/Variant.java (limited to 'src/main/java/DNPM/dto/Variant.java') diff --git a/src/main/java/DNPM/dto/Variant.java b/src/main/java/DNPM/dto/Variant.java new file mode 100644 index 0000000..36788f2 --- /dev/null +++ b/src/main/java/DNPM/dto/Variant.java @@ -0,0 +1,67 @@ +package DNPM.dto; + +import de.itc.onkostar.api.Procedure; + +import java.util.Optional; + +public class Variant { + private final Integer id; + + private final String shortDescription; + + private Variant( + final int id, + final String shortDescription + ) { + this.id = id; + this.shortDescription = shortDescription.trim(); + } + + public Integer getId() { + return id; + } + + public String getShortDescription() { + return shortDescription; + } + + public static Optional fromProcedure(Procedure procedure) { + if (! "OS.Molekulargenetische Untersuchung".equals(procedure.getFormName())) { + return Optional.empty(); + } + + var ergebnis = procedure.getValue("Ergebnis"); + var gene = procedure.getValue("Untersucht"); + var exon = procedure.getValue("ExonInt"); + var pathogenitaetsklasse = procedure.getValue("Pathogenitaetsklasse"); + + if (null == gene) { + return Optional.empty(); + } + + if (ergebnis.getString().equals("P")) { + return Optional.of( + new Variant( + procedure.getId(), + String.format("Einfache Variante: %s, %s, %s", gene.getString(), exon.getString(), pathogenitaetsklasse.getString()) + ) + ); + } else if (ergebnis.getString().equals("CNV")) { + return Optional.of( + new Variant( + procedure.getId(), + String.format("Copy Number Variation: %s, %s, %s", gene.getString(), exon.getString(), pathogenitaetsklasse.getString()) + ) + ); + } else if (ergebnis.getString().equals("F")) { + return Optional.of( + new Variant( + procedure.getId(), + String.format("Fusion: %s, %s, %s", gene.getString(), exon.getString(), pathogenitaetsklasse.getString()) + ) + ); + } else { + return Optional.empty(); + } + } +} -- cgit v1.2.3 From c45dc8f5df1c9ce5c2ed200ec4a4a368db9861ef Mon Sep 17 00:00:00 2001 From: Paul-Christian Volkmer Date: Tue, 9 May 2023 08:50:47 +0200 Subject: Issue #28: Verwende erforderliche Informationen ohne Zusammenfassung --- src/main/java/DNPM/dto/Variant.java | 49 +++++++++++++++++++++++++++++++------ 1 file changed, 41 insertions(+), 8 deletions(-) (limited to 'src/main/java/DNPM/dto/Variant.java') diff --git a/src/main/java/DNPM/dto/Variant.java b/src/main/java/DNPM/dto/Variant.java index 36788f2..8ebe740 100644 --- a/src/main/java/DNPM/dto/Variant.java +++ b/src/main/java/DNPM/dto/Variant.java @@ -7,22 +7,46 @@ import java.util.Optional; public class Variant { private final Integer id; - private final String shortDescription; + private final String ergebnis; + + private final String gen; + + private final String exon; + + private final String pathogenitaetsklasse; private Variant( final int id, - final String shortDescription + final String ergebnis, + final String gen, + final String exon, + final String pathogenitaetsklasse ) { this.id = id; - this.shortDescription = shortDescription.trim(); + this.ergebnis = ergebnis; + this.gen = gen; + this.exon = exon; + this.pathogenitaetsklasse = pathogenitaetsklasse; } public Integer getId() { return id; } - public String getShortDescription() { - return shortDescription; + public String getErgebnis() { + return ergebnis; + } + + public String getGen() { + return gen; + } + + public String getExon() { + return exon; + } + + public String getPathogenitaetsklasse() { + return pathogenitaetsklasse; } public static Optional fromProcedure(Procedure procedure) { @@ -43,21 +67,30 @@ public class Variant { return Optional.of( new Variant( procedure.getId(), - String.format("Einfache Variante: %s, %s, %s", gene.getString(), exon.getString(), pathogenitaetsklasse.getString()) + "Einfache Variante", + gene.getString(), + exon.getString(), + pathogenitaetsklasse.getString() ) ); } else if (ergebnis.getString().equals("CNV")) { return Optional.of( new Variant( procedure.getId(), - String.format("Copy Number Variation: %s, %s, %s", gene.getString(), exon.getString(), pathogenitaetsklasse.getString()) + "Copy Number Variation", + gene.getString(), + exon.getString(), + pathogenitaetsklasse.getString() ) ); } else if (ergebnis.getString().equals("F")) { return Optional.of( new Variant( procedure.getId(), - String.format("Fusion: %s, %s, %s", gene.getString(), exon.getString(), pathogenitaetsklasse.getString()) + "Fusion", + gene.getString(), + exon.getString(), + pathogenitaetsklasse.getString() ) ); } else { -- cgit v1.2.3 From 2da02d1cf3cbb5d18597e18c2914fc2abe618121 Mon Sep 17 00:00:00 2001 From: Paul-Christian Volkmer Date: Tue, 9 May 2023 14:08:33 +0200 Subject: Issue #28: Erweitere Text für Ergebnis, Exon und Pathogenitätsklasse closes #28 --- src/main/java/DNPM/dto/Variant.java | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) (limited to 'src/main/java/DNPM/dto/Variant.java') diff --git a/src/main/java/DNPM/dto/Variant.java b/src/main/java/DNPM/dto/Variant.java index 8ebe740..f8d25c1 100644 --- a/src/main/java/DNPM/dto/Variant.java +++ b/src/main/java/DNPM/dto/Variant.java @@ -50,7 +50,7 @@ public class Variant { } public static Optional fromProcedure(Procedure procedure) { - if (! "OS.Molekulargenetische Untersuchung".equals(procedure.getFormName())) { + if (!"OS.Molekulargenetische Untersuchung".equals(procedure.getFormName())) { return Optional.empty(); } @@ -67,30 +67,30 @@ public class Variant { return Optional.of( new Variant( procedure.getId(), - "Einfache Variante", - gene.getString(), - exon.getString(), - pathogenitaetsklasse.getString() + "Einfache Variante (Mutation)", + gene.getString().isBlank() ? "-" : gene.getString(), + null == exon || exon.getString().isBlank() ? "-" : exon.getString(), + null == pathogenitaetsklasse || pathogenitaetsklasse.getString().isBlank() ? "-" : pathogenitaetsklasse.getString() ) ); } else if (ergebnis.getString().equals("CNV")) { return Optional.of( new Variant( procedure.getId(), - "Copy Number Variation", - gene.getString(), - exon.getString(), - pathogenitaetsklasse.getString() + "Copy Number Variation (CNV)", + gene.getString().isBlank() ? "-" : gene.getString(), + null == exon || exon.getString().isBlank() ? "-" : exon.getString(), + null == pathogenitaetsklasse || pathogenitaetsklasse.getString().isBlank() ? "-" : pathogenitaetsklasse.getString() ) ); } else if (ergebnis.getString().equals("F")) { return Optional.of( new Variant( procedure.getId(), - "Fusion", - gene.getString(), - exon.getString(), - pathogenitaetsklasse.getString() + "Fusion (Translokation Inversion Insertion)", + gene.getString().isBlank() ? "-" : gene.getString(), + null == exon || exon.getString().isBlank() ? "-" : exon.getString(), + null == pathogenitaetsklasse || pathogenitaetsklasse.getString().isBlank() ? "-" : pathogenitaetsklasse.getString() ) ); } else { -- cgit v1.2.3