Trainee UI - Field Validation | Form R (Part A)

Page Content:

As_Is Form

Semi-automated form (PDF) previously used by HEEOE:

@Alistair Pringle (Unlicensed)@James Harris:

Form_R_Part_A.pdf

User Journey

Assumptions

  • Prompts should be displayed to the Trainee advising them of how to update particular fields as needed

  • Appropriate field assistance should be displayed

  • Photograph from the original form is not needed

  • Form can be saved and come back later to complete and submit.

Form R Part A – Guidance Text

  • Displayed at the top of the form

  • All underlined / emboldened text should be displayed

Current Guidance Text

If this form has been pre-populated by your Deanery/HEE local team, please check all details, cross out errors and write in amendments. By signing this document you are confirming that ALL  details (pre-populated or entered by you) are correct.

It remains your own responsibility to keep your Designated Body, and the GMC, informed as soon as possible of any changes to your contact details. Your Deanery/HEE local team remains your Designated Body throughout your time in training. You can update your Designated Body on your GMC Online account under “My Revalidation”.

 

Updated Guidance (to be confirmed) @Alistair Pringle (Unlicensed)@James Harris@Sebastian Kwok (Unlicensed)

This form has been pre-populated using the information available against your records within the Trainee Information System (TIS). Please check all details and amend where necessary. Amendments made to your details on this form will not update other systems that you may have access to. By submitting this document you are confirming that ALL DETAILS (pre-populated or entered/amended by you) are correct.

It remains your own responsibility to keep your Designated Body and the GMC informed as soon as possible of any changes to your contact details. Your HEE Local team remains your Designated Body throughout your time in training. You can update your Designated Body on your GMC Online account under "My Revalidation".

Field Validation

This table specifically specifies the fields relevant to Form R, Part A only

Synchronising data to Trainee UI:

https://hee-tis.atlassian.net/browse/TISNEW-5154

https://hee-tis.atlassian.net/browse/TISNEW-5238

https://hee-tis.atlassian.net/browse/TISNEW-4307

A. Order

B. Field name

C. TIS Field to pre-populate with

D. Trainee UI Field Mapping: DB name > Collection name > Field

E. Rules for Syncing to Trainee UI non-submitted forms/copy of TIS data

F. TIS Reference Table

G. Example value

H. Type (free text, drop down, check box) & Interaction (auto-populate etc)

I. Mandatory for Submission (Y/N) ?

J. Validation / Error Messaging

K. Notes

A. Order

B. Field name

C. TIS Field to pre-populate with

D. Trainee UI Field Mapping: DB name > Collection name > Field

E. Rules for Syncing to Trainee UI non-submitted forms/copy of TIS data

F. TIS Reference Table

G. Example value

H. Type (free text, drop down, check box) & Interaction (auto-populate etc)

I. Mandatory for Submission (Y/N) ?

J. Validation / Error Messaging

K. Notes

Form R - Part A 

Section 1: DOCTOR'S DETAILS

1

Forename

ContactDetails > Forename

trainee > TraineeProfile > forenames

Match on traineeTisId

N

Jayanta

  • Pre-populate with Forename

  • can be overwritten on the Form; no propagation to other parties on submission for MVP

Y

  • Cannot be left empty



2

GMC-Registered Surname

ContactDetails > Surname

trainee > TraineeProfile > Surname

Match on traineeTisId

N

Saha

@James Harris @Alistair Pringle (Unlicensed):

  • Pre-populate with Surname

  • can be overwritten on the Form; no propagation to other parties on submission for MVP

Y

  • Cannot be left empty

Should be GMC registered surname as per guidance at top of the form

3

GMC Number

GMCDetails > GMC Number

trainee > TraineeProfile > gmcNumber

Match on traineeTisId

N

1234567

UNKNOWN

  • Pre-populate

  • can be overwritten on the Form; no propagation to other parties on submission for MVP

Y

  • No validation with GMC for MVP.

