Search in sources :

Example 6 with ListRelationsForCertificateResponseType

use of se.inera.intyg.clinicalprocess.healthcond.certificate.listrelationsforcertificate.v1.ListRelationsForCertificateResponseType 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);
    }
}
Also used : ListRelationsForCertificateResponseType(se.inera.intyg.clinicalprocess.healthcond.certificate.listrelationsforcertificate.v1.ListRelationsForCertificateResponseType) WebcertCertificateRelation(se.inera.intyg.webcert.common.model.WebcertCertificateRelation) Relation(se.inera.intyg.clinicalprocess.healthcond.certificate.listrelationsforcertificate.v1.Relation) IntygRelations(se.inera.intyg.clinicalprocess.healthcond.certificate.listrelationsforcertificate.v1.IntygRelations) ListIntygEntry(se.inera.intyg.webcert.web.web.controller.api.dto.ListIntygEntry) Relations(se.inera.intyg.webcert.web.web.controller.api.dto.Relations) IntygRelations(se.inera.intyg.clinicalprocess.healthcond.certificate.listrelationsforcertificate.v1.IntygRelations)

Example 7 with ListRelationsForCertificateResponseType

use of se.inera.intyg.clinicalprocess.healthcond.certificate.listrelationsforcertificate.v1.ListRelationsForCertificateResponseType 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;
}
Also used : ListRelationsForCertificateResponseType(se.inera.intyg.clinicalprocess.healthcond.certificate.listrelationsforcertificate.v1.ListRelationsForCertificateResponseType) ListRelationsForCertificateType(se.inera.intyg.clinicalprocess.healthcond.certificate.listrelationsforcertificate.v1.ListRelationsForCertificateType) CertificateRelationService(se.inera.intyg.webcert.web.service.relation.CertificateRelationService) Autowired(org.springframework.beans.factory.annotation.Autowired) ListRelationsForCertificateResponderInterface(se.inera.intyg.clinicalprocess.healthcond.certificate.listrelationsforcertificate.v1.ListRelationsForCertificateResponderInterface) Collectors(java.util.stream.Collectors) Value(org.springframework.beans.factory.annotation.Value) List(java.util.List) WebcertCertificateRelation(se.inera.intyg.webcert.common.model.WebcertCertificateRelation) Relations(se.inera.intyg.webcert.web.web.controller.api.dto.Relations) UtkastStatus(se.inera.intyg.webcert.common.model.UtkastStatus) IntygRelations(se.inera.intyg.clinicalprocess.healthcond.certificate.listrelationsforcertificate.v1.IntygRelations) Service(org.springframework.stereotype.Service) RelationKod(se.inera.intyg.common.support.common.enumerations.RelationKod) ListIntygEntry(se.inera.intyg.webcert.web.web.controller.api.dto.ListIntygEntry) Collections(java.util.Collections) Relation(se.inera.intyg.clinicalprocess.healthcond.certificate.listrelationsforcertificate.v1.Relation) ListRelationsForCertificateResponseType(se.inera.intyg.clinicalprocess.healthcond.certificate.listrelationsforcertificate.v1.ListRelationsForCertificateResponseType) Relations(se.inera.intyg.webcert.web.web.controller.api.dto.Relations) IntygRelations(se.inera.intyg.clinicalprocess.healthcond.certificate.listrelationsforcertificate.v1.IntygRelations)

Aggregations

ListRelationsForCertificateResponseType (se.inera.intyg.clinicalprocess.healthcond.certificate.listrelationsforcertificate.v1.ListRelationsForCertificateResponseType)7 IntygRelations (se.inera.intyg.clinicalprocess.healthcond.certificate.listrelationsforcertificate.v1.IntygRelations)6 ListRelationsForCertificateType (se.inera.intyg.clinicalprocess.healthcond.certificate.listrelationsforcertificate.v1.ListRelationsForCertificateType)4 Relations (se.inera.intyg.webcert.web.web.controller.api.dto.Relations)4 WebcertCertificateRelation (se.inera.intyg.webcert.common.model.WebcertCertificateRelation)3 Test (org.junit.Test)2 Relation (se.inera.intyg.clinicalprocess.healthcond.certificate.listrelationsforcertificate.v1.Relation)2 ListIntygEntry (se.inera.intyg.webcert.web.web.controller.api.dto.ListIntygEntry)2 Collections (java.util.Collections)1 List (java.util.List)1 Collectors (java.util.stream.Collectors)1 Autowired (org.springframework.beans.factory.annotation.Autowired)1 Value (org.springframework.beans.factory.annotation.Value)1 Service (org.springframework.stereotype.Service)1 ListRelationsForCertificateResponderInterface (se.inera.intyg.clinicalprocess.healthcond.certificate.listrelationsforcertificate.v1.ListRelationsForCertificateResponderInterface)1 RelationKod (se.inera.intyg.common.support.common.enumerations.RelationKod)1 UtkastStatus (se.inera.intyg.webcert.common.model.UtkastStatus)1 CertificateRelationService (se.inera.intyg.webcert.web.service.relation.CertificateRelationService)1 IntygId (se.riv.clinicalprocess.healthcond.certificate.types.v3.IntygId)1