private Color getArchetypeNodeColor(ArchetypeBinding archetypeBinding) { String domain = archetypeBinding.getDomain(); if (Domains.CDS_ID.equals(domain)) { return new Color(153, 153, 255); } else if (Domains.EHR_ID.equals(domain)) { return new Color(255, 255, 153); } else { return new Color(255, 153, 255); } }
private String getArchetypeKey(ArchetypeBinding archetypeBinding) { return archetypeBinding.getDomain() + "|" + archetypeBinding.getArchetypeId() + archetypeBinding.getTemplateId(); }
public static Map<String, String> getGtCodeElementIdMap(Guide guide, String domainId) { Map<String, String> gtCodeElementIdMap = new HashMap<>(); if (guide.getDefinition() == null || guide.getDefinition().getArchetypeBindings() == null) { return gtCodeElementIdMap; } for (ArchetypeBinding archetypeBinding : guide.getDefinition().getArchetypeBindings().values()) { if (domainId == null || archetypeBinding.getDomain() == null || domainId.equals(archetypeBinding.getDomain())) { for (ElementBinding elementBinding : archetypeBinding.getElements().values()) { gtCodeElementIdMap.put(elementBinding.getId(), archetypeBinding.getArchetypeId() + elementBinding.getPath()); } } } return gtCodeElementIdMap; } }
private void generateArchetypeNodes(Guide guide) { for (ArchetypeBinding archetypeBinding : guide.getDefinition().getArchetypeBindings().values()) { String archetypeKey = getArchetypeKey(archetypeBinding); String label = archetypeBinding.getDomain() + " | " + archetypeBinding.getArchetypeId(); Color archetypeBindingColor = getArchetypeNodeColor(archetypeBinding); GraphNode archetypeNode = new GraphNodeBuilder() .setLabel(label) .setShape(GraphNode.Shape.RECTANGLE) .setFillColor(archetypeBindingColor) .createGraphNode(); getArchetypeNodesMap().put(archetypeKey, archetypeNode); } }
private void generateGtCodeMapForArchetypeBinding(ArchetypeBinding archetypeBinding) throws InternalErrorException { ArchetypeInstantiationRuleLine airl = new ArchetypeInstantiationRuleLine(); airl.setReadableGuide(readableGuide); airl.setGTCode(archetypeBinding.getId()); ArchetypeReference ar = new ArchetypeReference( archetypeBinding.getDomain(), archetypeBinding.getArchetypeId(), archetypeBinding.getTemplateId()); airl.setArchetypeReference(ar); gtCodeElementMap.put(archetypeBinding.getId(), airl); if (archetypeBinding.getElements() != null) { for (ElementBinding elementBinding : archetypeBinding.getElements().values()) { generateGTCodeMapForElementBinding(archetypeBinding, airl, elementBinding); } } }
private static GeneratedArchetypeReference getGeneratedArchetypeReference( ArchetypeBinding archetypeBinding, String guideId, Guide guide, DateTime dateTime, boolean resolvePredicates) { GeneratedArchetypeReference ar = new GeneratedArchetypeReference( archetypeBinding.getDomain(), archetypeBinding.getArchetypeId(), archetypeBinding.getTemplateId()); if (archetypeBinding.getElements() != null) { for (ElementBinding elementBinding : archetypeBinding.getElements().values()) { String idElement = archetypeBinding.getArchetypeId() + elementBinding.getPath(); GeneratedElementInstance gei = new GeneratedElementInstance( idElement, null, ar, null, NULL_FLAVOUR_CODE_NO_INFO); gei.getRuleReferences().add(new RuleReference(guideId, elementBinding.getId())); } } generatePredicateElements(archetypeBinding, ar, guideId, guide, dateTime, resolvePredicates); return ar; }