There will be trainees with UNKNOWN / N/A pre-populated, but may have a GMC to enter at time of Form R.

Should we wish to update TIS with the date in the future, the TIS Person ID can be linked back to.

4

Deanery / HEE Local Office

PersonOwner > Owner

  • trainee > TraineeProfile > personOwner

  • reference > LocalOffice

Match on traineeTisId

  • If changed/added/removed on TIS against trainee, needs to be re-synced to Trainee UI trainee record

  • If a value in the Local Office Reference table in TIS is changed/Inactivated/added, then needs to be re synced to trainee UI Reference

  • If existing value has changed its name or status from CURRENT to INACTIVE on TIS Reference,  then re-sync to Trainee UI > Reference, remove Inactives from dropdown for new form submission

  • If new value with Status = CURRENT is added in TIS Local Office Reference, then sync to trainee UI> Reference

Y - Local Office

Health Education England Wessex

  • Pre-populate with Person Owner

  • If no Active/Current Programme membership then leave blank

  • Can be overwritten on the Form; no propagation to other parties on submission for MVP

  • Overwritten with Local Office Reference table CURRENT values only

    • Note: Exclude 'London LETBs' in the list

Y



@Alistair Pringle (Unlicensed) and @Ashley Ransoo Shall we populate this field form PersonOwner table? - Yes but can be overwritten.

5

Date of birth

personaldetails > Date of Birth

trainee > TraineeProfile > dateOfBirth

Match on traineeTisId

N

20/03/2020

  • Pre-populate

  • Can be overwritten on the Form; no propagation to other parties on submission for MVP

Y

Calendar date picker



6

Gender

personaldetails > Gender

  • trainee > TraineeProfile > gender

  • reference > Gender

Match on traineeTisId

  • If changed/added/removed on TIS against trainee, needs to be re-synced to Trainee UI trainee record

  • If a value in the Gender Reference table in TIS is changed/inactivated/added, then needs to be re synced to trainee UI Reference

  • If existing value has changed its name or status from CURRENT to INACTIVE on TIS Reference,  then re-sync to Trainee UI > Reference, remove Inactives from dropdown for new form

  • If new value with Status = CURRENT is added in TIS Local Office Reference, then sync to trainee UI > Reference

Y - Gender

Male



  • Pre-populate

  • Can be overwritten on the Form; no propagation to other parties on submission for MVP

  • Overwritten with Gender Reference table CURRENT values only

Y

Overwritten with Gender Reference table CURRENT values only

@Alistair Pringle (Unlicensed)@James Harris

option of 'I prefer not to specify' is available, so made mandatory on form.

7

Immigration Status

N/A


reference > ImmigrationStatus

N/A

P.S: Observed that trainee UI has got an outdated list. The correct list should be the current values from TIS Rerefence > permitToWork list with the option of Other.

 

  • If a value in the PermitToWork Reference table in TIS is changed/inactivated/added, then needs to be re synced to trainee UI Reference

  • If existing value has changed its name or status from CURRENT to INACTIVE on TIS Reference,  then re-sync to Trainee UI > Reference, remove Inactives from dropdown for new form

  • If new value with Status = CURRENT is added in TIS Local Office Reference, then sync to trainee UI > Reference

Y



Y





 

Immigration Status (Other)

N/A

N/A

N/A

N

 

 

 

 

 

8

Primary Qualification

Qualification > Qualification

trainee > TraineeProfile>qualification

Match on traineeTisId

  • If a new Qualification with a most recent date is added, then sycn

  • If any of these 3 fields (qualification, dateAttained, medicalSchool) within existing Qualification has been updated on TIS on this personID, refresh all 3 qualification fields in TraineeUI based on same rules in column H.

Y - Qualification Reference

Quality of Qualification reference data is poor, so freetext.



  • Pre-populate with the most recent Person Qualification based on 'Date attained' where there are multiples.

  • Can be overwritten on the Form; no propagation to other parties on submission for MVP

  • Overwritten with Freetext

