OS API version 2.12.1 or newer fixes the issue of not using patient ID when adding
patient object to procedure.
Since this version, a NPE will occur of not providing a patient ID when adding a
patient object to a procedure.
Bei Verwendung des Plugins in einer alten Onkostar-Installation kam es bei
verwendung von AOP zu Problemen, daher wird die verwendung von AOP vorerst
deaktiviert und grundsätzlich eine programmatische Berechtigungsprüfung
durchgeführt.
Dies verhindert Zugriff auf den Protokollauszug beliebiger MTB-Formulare durch
"Erraten" von IDs.
Liegt keine Berechtigung für das Therapieplan-Formular (mit gegebener ID) vor,
können auch keine referenzierten MTB-Formulare abgerufen und deren Inhalt für
den Protokollauszug verwendet werden.
Dieser PermissionEvaluator delegiert die einzelnen Prüfungen an PermissionEvaluatoren
welche `AbstractDelegatedPermissionEvaluator` erweitern.
Nur, wenn all diese PermissionEvaluatoren die Berechtigung erfolgreich geprüft haben,
gibt dieser PermissionEvaluator ein positives Prüfungsergebnis zurück.
Diese zusätzliche Prüfung ermöglicht die Erkennung, ob der aktuell ausgewählte
ConsentManagerService die entsprechende Prozedur bearbeiten und Consent-Daten
in das Formular "DNPM-Klinik/Anamnese" übernehmen kann.
Die Standardimplementierung prüft dabei nur, ob die Prozedur nicht `null` ist.
Zum Ausführen dieser Tests musste in der Onkostar-API fehlende Funktionalität für das
ObjectMapping in JSON nachgebildet werden. Hierzu wurden zwei Dummy-Klassen angelegt,
die jeweils `null` zurückgeben. Ohne diese Klassen und Methoden, welche in der OS-API
referenziert werden, ist ein Ausführen der Tests nicht möglich und es werden eine
ClassNotFoundException bzw. MethodNotFoundException geworfen.
Dies verhindert einen möglichen Fehler für den Fall, dass die Onkostar-API
beim Abrufen der ProzedurID des referenzierten Formulars `null` zurückgibt.
closes #16
Aktuell sind nur die beiden Formulare
* OS.Systemische Therapie
* OS.Systemische Therapie.VarianteUKW
bekannt. Beide lassen sich über den extrahierten Mapper in eine Map mit
Prozedurwerten mappen.