...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
Scenario description
...
Rules
...
Actions
...
Appear in which tab? Y/N
...
Questions
...
Comments
...
MVP?
...
Related tickets
...
Test
...
test
...
test
...
test
...
test
...
test
...
test
...
test
...
Tset
...
tset
...
tset
...
tset
...
tset
...
tset
...
tset
...
tset
...
Scenario description
...
Rules
...
Actions
...
Appear in which Tab? Y/N
...
Questions
...
Comments
...
MVP?
...
Related tickets
...
F1 Doctor
...
Trigger: Placement grade = F1
...
Hide Doctor
...
Hidden Tab only - Y
...
Doctor appear in All Doctors Tab?
Do we really need the All doctor tab? To ask Users again
Don’t need it
All tab logic is complex to implement, we want to suggest Post MVP is required.
...
Y
...
Y - F1 Drs to be hidden (as happens with F1 Drs from TIS)
Question - do Reval Admins want to manually hide?
...
Military Doctor
...
Trigger: Programme membership type = Military
...
Hide Doctor
...
Hidden Tab only Y
...
Doctor appear in All Doctors Tab?
How many (clustered) military Drs are there?
Do we get these Drs via GMC? If so, needs to go to discrepancies and the manually assigned ID
Are they associated with a Designated Body? Yes - always will be the Defence Deanery (not in the current list of Designated Bodies) - implies hidden automatically - check with Reval Admins
...
Y
...
Y - auto hidden (to confirm with Reval Admins)
...
Reval Admin manually hide current connected Doctor.
...
Trigger: Manually hide doctor
...
Hide Doctor
...
Hidden Tab only? N/R
...
Should the Doctor still appear in connected? I want to think ‘No’.
Doctor appear in All Doctors Tab?
29/06/2022: Hide connection should only be in Exception
Cross-reference with Ade’s flow diagram
...
Required
...
N - Edge case, so not MVP
...
Visitors
...
Trigger: Programme membership type = Visitor
...
Logic context
Page 1 shows the functional Specifications and page 2 is the Connection logic and Connection tabs, (Pages 3 and 4 are for Post funding not for Reval)
Inc drawio | ||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Connection Functional specification
Flow diagram of data:
Drawio | ||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
MVP
Cross-reference (original row number) | Priority | Scenario description | Rules | Actions | Appear in which tab? Y/N | Questions and Comments | Status (Done, In progress, To do) | Related tickets | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | 1 | F1 Doctor | Trigger: Placement grade = F1 |
| Hidden Tab only - Y | Doctor appear in All Doctors Tab? All tab logic is complex to implement, we want to suggest Post MVP is required. F1 Drs to be hidden (as happens with F1 Drs from TIS) Question - do Reval Admins want to manually hide? | Parked pending further investigation |
| ||||||||
2 | 2 | Military Doctor | Trigger: Programme membership type = Military |
| Hidden Tab only Y | Doctor appear in All Doctors Tab? How many (clustered) military Drs are there? Do we get these Drs via GMC? If so, needs to go to discrepancies and the manually assigned ID Are they associated with a Designated Body? Yes - always will be the Defence Deanery (not in the current list of Designated Bodies) - implies hidden automatically - check with Reval Admins Auto hidden (to confirm with Reval Admins) | Done |
| ||||||||
5 | 3 | Update made via GMC Connect Doctor is Connected to a DBC (Add connection) | Should these update be reflected within TIS-Revalidation-Connection Discrepancies within 24 hours? |
| If doctor current connection is NO:
| Doctor appear in All Doctors Tab? No This is overnight sync
| Not required |
| ||||||||
6 | 4 | Update made via GMC Connect Doctor is disconnected from a DBC (Remove connection) | Should these update be reflected within TIS-Revalidation-Connection Discrepancies within 24 hours? |
| If doctor current connection is YES
| Doctor appear in All Doctors Tab? No This is overnight sync
| Not required |
| ||||||||
7 | 5 | DBC removed/remove connection | They should be added to a designated body if they have a programme membership and today is within the start/end date; Both must be true in relation to programme membership in this scenario
|
| If doctor current connection is YES
| If a doctor/Admin mistakenly remove DBC or disconnect a doctor either from TIS- Reval or GMC Connect. | Done |
| ||||||||
8 | 6 | DBC not matching for both TIS and GMC | If GMC Connect updates a connection, but it clashes with TIS DBC, should this update be reflected within TIS-Revalidation-Connection Discrepancies within 24 hours? | <<Current connection according to GMC>> | If doctor current connection is YES
| Done |
| |||||||||
9 | 7 | Programme membership not matching | If GMC Connect updates a connection, but it clashes with TIS programme membership detail, should this update be reflected within TIS-Revalidation-Connection Discrepancies within 24 hours | If doctor current connection is YES
|
...
|
...
Doctor appear in All Doctors Tab? No
Stop: 20/04/2022
...
Y
...
N - number of visitors thought to be low, so post-MVP task
...
Update made via GMC Connect
Doctor is Connected to a DBC (Add connection)
...
| Done |
| |||||||||
10 | 8 | GMC number not matching | If GMC Connect updates a connection, but it clashes with TIS GMC Number, should this update be reflected within TIS-Revalidation- |
...
Add to Discrepancies Tab (Exception Queue)?
...
Connection Discrepancies within 24 hours | If doctor current connection is |
...
YES
|
...
Doctor appear in All Doctors Tab? No
This is overnight sync
...
OK
...
Y
...
Update made via GMC Connect
Doctor is disconnected from a DBC (Remove connection)
GMC never changes. ? Assumption that a changed GMC No on TIS will lead to that doctor being “unmatched” - thus move doc to discrepancy. | Take out of MVP Not required | |||
11 | 9 | No GMC number in TIS GMC send a GMC number for a doctor who had no GMC number in TIS |
|
...
| If doctor current connection is YES
|
...
|
...
|
...
Doctor appear in All Doctors Tab? No
This is overnight sync
...
OK
...
Y
...
DBC removed/remove connection
...
They should be added to a designated body if they have a programme membership and today is within the start/end date;
Trigger: current programme membership + no designated body linked
Both must be true in relation to programme membership in this scenario
start date = today or older than today
end date = tomorrow and all future dates
...
Add to Discrepancies Tab (Exception Queue) to be able to add/remove connection
...
This also should cover if GMC Number is removed in error. No GMC number in TIS but GMC number in GMC Is it possible to have a doctor without GMC number in GMC? If yes, should we also send to discrepancies? ? Assumption that if NO GMC No on TIS will lead to that doctor being “unmatched” - thus move doc to discrepancy (how can users tell what the specific discrepancy is?!?!). ? How is GMC recorded when unknown or null. Perceived edge case
| Done |
| |||||||||
16 | 10 | GMC provide doctor not in TIS |
| If doctor current connection is YES
|
...
If a doctor/Admin mistakenly remove DBC or disconnect a doctor either from TIS- Reval or GMC Connect.
OK
...
Y
...
DBC not matching for both TIS and GMC
...
If GMC Connect updates a connection, but it clashes with TIS DBC, should this update be reflected within TIS-Revalidation-Connection Discrepancies within 24 hours?
...
<<Current connection according to GMC>>
...
If doctor current connection is YES
Discrepancies Tab (Exception Queue)?
Current Connections tab (Connections)?
...
OK
...
Y
...
Programme membership not matching
...
If GMC Connect updates a connection, but it clashes with TIS programme membership detail, should this update be reflected within TIS-Revalidation-Connection Discrepancies within 24 hours
...
If doctor current connection is YES
Discrepancies Tab (Exception Queue)?
Current Connections tab (Connections)?
...
OK
...
Y
...
GMC number not matching
...
If GMC Connect updates a connection, but it clashes with TIS GMC Number, should this update be reflected within TIS-Revalidation-Connection Discrepancies within 24 hours
Can TIS- Reval app capture such doctors from GMC? Is All Doctor tab populated from GMC or TIS (Question for the devs)? | Not required |
| ||||||||
17 | 11 | Doctor has current programme membership in TIS, not connected to DBC & programme end date is today or in the future | They should be added to a designated body if they have a programme membership and today is within the start/end date. Both must be true in relation to programme membership in this scenario
|
| If doctor current connection is NO:
|
...
|
...
No GMC number in TIS
GMC send a GMC number for a doctor who had no GMC number in TIS
|
GMC never changes.
? Assumption that a changed GMC No on TIS will lead to that doctor being “unmatched” - thus move doc to discrepancy.
see question
...
Y
Done |
| ||||||||
22 | 12 | Doctor Connected to a DBC and Programme Membership not expired |
|
...
| If doctor current |
...
connection is YES
|
...
This also should cover if GMC Number is removed in error. No GMC number in TIS but GMC number in GMC
Is it possible to have a doctor without GMC number in GMC? If yes, should we also send to discrepancies?
? Assumption that if NO GMC No on TIS will lead to that doctor being “unmatched” - thus move doc to discrepancy (how can users tell what the specific discrepancy is?!?!).
? How is GMC recorded when unknown or null.
...
see question
...
Y - perceived edge case
GMC no - standards (James)
...
GMC number against 2+ doctors
...
Two doctors having the same GMC number
...
Done |
| ||||||||||
23 | 13 | Doctor Connected to a DBC and Programme membership Expired |
| If doctor current connection is YES
| Admin allowed to manually to disconnect | Done | |||||
26 | 14 | TIS to GMC API failure | The last updated date should be displayed across revalidation; resend should be made available |
| If doctor current connection is YES
|
...
There’re existing GMC numbers against 2+ doctors in TIS (see https://build.tis.nhs.uk/metabase/question/461)
...
Not required as not possible to duplicate GMC No as this is flagged and record cannot be saved
...
N (but do the ticket 👉 )
...
Jira Legacy | ||||||
---|---|---|---|---|---|---|
|
...
Add to Discrepancies Tab (Exception Queue) to be able to add/remove connection
Visible to Local Office associated with the connected designated body only
...
If doctor current connection is YES
Discrepancies Tab (Exception Queue)?
Current Connections tab (Connections)?
...
If there is no training pathway in TIS, should the doctor be moved to discrepancies tab?
Any update to the Training Pathway should move to discrepancies?
This refers to the programme training pathway CCT, CESR, NA etc…
...
Not required
...
N
...
Programme Owner removed or changed in TIS
Their connection should be updated
Trigger: owning local office changes
...
Not required Automatically update connection
...
| For individual doctor connection/disconnection using API >> if API failure then visual notification for specific trainee. GMC - green = OK, red = fail with info on why error (internal / external) |
| |||||||||
29 | 15 | Overlapping programmes in 2 regions | Trigger: start date of one programme is before end date of the next + programme in 2 regions |
| If doctor current connection is YES
|
...
| >> When TIS is not updated >> Into discrepancy as prompt to fix data | ||||
30 | 16 | INACTIVE Doctors in TIS | If doctor current connection is |
...
Programme Membership removed or changed in TIS
...
Their connection should be updated
Trigger: programme membership changes
Both must be true in relation to programme membership in this scenario
start date = today or older than today
end date = tomorrow and all future dates
Optional programme membership change
programme name change
...
Nor required Automatically update connection
When change is made, send to GMC and notify Doctor & admin? Nothing to do from our end - Admin will contact doctor
...
If doctor current connection is YES
Discrepancies Tab (Exception Queue)?
Current Connections tab (Connections)?
If doctor current connection is No
Discrepancies Tab (Exception Queue)?
If Dr not connected at all with DB then appear in discrepancy.
If Dr has previous connection with DBC then appear in connected and discrepancy
...
N
...
GMC provide doctor not in TIS
...
Add to Discrepancies Tab (Exception Queue)
Visible to Local Office associated with the connected designated body only
...
YES
|
...
If Dr not connected at all with DB then appear in discrepancy.
...
If Dr has previous connection with DBC then appear in connected and discrepancy
...
No auto update
...
N
| >> Could be inactive “in error”, or issue with programme membership. >> Only inactive who are connected
| Done |
| ||||||||||||||||
31 | 17 | Hide doctor with current connection | Admin should be able to hide connected doctor though the doctor stays connected |
|
...
Can TIS- Reval app capture such doctors from GMC? Is All Doctor tab populated from GMC or TIS (Question for the devs)?
...
OK
...
Y
...
Doctor has current programme membership in TIS, not connected to DBC & programme end date is today or in the future
...
They should be added to a designated body if they have a programme membership and today is within the start/end date.
Trigger: current programme membership + no designated body linked
Both must be true in relation to programme membership in this scenario
start date = today or older than today
end date = tomorrow and all future dates
...
Add to Discrepancies Tab (Exception Queue) to be able to add/remove connection
When change is made, send to GMC and notify doctor. How? Nothing to do from our end - Admin will contact doctor
Visible to Local Office associated with the connected designated body only
...
If doctor current connection is NO:
Discrepancies Tab (Exception Queue)?
Historic Connections tab (Disconnections)?
...
OK
...
Y
...
Doctor has no current programme membership in TIS, and not connected to DBC
...
They should be hidden
Trigger: No current programme membership + no designated body
At least one of the below must be true in relation to programme membership in this scenario
start date = future or no date
end date = past, future or no date
...
Remove - Hide Doctor
When change is made, send to GMC and notify doctor. How?
Visible to Local Office associated with the connected designated body only
...
Historic tab
...
If have a previous connection then historic.
...
N
...
Doctor has no current programme membership in TIS, but connected to a DBC
They should be moved to an exception queue
Trigger: No current programme membership + designated body
At least one of the below must be true in relation to programme membership in this scenario
...
start date = future or no date
...
| >> | |||||||
32 | 18 | NEW: License to Practice removed due to suspension | Remove connection |
| How do we no this in TIS Reval? >> GMC will remove so doc., so will need to be hidden by LO. How can we determine that the licence has been removed? | |||
33 | 19 | Sanity check data on Prod | Been a long time since working on this - would be useful to double check (perhaps with Phil Skeldon)? |
Post-MVP
Cross reference (original row number) | Priority | Scenario description | Rules | Actions | Appear in which tab? Y/N | Questions and Comments | Status (Done, In progress, To do) | Related tickets |
---|---|---|---|---|---|---|---|---|
3 | 1 | Reval Admin manually hide current connected Doctor. | Trigger: Manually hide doctor |
| Hidden Tab only? N/R | Should the Doctor still appear in connected? I want to think ‘No’. Doctor appear in All Doctors Tab? 29/06/2022: Hide connection should only be in Exception Cross-reference with Ade’s flow diagram | ||
4 | 2 | Visitors | Trigger: Programme membership type = Visitor |
| If doctor current connection is YES
| Doctor appear in All Doctors Tab? No Stop: 20/04/2022 Number of visitors thought to be low, so post-MVP task | ||
12 | 3 | GMC number against 2+ doctors | Two doctors having the same GMC number |
|
...
Remove connection
...
| If doctor current connection is YES
|
...
Current Connections tab (Connections)?
...
Is this even possible?
Discrepancy?
...
OK
...
N
...
No programme membership in TIS but with curriculum (today <Curriculum end date)
They will need to either (i) have a programme membership added and be connected, or (ii) Hidden
...
| There’re existing GMC numbers against 2+ doctors in TIS (see https://build.tis.nhs.uk/metabase/question/461) Not required as not possible to duplicate GMC No as this is flagged and record cannot be saved (but do the ticket 👉 ) |
| |||||||||
13 | 4 | No training pathway in TIS |
|
...
| If doctor current connection is YES
|
...
Current Connections tab (Connections)?
...
Hidden Tab?
...
| If there is no training pathway in TIS, should the doctor be moved to discrepancies tab? Any update to the Training Pathway should move to discrepancies? This refers to the programme training pathway CCT, CESR, NA etc… Not required |
...
No programme membership in TIS but with curriculum (today > Curriculum end date)
...
They will need to either (i) have a programme membership added and be connected, or (ii) Hidden
Trigger: today >programme membership end date
...
Add to Discrepancies Tab (Exception Queue)
...
Remove/Add any connection?
...
14 |
...
N
...
Doctor Connected to a DBC and Programme Membership not expired
...
Remove - Add to Discrepancies Tab (Exception Queue)
Remove - Remove any connection
Visible to Local Office associated with the connected designated body only
...
If doctor current connection is YES
Current Connections tab (Connections)?
...
OK
...
Y
...
Doctor Connected to a DBC and Programme membership Expired
...
Add to Discrepancies Tab (Exception Queue)
...
Remove - Remove any connection
...
5 | Programme Owner removed or changed in TIS | Their connection should be updated Trigger: owning local office changes |
| If doctor current connection is YES
|
...
Hidden Tab?
We don’t think this possible in TIS
Not req
...
No
...
N
| No auto update | ||||
15 | 6 | Programme Membership removed or changed in TIS | Their connection should be updated Trigger: programme membership changes Both must be true in relation to programme membership in this scenario
Optional programme membership change
|
| If doctor current connection is YES
|
Admin allowed to manually to disconnect
...
OK
...
Y
...
Manually add connection in TIS-Reval to Programme Membership and there is discrepancy with TIS programme membership
If manual change (add connection) and there is conflicts with TIS programme membership
...
Add to Discrepancies Tab (Exception Queue)
Visible to all Local Offices associated with the connected programme membership
...
If doctor current connection is YES
Discrepancies Tab (Exception Queue)?
Current Connections tab (Connections)?
Hidden Tab?
...
When adding a Connection we shouldn’t need to cross-check Programme Membership with TIS
...
OK
Not required
...
N
...
No current placement
Scenarios
No placement at all
Past placement without future placement
Past placement with future placement
...
? Not expected to be flagged as not with current programme.
...
NA
...
N
...
TIS to GMC API failure
...
The last updated date should be displayed across revalidation; resend should be made available
Trigger: failed GMC update notification ??
...
| ||||||||
18 | 7 | Doctor has no current programme membership in TIS, and not connected to DBC | They should be hidden At least one of the below must be true in relation to programme membership in this scenario
|
| Historic tab | If have a previous connection then historic. | ||
19 | 8 | Doctor has no current programme membership in TIS, but connected to a DBC | They should be moved to an exception queue At least one of the below must be true in relation to programme membership in this scenario
|
| If doctor current connection is YES
|
...
For individual doctor connection/disconnection using API
>> if API failure then visual notification for specific trainee. GMC - green = OK, red = fail with info on why error (internal / external)
>> last refreshed
>> if failure then does it re-try and awareness.
>> mid-work infrastructure failure - how to deal with.
...
Y
...
Joint programme and programme membership not expired
Possibilities?
No DB
one DB?
More than one DBs?
2. Dual curriculum and Programme end date not expired << should not matter as runs of programme>>
Trigger: no designated body + shared programme membership
Both must be true in relation to programme membership in this scenario
...
start date = today or older than today
...
| Is this even possible? Discrepancy? | |||||||
20 | 9 | No programme membership in TIS but with curriculum (today <Curriculum end date) | They will need to either (i) have a programme membership added and be connected, or (ii) Hidden Trigger: today <programme membership end date |
| If doctor current connection is YES
| We don’t think this possible in TIS Not required | ||
21 | 10 | No programme membership in TIS but with curriculum (today > Curriculum end date) | They will need to either (i) have a programme membership added and be connected, or (ii) Hidden Trigger: today >programme membership end date |
|
...
|
...
|
...
For Joint programme
| If doctor current connection is YES
|
...
For Dual curriculum << not applicable>>
If doctor current connection is YES
| We don’t think this possible in TIS Not req | |||
24 | 11 | Manually add connection in TIS-Reval to Programme Membership and there is discrepancy with TIS programme membership | If manual change (add connection) and there is conflicts with TIS programme membership |
|
...
Current Connections tab (Connections)?
...
| If doctor current connection is |
...
YES
|
...
|
...
|
>> joint programme inc. across LO
>> One of the LO will hide trainee so they are not constantly flagged in discrepancy.
What should we do with joint Programme and Dual Curriculum - send to discrepancies?
If “Yes”, it’s MVP - one LO to process it and the other to ignore it
How do the LOs know when Drs are in Joint Programmes Dual Curriculums?
...
OK
...
N (for now)
...
All trainees
...
Display full list of trainees associated with admin's local office
Trigger: trainee programme membership owning local office = same as admin’s
...
Read only
...
What is the meaning of this?
>> ? All Trainee list, which is not required.
...
Not Required?
...
N
...
Overlapping programmes in 2 regions
...
Trigger: start date of one programme is before end date of the next + programme in 2 regions
...
Add to Discrepancies Tab (Exception Queue)
Visible to all Local Offices associated with the connected programme membership
...
If doctor current connection is YES
Discrepancies Tab (Exception Queue)?
Current Connections tab (Connections)?
...
>> When TIS is not updated
>> Into discrepancy as prompt to fix data
...
OK
...
Y
...
INACTIVE Doctors in TIS
| When adding a Connection we shouldn’t need to cross-check Programme Membership with TIS | |||||||
25 | 12 | No current placement Scenarios
| ? Not expected to be flagged as not with current programme. | |||||
27 | 13 |
Possibilities?
| Trigger: no designated body + shared programme membership Both must be true in relation to programme membership in this scenario
|
| For Joint programme If doctor current connection is YES
|
...
Current Connections tab (Connections)?
...
>> Could be inactive “in error”, or issue with programme membership.
>> Only inactive who are connected
...
OK
...
Y
...
Hide doctor with current connection
...
Admin should be able to hide connected doctor though the doctor stays connected
For Dual curriculum << not applicable>> If doctor current connection is YES
|
...
>>
...
OK
...
Y
...
NEW: License to Practice removed due to suspension
...
| Expired programme membership for the two scenarios? If doctor current connection is NO:
|
...
Current Connections Tab
...
How do we no this in TIS Reval?
>> GMC will remove so doc., so will need to be hidden by LO.
How can we determine that the licence has been removed?
...
OK
...
Y
...
Sanity check data on Prod
...
Been a long time since working on this - would be useful to double check (perhaps with Phil Skeldon)?
...
>> joint programme inc. across LO >> One of the LO will hide trainee so they are not constantly flagged in discrepancy. What should we do with joint Programme and Dual Curriculum - send to discrepancies? If “Yes”, it’s MVP - one LO to process it and the other to ignore it How do the LOs know when Drs are in Joint Programmes Dual Curriculums? | ||||||||
28 | 14 | All trainees | Display full list of trainees associated with admin's local office Trigger: trainee programme membership owning local office = same as admin’s |
| What is the meaning of this? >> ? All Trainee list, which is not required. |