summaryrefslogtreecommitdiff
path: root/src/main/java/DNPM/services/mtb/DefaultMtbService.java
blob: bc9d5401cc703d0f6fcc29e36950f3c56d221c7a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
package DNPM.services.mtb;

import DNPM.services.SettingsService;
import de.itc.onkostar.api.Procedure;

import java.util.List;

public class DefaultMtbService implements MtbService {

    private final SettingsService settingsService;

    public DefaultMtbService(final SettingsService settingsService) {
        this.settingsService = settingsService;
    }

    @Override
    public String getProtocol(List<Procedure> procedures) {
        ProcedureToProtocolMapper mapper = null;
        var sid = settingsService.getSID();

        if (sid.isPresent()) {
            switch (sid.get()) {
                case "2011":
                case "20119":
                    mapper = new OsTumorkonferenzVarianteUkwToProtocolMapper();
                default:
                    if (!settingsService.multipleMtbsInMtbEpisode()) {
                        mapper = new OsTumorkonferenzToProtocolMapper();
                    }
            }
        }

        if (null == mapper) {
            return "";
        }

        return mapper.apply(procedures).orElse("");
    }

}