Connections - how is current status determined?

TEXT IN RED MAY BE OUT OF DATE OR INCORRECT

Recommended Reading:

Connections Logic - Discussions with Users
Connections Data Models

Elasticsearch

GMCโ€™s API

The GMC provide the following methods pertaining to connections:

  • TryAddDoctor

  • TryRemoveDoctor

  • GetDoctorsForDB

There is no โ€œget connection statusโ€ or โ€œget connection historyโ€ type API, all information about connection status and connection history must be inferred.

The GetDoctorsForDB endpoint has the following description:

This method has been designed to be used to get a snapshot of the doctors (and their submission dates), which are connected to a designated body at a point in time. Depending upon the number of doctors connected to the requesting designated body, this web service may return a large number of records.

Therefore from the overnight sync job we only get a snapshot of current connections from GMCโ€™s point of view. Any disconnections that may have occurred from outside of our system would have to be inferred by a negative (โ€œif doctor not in this listโ€) - this is potentially partially implemented via the โ€œhide all doctorsโ€ step of the overnight sync job - but this only sets a flag to hide/show in the recommendations list, it does not alter the connection status.

TIS Change Data Capture

The connections microservice also receives data from TIS via the CDC system based on application events.

The following logic is currently implemented (as of 23/08/2022):

  • If curriculum membership is null - disconnected

  • if programme membership is null (or pm dates are null) - disconnected

  • if programme start date is after today - disconnected

  • if programme end date is before today - disconnected

  • Otherwise - connected

Source (note that this logic is implemented in TCS, not connection service):

TIS-TCS/tcs-service/src/main/java/com/transformuk/hee/tis/tcs/service/service/impl/RevalidationServiceImpl.java at 3376f73615b12ccf4c80576cc3dc68239cdc292f ยท Health-Education-England/TIS-TCS

Note that the above is subjected to change, given recent user engagement:

Connections Logic - Discussions with Users

ย