use of se.inera.intyg.clinicalprocess.healthcond.certificate.listrelationsforcertificate.v1.Relation in project drools by kiegroup.
the class RelationConverter method writeChildren.
@Override
protected void writeChildren(HierarchicalStreamWriter writer, MarshallingContext context, Object parent) {
super.writeChildren(writer, context, parent);
Relation r = (Relation) parent;
for (InformationItem c : r.getColumn()) {
writeChildrenNode(writer, context, c, COLUMN);
}
for (org.kie.dmn.model.v1_1.List row : r.getRow()) {
writeChildrenNode(writer, context, row, ROW);
}
}
use of se.inera.intyg.clinicalprocess.healthcond.certificate.listrelationsforcertificate.v1.Relation in project drools by kiegroup.
the class DMNEvaluatorCompiler method compileRelation.
private DMNExpressionEvaluator compileRelation(DMNCompilerContext ctx, DMNModelImpl model, DMNBaseNode node, String relationName, Relation expression) {
Relation relationDef = expression;
DMNRelationEvaluator relationEval = new DMNRelationEvaluator(node.getName(), node.getSource(), relationDef);
for (InformationItem col : relationDef.getColumn()) {
DMNCompilerHelper.checkVariableName(model, col, col.getName());
relationEval.addColumn(col.getName());
}
for (org.kie.dmn.model.v1_1.List row : relationDef.getRow()) {
java.util.List<DMNExpressionEvaluator> values = new ArrayList<>();
for (Expression expr : row.getExpression()) {
values.add(compileExpression(ctx, model, node, relationName, expr));
}
relationEval.addRow(values);
}
return relationEval;
}
use of se.inera.intyg.clinicalprocess.healthcond.certificate.listrelationsforcertificate.v1.Relation in project webcert by sklintyg.
the class IntygRelationHelperImpl method decorateIntygListWithRelations.
@Override
public void decorateIntygListWithRelations(List<ListIntygEntry> fullIntygItemList) {
ListRelationsForCertificateResponseType response = getRelationsFromIntygstjanst(fullIntygItemList.stream().map(ListIntygEntry::getIntygId).collect(Collectors.toList()));
if (response != null) {
// Very ugly, iterate over both lists, find matches and create relation(s) on the ListIntygEntries.
for (IntygRelations ir : response.getIntygRelation()) {
for (ListIntygEntry lie : fullIntygItemList) {
if (lie.getIntygId().equals(ir.getIntygsId().getExtension())) {
// Create a Relations instance to hold relations.
lie.setRelations(new Relations());
// Iterate over all relations for this particular intyg
for (Relation r : ir.getRelation()) {
applyRelation(lie.getIntygId(), lie.getRelations(), r);
}
}
}
}
}
// account.
for (ListIntygEntry lie : fullIntygItemList) {
Relations relations = certificateRelationService.getRelations(lie.getIntygId());
mergeRelations(lie.getRelations(), relations);
}
}
use of se.inera.intyg.clinicalprocess.healthcond.certificate.listrelationsforcertificate.v1.Relation in project webcert by sklintyg.
the class IntygRelationHelperImpl method getRelationsForIntyg.
@Override
public Relations getRelationsForIntyg(String intygId) {
Relations certificateRelations = new Relations();
ListRelationsForCertificateResponseType response = getRelationsFromIntygstjanst(intygId);
// Iterate over all relations fetched from IT, split them up into parent and child relation(s)
response.getIntygRelation().stream().flatMap(ir -> ir.getRelation().stream()).forEach(r -> applyRelation(intygId, certificateRelations, r));
// Enrich with any relations present only in Webcert (e.g. for utkast etc.)
Relations webcertRelations = certificateRelationService.getRelations(intygId);
mergeRelations(certificateRelations, webcertRelations);
return certificateRelations;
}
Aggregations