public boolean evaluateSlicingExpression(ValidatorHostContext hostContext, Element element, String path, StructureDefinition profile, ExpressionNode n) throws FHIRException { String msg; boolean ok; try { long t = System.nanoTime(); ok = fpe.evaluateToBoolean(hostContext, hostContext.resource, element, n); fpeTime = fpeTime + (System.nanoTime() - t); msg = fpe.forLog(); } catch (Exception ex) { ex.printStackTrace(); throw new FHIRException("Problem evaluating slicing expression for element in profile " + profile.getUrl() + " path " + path + " (fhirPath = "+n+"): " + ex.getMessage()); } return ok; }
@Override public void evaluate(StringBuilder b, Resource resource, LiquidEngineContext ctxt) throws FHIRException { if (compiled == null) compiled = engine.parse(condition); boolean ok = engine.evaluateToBoolean(ctxt, resource, resource, compiled); List<LiquidNode> list = ok ? thenBody : elseBody; for (LiquidNode n : list) { n.evaluate(b, resource, ctxt); } } }
private List<Resource> filterResources(Argument fhirpath, List<Resource> list) throws EGraphQLException, FHIRException { List<Resource> result = new ArrayList<Resource>(); if (list.size() > 0) { if ((fhirpath == null)) for (Resource v : list) result.add(v); else { FHIRPathEngine fpe = new FHIRPathEngine(context); ExpressionNode node = fpe.parse(getSingleValue(fhirpath)); for (Resource v : list) if (fpe.evaluateToBoolean(null, v, v, node)) result.add(v); } } return result; }
ExpressionNode node = fpe.parse(fp.toString().substring(5)); for (Base v : values) { if ((i >= offset) && passesExtensionMode(v, extensionMode) && fpe.evaluateToBoolean(null, context, v, node)) { result.add(v); t++;
private List<Resource> filterResources(Argument fhirpath, Bundle bnd) throws EGraphQLException, FHIRException { List<Resource> result = new ArrayList<Resource>(); if (bnd.getEntry().size() > 0) { if ((fhirpath == null)) for (BundleEntryComponent be : bnd.getEntry()) result.add(be.getResource()); else { FHIRPathEngine fpe = new FHIRPathEngine(context); ExpressionNode node = fpe.parse(getSingleValue(fhirpath)); for (BundleEntryComponent be : bnd.getEntry()) if (fpe.evaluateToBoolean(null, be.getResource(), be.getResource(), node)) result.add(be.getResource()); } } return result; }
if (!fpe.evaluateToBoolean(vars, null, item, expr)) { log(indent+" condition ["+src.getCondition()+"] for "+item.toString()+" : false"); remove.add(item); if (!fpe.evaluateToBoolean(vars, null, item, expr)) throw new FHIRException("Rule \""+ruleId+"\": Check condition failed");
try { long t = System.nanoTime(); ok = fpe.evaluateToBoolean(hostContext, resource, element, n); fpeTime = fpeTime + (System.nanoTime() - t); msg = fpe.forLog();
public boolean evaluateSlicingExpression(ValidatorHostContext hostContext, Element element, String path, StructureDefinition profile, ExpressionNode n) throws FHIRException { String msg; boolean ok; try { long t = System.nanoTime(); ok = fpe.evaluateToBoolean(hostContext, hostContext.resource, element, n); fpeTime = fpeTime + (System.nanoTime() - t); msg = fpe.forLog(); } catch (Exception ex) { ex.printStackTrace(); throw new FHIRException("Problem evaluating slicing expression for element in profile " + profile.getUrl() + " path " + path + " (fhirPath = "+n+"): " + ex.getMessage()); } return ok; }
private List<Resource> filterResources(Argument fhirpath, List<Resource> list) throws EGraphQLException, FHIRException { List<Resource> result = new ArrayList<Resource>(); if (list.size() > 0) { if ((fhirpath == null)) for (Resource v : list) result.add(v); else { FHIRPathEngine fpe = new FHIRPathEngine(context); ExpressionNode node = fpe.parse(getSingleValue(fhirpath)); for (Resource v : list) if (fpe.evaluateToBoolean(null, v, v, node)) result.add(v); } } return result; }
@Override public void evaluate(StringBuilder b, Resource resource, LiquidEngineContext ctxt) throws FHIRException { if (compiled == null) compiled = engine.parse(condition); boolean ok = engine.evaluateToBoolean(ctxt, resource, resource, compiled); List<LiquidNode> list = ok ? thenBody : elseBody; for (LiquidNode n : list) { n.evaluate(b, resource, ctxt); } } }
ExpressionNode node = fpe.parse(fp.toString().substring(5)); for (Base v : values) { if ((i >= offset) && passesExtensionMode(v, extensionMode) && fpe.evaluateToBoolean(null, context, v, node)) { result.add(v); t++;
private List<Resource> filterResources(Argument fhirpath, Bundle bnd) throws EGraphQLException, FHIRException { List<Resource> result = new ArrayList<Resource>(); if (bnd.getEntry().size() > 0) { if ((fhirpath == null)) for (BundleEntryComponent be : bnd.getEntry()) result.add(be.getResource()); else { FHIRPathEngine fpe = new FHIRPathEngine(context); ExpressionNode node = fpe.parse(getSingleValue(fhirpath)); for (BundleEntryComponent be : bnd.getEntry()) if (fpe.evaluateToBoolean(null, be.getResource(), be.getResource(), node)) result.add(be.getResource()); } } return result; }
if (!fpe.evaluateToBoolean(vars, null, item, expr)) { log(indent+" condition ["+src.getCondition()+"] for "+item.toString()+" : false"); remove.add(item); if (!fpe.evaluateToBoolean(vars, null, item, expr)) throw new FHIRException("Rule \""+ruleId+"\": Check condition failed");
try { long t = System.nanoTime(); ok = fpe.evaluateToBoolean(hostContext, resource, element, n); fpeTime = fpeTime + (System.nanoTime() - t); msg = fpe.forLog();