1
0
mirror of https://github.com/pcvolkmer/onkostar-plugin-dnpm.git synced 2025-07-02 01:02:55 +00:00
Files
onkostar-plugin-dnpm/src/main/java/dev/dnpm/services/molekulargenetik/OsMolekulargenetikFormService.java

46 lines
1.5 KiB
Java

package dev.dnpm.services.molekulargenetik;
import dev.dnpm.dto.Variant;
import de.itc.onkostar.api.Procedure;
import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors;
public class OsMolekulargenetikFormService implements MolekulargenetikFormService {
/**
* Ermittelt alle (unterstützten) Varianten zur Prozedur eines Formulars "OS.Molekulargenetik" (oder Variante)
* Unterstützte Varianten sind:
* <uL>
* <li>Einfache Variante
* <li>CNV
* <li>Fusion
* @param procedure Die Prozedur zum Formular "OS.Molekulargenetik" (oder Variante)
* @return Die unterstützten Varianten oder eine leere Liste, wenn keine Varianten gefunden wurden.
*/
@Override
public List<Variant> getVariants(Procedure procedure) {
if (! procedureWithUsableFormVariant(procedure)) {
return List.of();
}
var subforms = procedure.getSubProceduresMap().get("MolekulargenetischeUntersuchung");
if (null == subforms) {
return List.of();
}
return subforms.stream()
.map(Variant::fromProcedure)
.filter(Optional::isPresent)
.map(Optional::get)
.collect(Collectors.toList());
}
private boolean procedureWithUsableFormVariant(Procedure procedure) {
return "OS.Molekulargenetik".equals(procedure.getFormName())
|| "UKER.Molekulargenetik".equals(procedure.getFormName());
}
}