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
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):
Note that the above is subjected to change, given recent user engagement:
Connections Logic - Discussions with Users
ย
Slack: https://hee-nhs-tis.slack.com/
Jira issues: https://hee-tis.atlassian.net/issues/?filter=14213