Summary:
Condensed logic for Connections
...
Programme Memberships (DBC) do not match - 3,4,5,6,7 (Condition:
WHERE designatedBody != tcsDesignatedBody
)
ORProgramme Membership issue (expired or concurrent) 11, 12, 13, 15 (Condition:
WHERE connectionStatus == "NO"
) - included in above logic, but useful to distinguish, alsoWHERE multiple programme memberships
ORGMC Numbers do not match 8,9,10 (Condition:
WHERE gmcReferenceNumber != tisGmcReferenceNumber
, WHERE tisGmcReferenceNumber == null
← “tisGmcReferenceNumber” not currently an existing field!
ORSpecial Cases 1, 2, 16
WHERE placementType = F1, Where membershipType = MILLITARY, Where membershipType = INACTIVE
← we don’t currently get placement type through
ORSomething went wrong with an attempt to connect/disconnect 14 (does this need to be shown in discrepancies or is this just an error box?) -
WHERE exceptionReason != null?
...
masterdoctorindex Fields | Source of Truth (which service has final say) | Required by Recommendations | Required by Connections |
---|---|---|---|
id | Elasticsearch (Auto Id) | ✅ | ✅ |
tcsPersonId | TCS | ✅ | ✅ |
gmcReferenceNumber | GMC | ✅ | ✅ |
doctorFirstName | GMC | ✅ | ✅ |
doctorLastName | GMC | ✅ | ✅ |
submissionDate | GMC | ✅ | ✅ |
ProgrammeName | TIS | ✅ | ✅ |
membershipType | TIS | ✅ | ✅ |
designatedBody | GMC | ✅ | ✅ |
gmcStatus | GMC | ✅ | |
tisStatus | REVAL | ✅ | |
admin | REVAL | ✅ | |
lastupdatedDate | REVAL | ✅ | |
underNotice | GMC | ✅ | |
tcsDesignatedBody | TIS | ✅ | |
programmeOwner | TIS | ✅ | |
curriculumEndDate | TIS | ✅ | |
connectionStatus *this should be renamed “tisConnectionStatus” and refers to TIS' “point of view” about the connection, and is set to “No” in the following circumstance: | TIS | ✅ | |
membershipStartDate | TIS | ✅ | |
membershipEndDate | TIS | ✅ | |
existsInGmc | GMC | ✅ | |
exceptionReason* *this field is currently in the code in connections but doesn’t exist in masterdoctorindex, appears to have been overlooked | TIS/REVAL | ✅ |
Scenario implementation table
...