mirror of
https://github.com/pcvolkmer/onkostar-plugin-dnpm.git
synced 2025-07-02 01:02:55 +00:00
Merge pull request #43 from CCC-MF/issue_42
Issue #42: Vereinheitlichung der Analyzer-Klassen des Plugins
This commit is contained in:
12
src/main/java/DNPM/analyzer/Analyzer.java
Normal file
12
src/main/java/DNPM/analyzer/Analyzer.java
Normal file
@ -0,0 +1,12 @@
|
||||
package DNPM.analyzer;
|
||||
|
||||
import de.itc.onkostar.api.analysis.OnkostarPluginType;
|
||||
|
||||
public abstract class Analyzer implements IPluginPart {
|
||||
|
||||
@Override
|
||||
public final OnkostarPluginType getType() {
|
||||
return OnkostarPluginType.ANALYZER;
|
||||
}
|
||||
|
||||
}
|
25
src/main/java/DNPM/analyzer/BackendService.java
Normal file
25
src/main/java/DNPM/analyzer/BackendService.java
Normal file
@ -0,0 +1,25 @@
|
||||
package DNPM.analyzer;
|
||||
|
||||
import de.itc.onkostar.api.Disease;
|
||||
import de.itc.onkostar.api.Procedure;
|
||||
import de.itc.onkostar.api.analysis.OnkostarPluginType;
|
||||
|
||||
public abstract class BackendService implements IPluginPart {
|
||||
|
||||
@Override
|
||||
public final OnkostarPluginType getType() {
|
||||
return OnkostarPluginType.BACKEND_SERVICE;
|
||||
}
|
||||
|
||||
/**
|
||||
* Ein Backend-Service verwendet die Methode nicht, daher wird hier eine final Stub-Implementierung
|
||||
* verwendet, die ein Überschreiben verhindert.
|
||||
* @param procedure
|
||||
* @param disease
|
||||
*/
|
||||
@Override
|
||||
public final void analyze(Procedure procedure, Disease disease) {
|
||||
// No op
|
||||
}
|
||||
|
||||
}
|
@ -1,16 +1,14 @@
|
||||
package DNPM;
|
||||
package DNPM.analyzer;
|
||||
|
||||
import DNPM.services.consent.ConsentManagerServiceFactory;
|
||||
import de.itc.onkostar.api.Disease;
|
||||
import de.itc.onkostar.api.IOnkostarApi;
|
||||
import de.itc.onkostar.api.Procedure;
|
||||
import de.itc.onkostar.api.analysis.AnalyzerRequirement;
|
||||
import de.itc.onkostar.api.analysis.IProcedureAnalyzer;
|
||||
import de.itc.onkostar.api.analysis.OnkostarPluginType;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
public class ConsentManager implements IProcedureAnalyzer {
|
||||
public class ConsentManager extends Analyzer {
|
||||
|
||||
private final Logger logger = LoggerFactory.getLogger(this.getClass());
|
||||
|
||||
@ -31,26 +29,11 @@ public class ConsentManager implements IProcedureAnalyzer {
|
||||
return "Aktualisiert Consent Daten in verknüpften Formularen";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return "Consent Manager";
|
||||
}
|
||||
|
||||
@Override
|
||||
public AnalyzerRequirement getRequirement() {
|
||||
return AnalyzerRequirement.PROCEDURE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public OnkostarPluginType getType() {
|
||||
return OnkostarPluginType.ANALYZER;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getVersion() {
|
||||
return "0.3.0";
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isRelevantForAnalyzer(Procedure prozedur, Disease erkrankung) {
|
||||
return prozedur.getFormName().equals(onkostarApi.getGlobalSetting("consentform"));
|
@ -1,6 +1,6 @@
|
||||
package DNPM;
|
||||
package DNPM.analyzer;
|
||||
|
||||
import DNPM.analyzer.AnalyzerUtils;
|
||||
import DNPM.VerweisVon;
|
||||
import DNPM.security.IllegalSecuredObjectAccessException;
|
||||
import DNPM.security.PermissionType;
|
||||
import DNPM.security.PersonPoolBasedPermissionEvaluator;
|
||||
@ -11,8 +11,6 @@ import de.itc.onkostar.api.Disease;
|
||||
import de.itc.onkostar.api.IOnkostarApi;
|
||||
import de.itc.onkostar.api.Procedure;
|
||||
import de.itc.onkostar.api.analysis.AnalyzerRequirement;
|
||||
import de.itc.onkostar.api.analysis.IProcedureAnalyzer;
|
||||
import de.itc.onkostar.api.analysis.OnkostarPluginType;
|
||||
import org.hibernate.SQLQuery;
|
||||
import org.hibernate.Session;
|
||||
import org.hibernate.SessionFactory;
|
||||
@ -27,7 +25,7 @@ import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public class DNPMHelper implements IProcedureAnalyzer {
|
||||
public class DNPMHelper extends BackendService {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(DNPMHelper.class);
|
||||
|
||||
@ -41,29 +39,12 @@ public class DNPMHelper implements IProcedureAnalyzer {
|
||||
final IOnkostarApi onkostarApi,
|
||||
final SystemtherapieService systemtherapieService,
|
||||
final PersonPoolBasedPermissionEvaluator permissionEvaluator
|
||||
) {
|
||||
) {
|
||||
this.onkostarApi = onkostarApi;
|
||||
this.systemtherapieService = systemtherapieService;
|
||||
this.personPoolBasedPermissionEvaluator = permissionEvaluator;
|
||||
}
|
||||
|
||||
@Override
|
||||
public OnkostarPluginType getType() {
|
||||
// Typ des Plugins
|
||||
// Für das Interface IProcedureAnalyzer gültig sind ANALYZER und BACKEND_SERVICE
|
||||
return OnkostarPluginType.BACKEND_SERVICE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getVersion() {
|
||||
return "0.4.0";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return "UMR DNPM";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getDescription() {
|
||||
return "Methoden für DNPM-Formulare";
|
||||
@ -90,11 +71,6 @@ public class DNPMHelper implements IProcedureAnalyzer {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void analyze(Procedure entry, Disease currentDisease) {
|
||||
// wird nicht benötigt, da dass Plugin nicht ausgeführt wird
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<Map<String, String>> getVerweise(final Map<String, Object> input) {
|
||||
var procedureId = AnalyzerUtils.getRequiredId(input, "ProcedureId");
|
@ -10,8 +10,6 @@ import de.itc.onkostar.api.Disease;
|
||||
import de.itc.onkostar.api.IOnkostarApi;
|
||||
import de.itc.onkostar.api.Procedure;
|
||||
import de.itc.onkostar.api.analysis.AnalyzerRequirement;
|
||||
import de.itc.onkostar.api.analysis.IProcedureAnalyzer;
|
||||
import de.itc.onkostar.api.analysis.OnkostarPluginType;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.security.core.context.SecurityContextHolder;
|
||||
@ -26,7 +24,7 @@ import java.util.Map;
|
||||
* @since 0.2.0
|
||||
*/
|
||||
@Component
|
||||
public class EinzelempfehlungAnalyzer implements IProcedureAnalyzer {
|
||||
public class EinzelempfehlungAnalyzer extends BackendService {
|
||||
|
||||
private final static Logger logger = LoggerFactory.getLogger(EinzelempfehlungAnalyzer.class);
|
||||
|
||||
@ -50,21 +48,6 @@ public class EinzelempfehlungAnalyzer implements IProcedureAnalyzer {
|
||||
this.permissionEvaluator = permissionEvaluator;
|
||||
}
|
||||
|
||||
@Override
|
||||
public OnkostarPluginType getType() {
|
||||
return OnkostarPluginType.BACKEND_SERVICE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getVersion() {
|
||||
return "0.4.0";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return "DNPM Einzelempfehlung Backend Service";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getDescription() {
|
||||
return "Stellt Funktionen zur Nutzung im Therapieplan-Unterformular für Einzelempfehlungen bereit";
|
||||
@ -93,11 +76,6 @@ public class EinzelempfehlungAnalyzer implements IProcedureAnalyzer {
|
||||
return AnalyzerRequirement.PROCEDURE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void analyze(Procedure procedure, Disease disease) {
|
||||
// No op
|
||||
}
|
||||
|
||||
public List<Variant> getVariants(Map<String, Object> input) {
|
||||
var procedureId = AnalyzerUtils.getRequiredId(input, "id");
|
||||
|
||||
|
@ -6,8 +6,6 @@ import de.itc.onkostar.api.Item;
|
||||
import de.itc.onkostar.api.Procedure;
|
||||
import de.itc.onkostar.api.analysis.AnalyseTriggerEvent;
|
||||
import de.itc.onkostar.api.analysis.AnalyzerRequirement;
|
||||
import de.itc.onkostar.api.analysis.IProcedureAnalyzer;
|
||||
import de.itc.onkostar.api.analysis.OnkostarPluginType;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.stereotype.Component;
|
||||
@ -20,7 +18,7 @@ import java.util.Set;
|
||||
* @since 0.0.2
|
||||
*/
|
||||
@Component
|
||||
public class FollowUpAnalyzer implements IProcedureAnalyzer {
|
||||
public class FollowUpAnalyzer extends Analyzer {
|
||||
|
||||
private final Logger logger = LoggerFactory.getLogger(this.getClass());
|
||||
|
||||
@ -30,21 +28,6 @@ public class FollowUpAnalyzer implements IProcedureAnalyzer {
|
||||
this.onkostarApi = onkostarApi;
|
||||
}
|
||||
|
||||
@Override
|
||||
public OnkostarPluginType getType() {
|
||||
return OnkostarPluginType.ANALYZER;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getVersion() {
|
||||
return "0.4.0";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return "DNPM FollowUp Analyzer";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getDescription() {
|
||||
return "Aktualisiert verknüpfte Formulare nach Änderungen im FollowUp-Formular";
|
||||
|
19
src/main/java/DNPM/analyzer/IPluginPart.java
Normal file
19
src/main/java/DNPM/analyzer/IPluginPart.java
Normal file
@ -0,0 +1,19 @@
|
||||
package DNPM.analyzer;
|
||||
|
||||
import de.itc.onkostar.api.analysis.IProcedureAnalyzer;
|
||||
|
||||
public interface IPluginPart extends IProcedureAnalyzer {
|
||||
|
||||
default String getVersion() {
|
||||
return "0.4.0";
|
||||
}
|
||||
|
||||
default String getName() {
|
||||
return "DNPM Plugin";
|
||||
}
|
||||
|
||||
default String getDescription() {
|
||||
return String.format("Plugin-Bestandteil '%s'", this.getClass().getSimpleName());
|
||||
}
|
||||
|
||||
}
|
@ -1,12 +1,9 @@
|
||||
package DNPM;
|
||||
package DNPM.analyzer;
|
||||
|
||||
import DNPM.analyzer.AnalyzerUtils;
|
||||
import de.itc.onkostar.api.Disease;
|
||||
import de.itc.onkostar.api.IOnkostarApi;
|
||||
import de.itc.onkostar.api.Procedure;
|
||||
import de.itc.onkostar.api.analysis.AnalyzerRequirement;
|
||||
import de.itc.onkostar.api.analysis.IProcedureAnalyzer;
|
||||
import de.itc.onkostar.api.analysis.OnkostarPluginType;
|
||||
import org.hibernate.SQLQuery;
|
||||
import org.hibernate.Session;
|
||||
import org.hibernate.SessionFactory;
|
||||
@ -17,7 +14,7 @@ import org.slf4j.LoggerFactory;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public class Merkmalskatalog implements IProcedureAnalyzer {
|
||||
public class Merkmalskatalog extends BackendService {
|
||||
|
||||
private final Logger logger = LoggerFactory.getLogger(this.getClass());
|
||||
|
||||
@ -27,21 +24,6 @@ public class Merkmalskatalog implements IProcedureAnalyzer {
|
||||
this.onkostarApi = onkostarApi;
|
||||
}
|
||||
|
||||
@Override
|
||||
public OnkostarPluginType getType() {
|
||||
return OnkostarPluginType.BACKEND_SERVICE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getVersion() {
|
||||
return "0.3.0";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return "UMR Merkmalskatalog";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getDescription() {
|
||||
return "Methoden für Merkmalskataloge";
|
||||
@ -67,10 +49,6 @@ public class Merkmalskatalog implements IProcedureAnalyzer {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void analyze(Procedure procedure, Disease disease) {
|
||||
}
|
||||
|
||||
public List<String[]> getMerkmalskatalog(final Map<String, Object> input) {
|
||||
var merkmalskatalog = AnalyzerUtils.getRequiredValue(input, "Merkmalskatalog", String.class);
|
||||
var spalten = AnalyzerUtils.getRequiredValue(input, "Spalten", String.class);
|
@ -7,8 +7,6 @@ import de.itc.onkostar.api.Item;
|
||||
import de.itc.onkostar.api.Procedure;
|
||||
import de.itc.onkostar.api.analysis.AnalyseTriggerEvent;
|
||||
import de.itc.onkostar.api.analysis.AnalyzerRequirement;
|
||||
import de.itc.onkostar.api.analysis.IProcedureAnalyzer;
|
||||
import de.itc.onkostar.api.analysis.OnkostarPluginType;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.stereotype.Component;
|
||||
@ -25,7 +23,7 @@ import java.util.stream.Collectors;
|
||||
* @since 0.4.0
|
||||
*/
|
||||
@Component
|
||||
public class SystemtherapieAnalyzer implements IProcedureAnalyzer {
|
||||
public class SystemtherapieAnalyzer extends Analyzer {
|
||||
|
||||
private final Logger logger = LoggerFactory.getLogger(this.getClass());
|
||||
|
||||
@ -41,21 +39,6 @@ public class SystemtherapieAnalyzer implements IProcedureAnalyzer {
|
||||
this.systemtherapieService = systemtherapieService;
|
||||
}
|
||||
|
||||
@Override
|
||||
public OnkostarPluginType getType() {
|
||||
return OnkostarPluginType.ANALYZER;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getVersion() {
|
||||
return "0.4.0";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return "DNPM Systemtherapie Analyzer";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getDescription() {
|
||||
return "Aktualisiert verknüpfte Formulare nach Änderungen im Formularen vom Typ Systemtherapie";
|
||||
|
@ -8,8 +8,6 @@ import de.itc.onkostar.api.Disease;
|
||||
import de.itc.onkostar.api.Procedure;
|
||||
import de.itc.onkostar.api.analysis.AnalyseTriggerEvent;
|
||||
import de.itc.onkostar.api.analysis.AnalyzerRequirement;
|
||||
import de.itc.onkostar.api.analysis.IProcedureAnalyzer;
|
||||
import de.itc.onkostar.api.analysis.OnkostarPluginType;
|
||||
import org.springframework.security.core.context.SecurityContextHolder;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
@ -22,7 +20,7 @@ import java.util.Set;
|
||||
* @since 0.0.2
|
||||
*/
|
||||
@Component
|
||||
public class TherapieplanAnalyzer implements IProcedureAnalyzer {
|
||||
public class TherapieplanAnalyzer extends Analyzer {
|
||||
|
||||
private final TherapieplanServiceFactory therapieplanServiceFactory;
|
||||
|
||||
@ -40,21 +38,6 @@ public class TherapieplanAnalyzer implements IProcedureAnalyzer {
|
||||
this.permissionEvaluator = permissionEvaluator;
|
||||
}
|
||||
|
||||
@Override
|
||||
public OnkostarPluginType getType() {
|
||||
return OnkostarPluginType.ANALYZER;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getVersion() {
|
||||
return "0.4.0";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return "DNPM Therapieplan Analyzer";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getDescription() {
|
||||
return "Aktualisiert Unterformulare nach Änderungen im Therapieplan-Formular";
|
||||
|
@ -10,14 +10,14 @@
|
||||
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd
|
||||
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.1.xsd">
|
||||
|
||||
<bean id="DNPMHelper" class="DNPM.DNPMHelper">
|
||||
<bean id="DNPMHelper" class="DNPM.analyzer.DNPMHelper">
|
||||
<constructor-arg ref="localOnkostarApi" />
|
||||
<constructor-arg ref="systemtherapieService" />
|
||||
</bean>
|
||||
<bean id="Merkmalskatalog" class="DNPM.Merkmalskatalog">
|
||||
<bean id="Merkmalskatalog" class="DNPM.analyzer.Merkmalskatalog">
|
||||
<constructor-arg ref="localOnkostarApi" />
|
||||
</bean>
|
||||
<bean id="ConsentManager" class="DNPM.ConsentManager">
|
||||
<bean id="ConsentManager" class="DNPM.analyzer.ConsentManager">
|
||||
<constructor-arg ref="localOnkostarApi" />
|
||||
<constructor-arg ref="consentManagerServiceFactory" />
|
||||
</bean>
|
||||
|
@ -1,5 +1,6 @@
|
||||
package DNPM;
|
||||
|
||||
import DNPM.analyzer.ConsentManager;
|
||||
import DNPM.services.consent.ConsentManagerServiceFactory;
|
||||
import DNPM.services.consent.MrConsentManagerService;
|
||||
import de.itc.onkostar.api.IOnkostarApi;
|
||||
|
@ -1,5 +1,6 @@
|
||||
package DNPM;
|
||||
|
||||
import DNPM.analyzer.DNPMHelper;
|
||||
import DNPM.security.IllegalSecuredObjectAccessException;
|
||||
import DNPM.security.PermissionType;
|
||||
import DNPM.security.PersonPoolBasedPermissionEvaluator;
|
||||
|
@ -1,5 +1,6 @@
|
||||
package DNPM;
|
||||
|
||||
import DNPM.analyzer.Merkmalskatalog;
|
||||
import de.itc.onkostar.api.IOnkostarApi;
|
||||
import org.hibernate.SQLQuery;
|
||||
import org.hibernate.Session;
|
||||
|
Reference in New Issue
Block a user