Y

  • Overwritten with Qualification Reference table CURRENT values only

If there are multiple qualifications, which one to display? How to extract the Primary Qualification?

24/03:

Populate with the most recent one based on Date attained where there are multiples.

9

Date Awarded

Qualification tab > Qualification> Date Attained

trainee > TraineeProfile > dateAttained

Match on traineeTisId

  • If a new Qualification with a most recent date is added, then sycn

  • If any of these 3 fields (qualification, dateAttained, medicalSchool) within existing Qualification has been updated on TIS on this personID, refresh all 3 qualification fields in TraineeUI based on same rules in column H





  • Pre-populate with the most recent one based on 'Date attained' where there are multiples.

  • Can be overwritten on the Form; no propagation to other parties on submission for MVP



Y

  • Valid date only

  • In preferred best UX format for Trainee UI

  • Calendar/date picker



10

Medical School Awarding Primary Qualification (name and country)

Qualification tab > Qualification> Medical School

trainee > TraineeProfile > medicalSchool

Match on traineeTisId

  • If a new Qualification with a most recent date is added, then sycn

  • If any of these 3 fields (qualification, dateAttained, medicalSchool) within existing Qualification has been updated on TIS on this personID, refresh all 3 qualification fields in TraineeUI based on same rules in column H

N



  • Pre-populate with the most recent one based on 'Date attained' where there are multiples.

  • Can be overwritten on the Form; no propagation to other parties on submission for MVP

  • Overwritten with Freetext

Y

  • Overwritten Freetext



11

Home address

ContactDetails >

address1

address2

address3

address4

postCode

trainee > TraineeProfile > address1, address2, address3, address4, postCode

Match on traineeTisId

  • If any of the address fields updated, syc full address (line 1-4) including postcode





  • Pre-populate

  • Can be overwritten on the Form; no propagation to other parties on submission for MVP

  • Exclude Line 4 in the new Address to overwrite with

  • Where new address is provided to overwrite with, clear the object (all 4 lines and postcode) and allow only for 3 lines and post code, no value to be saved for Line 4 upon editing

  • If possible, validate for UK Postcodes only

  • Note: Some trainees may not have UK postcodes

Y

  • Where new address is provided to overwrite with, clear the object (all 4 lines and postcode) and allow only for 3 lines and post code,  no value to be saved for Line 4 upon editing

Line 4 is a left over from Intrepid, if made editable, then the user should be allowed to update the whole address as an object and without a Line 4. 

12

Contact Telephone

ContactDetails > telephoneNumber

trainee > TraineeProfile > telephoneNumber

Match on traineeTisId

  • Any change or addition to be sync'ed





  • Pre-populate

  • Can be overwritten on the Form; no propagation to other parties on submission for MVP

  • Similar validations to TIS Admin to be applied for the form form validations for telephone 

Y

  • Similar validations to TIS Admin to be applied for the form form validations for telephone 



13

Contact Mobile

Mobile Number

trainee > TraineeProfile > mobileNumber

Match on traineeTisId

  • Any change or addition to be sync'ed





  • Pre-populate

  • Can be overwritten on the Form; no propagation to other parties on submission for MVP

  • Similar validations to TIS Admin to be applied for the form form validations for telephone

Y

  • Similar validations to TIS Admin to be applied for the form form validations for telephone 



14

Email Address

N/A

N/A

N/A





  • Leave blank, do not pre-populate

  • Populate with valid email address. 

  • Can be overwritten on the Form; no propagation to other parties on submission for MVP

  • Valid email address format

Y









Section 2: DECLARATIONS

15A

I confirm I have been appointed to a programme leading to award of CCT

N/A

N/A

N/A



N/A

Selection

Choose one between 15A - 15F

N

  • Only one of 15A to 15F should be selected

  • Single item select



15C

