diff options
Diffstat (limited to 'src/main/java/DNPM/services/mtb/OsTumorkonferenzToProtocolMapper.java')
| -rw-r--r-- | src/main/java/DNPM/services/mtb/OsTumorkonferenzToProtocolMapper.java | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/src/main/java/DNPM/services/mtb/OsTumorkonferenzToProtocolMapper.java b/src/main/java/DNPM/services/mtb/OsTumorkonferenzToProtocolMapper.java new file mode 100644 index 0000000..6379ecf --- /dev/null +++ b/src/main/java/DNPM/services/mtb/OsTumorkonferenzToProtocolMapper.java @@ -0,0 +1,33 @@ +package DNPM.services.mtb; + +import de.itc.onkostar.api.Procedure; + +import java.util.List; +import java.util.Optional; + +public class OsTumorkonferenzToProtocolMapper implements ProcedureToProtocolMapper { + @Override + public Optional<String> apply(List<Procedure> procedures) { + assert(procedures.size() == 1); + + var procedure = procedures.get(0); + + assert(procedure.getFormName().equals("OS.Tumorkonferenz")); + + var fragestellung = procedure.getValue("Fragestellung"); + var empfehlung = procedure.getValue("Empfehlung"); + + if ( + null != fragestellung && !fragestellung.getString().isBlank() + && null != empfehlung && !empfehlung.getString().isBlank() + ) { + return Optional.of(String.format("Fragestellung:\n%s\n\nEmpfehlung:\n%s", fragestellung.getString(), empfehlung.getString())); + } else if (null != fragestellung && !fragestellung.getString().isBlank()) { + return Optional.of(fragestellung.getString()); + } else if (null != empfehlung && !empfehlung.getString().isBlank()) { + return Optional.of(empfehlung.getString()); + } + + return Optional.empty(); + } +} |
