1
0
mirror of https://github.com/pcvolkmer/onkostar-plugin-dnpm.git synced 2025-07-02 09:12:54 +00:00

Verwende onkostar-plugin-atccodes in Version 0.6.0

This commit is contained in:
2023-05-04 20:41:55 +02:00
parent 4b8d62f7e2
commit 13ba0f902f
2 changed files with 23 additions and 26 deletions

View File

@ -32,24 +32,24 @@ class ConsentManagerService {
+ canApply(Procedure) boolean + canApply(Procedure) boolean
} }
class ConsentManagerServiceFactory { class ConsentManagerServiceFactory {
+ ConsentManagerServiceFactory(IOnkostarApi) + ConsentManagerServiceFactory(IOnkostarApi)
+ currentUsableInstance() ConsentManagerService + currentUsableInstance() ConsentManagerService
} }
class MrConsentManagerService { class MrConsentManagerService {
+ MrConsentManagerService(IOnkostarApi) + MrConsentManagerService(IOnkostarApi)
+ canApply(Procedure) boolean + canApply(Procedure) boolean
+ applyConsent(Procedure) void + applyConsent(Procedure) void
} }
class UkwConsentManagerService { class UkwConsentManagerService {
+ UkwConsentManagerService(IOnkostarApi) + UkwConsentManagerService(IOnkostarApi)
+ canApply(Procedure) boolean + canApply(Procedure) boolean
+ applyConsent(Procedure) void + applyConsent(Procedure) void
} }
ConsentManagerServiceFactory ..> MrConsentManagerService : «create» ConsentManagerServiceFactory ..> MrConsentManagerService : «create»
ConsentManagerServiceFactory ..> UkwConsentManagerService : «create» ConsentManagerServiceFactory ..> UkwConsentManagerService : «create»
MrConsentManagerService ..|> ConsentManagerService MrConsentManagerService ..|> ConsentManagerService
UkwConsentManagerService ..|> ConsentManagerService UkwConsentManagerService ..|> ConsentManagerService
``` ```
Eine Übernahme von Consent-Daten aus unbekannten Formularen ist nur manuell möglich. Eine Übernahme von Consent-Daten aus unbekannten Formularen ist nur manuell möglich.
@ -102,20 +102,20 @@ class MtbService {
+ procedureToProtocolMapper(Procedure) ProcedureToProtocolMapper + procedureToProtocolMapper(Procedure) ProcedureToProtocolMapper
} }
class DefaultMtbService { class DefaultMtbService {
+ DefaultMtbService(IOnkostarApi) + DefaultMtbService(IOnkostarApi)
+ getProtocol(List~Procedure~) String + getProtocol(List~Procedure~) String
+ procedureToProtocolMapper(Procedure) ProcedureToProtocolMapper + procedureToProtocolMapper(Procedure) ProcedureToProtocolMapper
} }
class MrMtbAnmeldungToProtocolMapper { class MrMtbAnmeldungToProtocolMapper {
+ MrMtbAnmeldungToProtocolMapper(IOnkostarApi) + MrMtbAnmeldungToProtocolMapper(IOnkostarApi)
+ apply(Procedure) Optional~String~ + apply(Procedure) Optional~String~
} }
class OsTumorkonferenzToProtocolMapper { class OsTumorkonferenzToProtocolMapper {
+ OsTumorkonferenzToProtocolMapper() + OsTumorkonferenzToProtocolMapper()
+ apply(Procedure) Optional~String~ + apply(Procedure) Optional~String~
} }
class OsTumorkonferenzVarianteUkwToProtocolMapper { class OsTumorkonferenzVarianteUkwToProtocolMapper {
+ OsTumorkonferenzVarianteUkwToProtocolMapper() + OsTumorkonferenzVarianteUkwToProtocolMapper()
+ apply(Procedure) Optional~String~ + apply(Procedure) Optional~String~
} }
class ProcedureToProtocolMapper { class ProcedureToProtocolMapper {
@ -123,13 +123,13 @@ class ProcedureToProtocolMapper {
} }
DefaultMtbService ..|> MtbService DefaultMtbService ..|> MtbService
DefaultMtbService ..> MrMtbAnmeldungToProtocolMapper : «create» DefaultMtbService ..> MrMtbAnmeldungToProtocolMapper : «create»
DefaultMtbService ..> OsTumorkonferenzToProtocolMapper : «create» DefaultMtbService ..> OsTumorkonferenzToProtocolMapper : «create»
DefaultMtbService ..> OsTumorkonferenzVarianteUkwToProtocolMapper : «create» DefaultMtbService ..> OsTumorkonferenzVarianteUkwToProtocolMapper : «create»
MrMtbAnmeldungToProtocolMapper ..|> ProcedureToProtocolMapper MrMtbAnmeldungToProtocolMapper ..|> ProcedureToProtocolMapper
OsTumorkonferenzToProtocolMapper ..|> ProcedureToProtocolMapper OsTumorkonferenzToProtocolMapper ..|> ProcedureToProtocolMapper
OsTumorkonferenzVarianteUkwToProtocolMapper ..|> ProcedureToProtocolMapper OsTumorkonferenzVarianteUkwToProtocolMapper ..|> ProcedureToProtocolMapper
``` ```
Idealerweise werden entsprechende UnitTests hinzugefügt. Idealerweise werden entsprechende UnitTests hinzugefügt.
@ -146,7 +146,7 @@ Laufzeit verwendet werden soll. Der Mapper muss hierbei das Interface `ProzedurT
In der Klasse `DefaultSystemtherapieService` wird zur Laufzeit der erforderliche Mapper für das verwendete Formular ausgewählt. In der Klasse `DefaultSystemtherapieService` wird zur Laufzeit der erforderliche Mapper für das verwendete Formular ausgewählt.
An dieser Stelle kann auch eine eigene Implementierung - eine neue Klasse, die das Interface `ProzedurToProzedurwerteMapper` implementiert - An dieser Stelle kann auch eine eigene Implementierung - eine neue Klasse, die das Interface `ProzedurToProzedurwerteMapper` implementiert -
integriert werden, indem das zu verwendende Formular (Formularname) und die zu verwendende Mapping-Klasse für den Formularnamen angegeben wird. integriert werden, indem das zu verwendende Formular (Formularname) und die zu verwendende Mapping-Klasse für den Formularnamen angegeben wird.
Hierbei kann in der Einstellung `systemtherapieform` festgelegt werden, dass ein anderes Formular als "OS.Systemische Therapie" verwendet werden soll. Hierbei kann in der Einstellung `systemtherapieform` festgelegt werden, dass ein anderes Formular als "OS.Systemische Therapie" verwendet werden soll.
@ -194,7 +194,7 @@ class DemoAnalyzer implements IProcedureAnalyzer {
private final DelegatingDataBasedPermissionEvaluator permissionEvaluator; private final DelegatingDataBasedPermissionEvaluator permissionEvaluator;
private final IOnkostarApi onkostarApi; private final IOnkostarApi onkostarApi;
public DemoAnalyzer( public DemoAnalyzer(
DelegatingDataBasedPermissionEvaluator permissionEvaluator, DelegatingDataBasedPermissionEvaluator permissionEvaluator,
IOnkostarApi onkostarApi IOnkostarApi onkostarApi
@ -202,9 +202,9 @@ class DemoAnalyzer implements IProcedureAnalyzer {
this.permissionEvaluator = permissionEvaluator; this.permissionEvaluator = permissionEvaluator;
this.onkostarApi = onkostarApi; this.onkostarApi = onkostarApi;
} }
// ... übliche Methoden für einen Analyzer // ... übliche Methoden für einen Analyzer
// Beispiel: Gib Formularname zurück, wenn Prozedur mit ID existiert // Beispiel: Gib Formularname zurück, wenn Prozedur mit ID existiert
// und der aufrufende Benutzer lesenden Zugriff auf diese Prozedur hat. // und der aufrufende Benutzer lesenden Zugriff auf diese Prozedur hat.
// Dabei: Zugriff auf Prozedur anhand Personenstamm und Formulartyp // Dabei: Zugriff auf Prozedur anhand Personenstamm und Formulartyp
@ -216,7 +216,7 @@ class DemoAnalyzer implements IProcedureAnalyzer {
} }
var procedure = onkostarApi.getProcedure(procedureId.get()); var procedure = onkostarApi.getProcedure(procedureId.get());
if ( if (
null != procedure null != procedure
&& permissionEvaluator.hasPermission( && permissionEvaluator.hasPermission(
@ -234,7 +234,7 @@ class DemoAnalyzer implements IProcedureAnalyzer {
} }
``` ```
### Prüfung der Berechtigung und Absicherung von Methodenaufrufen ### Prüfung der Berechtigung und Absicherung von Methodenaufrufen
Zusätzlich zur Prüfung mit einem Permisison Evaluator sind, basierend auf Spring AOP, folgende Annotationen verfügbar: Zusätzlich zur Prüfung mit einem Permisison Evaluator sind, basierend auf Spring AOP, folgende Annotationen verfügbar:
@ -325,7 +325,7 @@ werden.
Voraussetzung ist das Kopieren der Datei `onkostar-api-2.11.1.1.jar` (oder neuer) in das Projektverzeichnis `libs`. Voraussetzung ist das Kopieren der Datei `onkostar-api-2.11.1.1.jar` (oder neuer) in das Projektverzeichnis `libs`.
Weiterhin verwendet dieses Plugin das [ATC-Codes-Plugin](https://github.com/CCC-MF/onkostar-plugin-atccodes). Weiterhin verwendet dieses Plugin das [ATC-Codes-Plugin](https://github.com/CCC-MF/onkostar-plugin-atccodes).
Die zugehörige JAR-Datei muss ebenfalls in das Projektverzeichnis `libs` kopiert werden. Aktuell wird Version 0.5.0 verwendet. Die zugehörige JAR-Datei muss ebenfalls in das Projektverzeichnis `libs` kopiert werden. Aktuell wird Version 0.6.0 verwendet.
**_Hinweis_**: Bei Verwendung einer neueren Version der Onkostar-API oder des ATC-Codes-Plugins **_Hinweis_**: Bei Verwendung einer neueren Version der Onkostar-API oder des ATC-Codes-Plugins
muss die Datei `pom.xml` entsprechend angepasst werden. muss die Datei `pom.xml` entsprechend angepasst werden.
@ -335,6 +335,3 @@ Danach Ausführen des Befehls:
```shell ```shell
./mvnw package ./mvnw package
``` ```

View File

@ -30,9 +30,9 @@
<dependency> <dependency>
<groupId>de.ukw</groupId> <groupId>de.ukw</groupId>
<artifactId>onkostar-plugin-atccodes</artifactId> <artifactId>onkostar-plugin-atccodes</artifactId>
<version>0.5.0</version> <version>0.6.0</version>
<scope>system</scope> <scope>system</scope>
<systemPath>${project.basedir}/libs/onkostar-plugin-atccodes-0.5.0.jar</systemPath> <systemPath>${project.basedir}/libs/onkostar-plugin-atccodes-0.6.0.jar</systemPath>
</dependency> </dependency>
<!-- Hibernate --> <!-- Hibernate -->
@ -213,4 +213,4 @@
</plugins> </plugins>
</build> </build>
</project> </project>