I confirm that I will be seeking specialist registration by application for a CESR CP

N/A

N/A

N/A



N/A

Selection

Choose one between 15A - 15F

N

  • Only one of 15A to 15F should be selected

  • Single item select



15D

I confirm that I will be seeking specialist registration by application for a CEGPR

N/A

N/A

N/A



N/A

Selection

Choose one between 15A - 15F

N

  • Only one of 15A to 15F should be selected

  • Single item select



15E

I confirm that I will be seeking specialist registration by application for a CEGPR CP

N/A

N/A

N/A



N/A

Selection

Choose one between 15A - 15F

N

  • Only one of 15A to 15F should be selected

  • Single item select



15F

I confirm that I am a core trainee, not yet eligible for CCT

N/A

N/A

N/A



N/A

Selection

Choose one between 15A - 15F

N

  • Only one of 15A to 15F should be selected

  • Single item select



16

Programme Specialty

Curriculum specialty from Programme membership

trainee > TraineeProfile > programmeMemberships > curricula > curriculumName

changes:

  • Programme membership

  • Curriculum membership

If a new programme membership is added to trainee, sync it to Trainee UI.

If a new Curriculum membership is added to trainee, sync it to Trainee UI.

If a field within an existing programme membership or curriculum membership for the trainee is updated, then re-sync all Prog/Curr mems. 

  • If existing curriculum has changed its name or status from Current to Inactive on TIS, of curriculumSubType = MEDICAL_CURRICULUM and Status = CURRENT, then re-sync to Trainee UI

  • If new curriculum of curriculumSubType = MEDICAL_CURRICULUM and Status = CURRENT is added in TIS, then sycn to trainee UI curriculum reference



@James Harris/ @Alistair Pringle (Unlicensed):

  • Pre-populate with the most recent Curriculum specialty of curriculumSubType = MEDICAL_CURRICULUM and Status = CURRENT and attached to the Most recent Programme membership based on furthermost 'Programme start date' 

Note: Curriculumid in ProgrammeMembership linked to Curriculum table to extract the curriculum sub type info

  • Where there are multiple, pick the topmost in alphabetical order

  • Can be overwritten on the Form; no propagation to other parties on submission for MVP

  • Overwritten with only CURRENT value from

    • Curriculum.name of curriculumSubType = MEDICAL_CURRICULUM and Status = CURRENT from Curriculum table  



Y





17

Specialty 1 for Award of CCT

same as #16

same as #16

same as #16





  • Pre-populate if 15A is selected only

    • Else, field is uneditable and not pre-populated

  • Pre-populate with same rules as row #16

  • Can be overwritten on the Form; no propagation to other parties on submission for MVP

  • Overwritten with same rules as row #16

Conditionally mandatory





18

Specialty 2 for Award of CCT

same as #16

same as #16

same as #16





  • Not Prepopulated

  • Uneditable unless you have selected 15A

  • Overwritten with same rules as row #16



N





19

Royal College / Faculty Assessing Training for the Award of CCT

N/A

reference > College

  • If a value in the College Reference table in TIS is changed/inactivated/added, then needs to be re synced to trainee UI Reference

  • If existing value has changed its name or status from CURRENT to INACTIVE on TIS Reference,  then re-sync to Trainee UI > Reference, remove Inactives from dropdown for new form

  • If new value with Status = CURRENT is added in TIS Local Office Reference, then sync to trainee UI > Reference



Y - College Reference table

Joint Royal College of Physicians Training Board

  • Do not pre-populate

  • Editable dropdown populated with CURRENT values from College Reference table

Y





20

Anticipated Completion Date of Current Programme (if known)

TIS_Interim > VwProgrammemembership >Programmecurriculumcompletiondate



trainee > TraineeProfile > programmeMemberships > programmeCompletionDate

  • Match on traineeTisId

  • Given a change to this calculated field that is sent to NDW, re-sync all programme memberships in trainee UI if unable to update the specific programme membership programmeCompletionDate



