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);
Add Comment