Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Summary:

Condensed logic for Connections

...

  • Programme Memberships (DBC) do not match - 3,4,5,6,7 (Condition: WHERE designatedBody != tcsDesignatedBody) (warning)
    OR

  • Programme Membership Issue (expired, none or concurrent) 11, 12, 13, 15 (Condition: WHERE connectionStatus == "NO") - included in above logic, but useful to distinguish, also WHERE multiple programme memberships
    OR

  • GMC Numbers do not match 8,9,10 (Condition: WHERE gmcReferenceNumber ! = tisGmcReferenceNumber (warning)null , WHERE tisGmcReferenceNumber tisPersonId == null“tisGmcReferenceNumber” not currently an existing field!Also multiple Tis people assigned to one GMC number?
    OR

  • Special Cases 1, 2, 16 WHERE placementType = F1, Where membershipType = MILLITARY, Where membershipType = INACTIVE Case 16 Where membershipType = INACTIVE && existsInGmc == true ← we don’t currently get placement type through
    OR

  • Something 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:
Objects.isNull(curriculumMembership) ||
Objects.isNull(programmeMembership) || Objects.isNull(programmeMembership.getProgrammeStartDate()) || Objects.isNull(programmeMembership.getProgrammeEndDate()) || programmeMembership.getProgrammeStartDate().isAfter(currentDate) || programmeMembership.getProgrammeEndDate().isBefore(currentDate);

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

...