TIS_Interim:

 

TIS_NDW_ETL:

 

@James Harris@Alistair Pringle (Unlicensed)

  • Pre-popuate with what is going into Programmecurriculumcompletiondate in TIS-Interim ETL.

  • Can be overwritten on the Form; no propagation to other parties on submission for MVP





Y

  • Date format with the best UX format.

  • Valid dates only



SECTION 3: PROGRAMME

21

Training grade

N/A

reference > Grade

Training grade reference in Trainee UI to be synch'ed from TIS when:

  • a new value is added with a status of CURRENT to the list here https://build.tis.nhs.uk/metabase/question/310

  • If a value in the Training Grade Reference table in TIS is changed/inactivated/added, then needs to be re synced to trainee UI Reference

  • If existing value has changed its name or status from CURRENT to INACTIVE on TIS Reference,  then re-sync to Trainee UI > Reference, remove Inactives from dropdown for new form

  • If new value with Status = CURRENT is added (is a Training grade AND Postgrade AND PlacementGrade) in TIS Local Office Reference, then sync to trainee UI > Reference

 

Y





Y





22

Start date

Programme Start date

see #16

see #16

N



  • Pre-populate with Programme start date linked to Programme membership identified by rules on row #16

  • Can be overwritten

Y

  • Valid dates only



23

Post type or appointment

Programme membership type

see #16

see #16 for prepoluation

Post type reference in Trainee UI to be synch'ed from TIS when:

  • a new value is added with a status of CURRENT

  • a Post type status changes from CURRENT to INACTIVE, remove from UI/Inactivate from trainee UI Reference

  • A Post type name with a status of CURRENT is updated on TIS

Y



  • Pre-populate with Programme membership type of the programme membership identified by rules on row #16

  • Can be overwritten with CURRENT values from Programme Membership type Reference table

Y





24

Full Time or % of Full Time Training

WTE

N/A

N/A

N

  • Do not pre-populate

  • Populate with WTE with Guidance to denote that 1 is for Full time and percentage of Full Time as a decimal value up to 2 decimal places. e.g. 0.1 for 10%; 0.25 for 25% etc. 

  • Cannot be more than 1

Y





Section 4: SIGNATURE

25

Trainee Signature

N/A

N/A

N/A



N/A

  • Populate with Forename<space>Surname entered earlier on the form

  • Read-only: If needs amending then correct on the form above.

  • on submission







26

Date

N/A

N/A

N/A



N/A

Pre-populate

  • Read-only

  • Today's Date

  • On submission

  • On re-submission, overwritten new date





@Alistair Pringle (Unlicensed) and @Ashley Ransoo Which date to be recorded? Do we need to override the submission date or go for new field called modified date?

23/03: Yes

Section 5: HEE ONLY - 24/03: Not to Display on the Form on Trainee UI but available to Admins. 

27

National Training Number / Deanery Reference Number

N/A







N/A

Hidden from trainee until post submission

NTN viewable once created

No view/editing for Trainee unless submitted (in Historical view)

Free Text for Admin







28

GMC Programme Approval Number

N/A







N/A

No editing for Trainee

No view/editing for Trainee unless submitted

Free text for Admin







Note (January 2024):

The validation rules for Form R Part A as implemented can be viewed most easily in the publicly accessible GitHub code repositories. These include the rules listed above, with further constraints to require reasonable string lengths and dates not in the far future/distant past, as well as any other slight adjustments that have been defined over time.
Back-end validation of final submitted Form R Part A: https://github.com/Health-Education-England/tis-trainee-forms/blob/main/src/main/java/uk/nhs/hee/tis/trainee/forms/dto/FormRPartADto.java
Front-end validation of Form R Part A (applied during the process of filling them out): https://github.com/Health-Education-England/tis-trainee-ui/blob/main/components/forms/form-builder/form-r/part-a/formAValidationSchema.ts