agentCodeServices) {
this.agentCodeServices = agentCodeServices;
}
/**
* @deprecated
*/
@Override
public boolean isRelevantForDeletedProcedure() {
return false;
}
@Override
public boolean isRelevantForAnalyzer(Procedure procedure, Disease disease) {
return false;
}
@Override
public boolean isSynchronous() {
return false;
}
@Override
public AnalyzerRequirement getRequirement() {
return AnalyzerRequirement.PROCEDURE;
}
/**
* Return list with ATC codes and agents.
* Usage in script:
*
*
* executePluginMethod(
* 'AtcCodesHelper',
* 'query',
* { q: '', size: 10 },
* function (result) {console.log(result);},
* false
* );
*
*
* @param input The data Map
* @return The result list filtered by input
*/
public List query(final Map input) {
String query = "";
if (null != input.get("q")) {
query = input.get("q").toString();
}
int size = Integer.parseInt(input.get("size").toString());
if (size == 0) {
size = 10;
}
var result = new ArrayList();
for (var agentCodeService : this.agentCodeServices) {
result.addAll(agentCodeService.findAgentCodes(query, size));
}
return result.stream().distinct().sorted().collect(Collectors.toList());
}
}