Connection details page - camel and aggregation strategies
3 cases:
Doctor exists in GMC and TIS (and gmc details match up) - this works fine
Doctor exists in GMC only - an error is thrown when trying to fetch details for the non existent doctor in TIS
Doctor exists in TIS only - an error is thrown when trying to fetch notes for the non-existent doctor in reval (and would also be thrown when fetching connection history)
Current Operation
Two connection URLS are called on page load
/api/trainee/{gmcId}
- This appears to populate the sidebar/api/connection/{gmcId}
Proposal 1
Proposal 2
Proposal 3
from("direct:trainee")
.multicast(AGGREGATOR)
.parallelProcessing()
.to("direct:trainee-details")
.to("direct:traineenotes-get")
.to("direct:gmc-doctors-by-ids");
from("direct:trainee-details")
.setHeader(OIDC_ACCESS_TOKEN_HEADER).method(keycloakBean, GET_TOKEN_METHOD)
.setHeader("gmcId").method(gmcIdProcessorBean, "getGmcIdOfRecommendationTrainee")
.setHeader(AggregationKey.HEADER).constant("programme")
.toD(serviceUrl + API_TRAINEE);
from("direct:traineenotes-get")
.setHeader(AggregationKey.HEADER).constant("notes")
.toD(coreServiceUrl + API_TRAINEENOTES);
from("direct:gmc-doctors-by-ids")
.setHeader(AggregationKey.HEADER).constant("doctor")
.setHeader("gmcIds").method(gmcIdProcessorBean, "getHiddenGmcIds")
.toD(recommendationServiceUrl + GET_DOCTORS_BY_GMC_IDS);
Slack: https://hee-nhs-tis.slack.com/
Jira issues: https://hee-tis.atlassian.net/issues/?filter=14213