private static PredicateGeneratedElementInstance generateElementInstanceForPredicate( ArchetypeReference ar, OperatorKind op, String idElement, DataValue dv, Guide guide, DateTime dateTime, boolean resolvePredicates) { Collection<RuleReference> previousRuleReferences = new ArrayList<>(); ElementInstance elementInstance = ar.getElementInstancesMap().get(idElement); if (elementInstance instanceof GeneratedElementInstance) { GeneratedElementInstance generatedElementInstance = (GeneratedElementInstance) elementInstance; previousRuleReferences.addAll(generatedElementInstance.getRuleReferences()); } if (dv != null && guide != null && dateTime != null && resolvePredicates) { dv = ElementInstanceCollectionManager.resolvePredicate(dv, op, Collections.singleton(guide), dateTime.toCalendar(Locale.getDefault())); } PredicateGeneratedElementInstance predicateGeneratedElementInstance = new PredicateGeneratedElementInstanceBuilder() .setId(idElement) .setDataValue(dv) .setArchetypeReference(ar) .setOperatorKind(op) .createPredicateGeneratedElementInstance(); predicateGeneratedElementInstance.getRuleReferences().addAll(previousRuleReferences); return predicateGeneratedElementInstance; }
new PredicateGeneratedElementInstanceBuilder() .setId(pgeiPrev.getId()) .setArchetypeReference(pgeiPrev.getArchetypeReference()) .setNullFlavour(OpenEHRConstUI.NULL_FLAVOUR_CODE_NO_INFO) .createPredicateGeneratedElementInstance();
new PredicateGeneratedElementInstanceBuilder() .setId(predicateOriginalEI.getId()) .setDataValue(dv) .setArchetypeReference(arAux) .setOperatorKind(predicateOriginalEI.getOperatorKind()) .createPredicateGeneratedElementInstance(); pgei.setRuleReferences(predicateOriginalEI.getRuleReferences());