Programmes - Rotations - Solution Design, Field Validation & Scenarios

Content

Background

Rotations are groupings used to manage large groups of trainees on a single Programme; they are artificial and do not represent any form of reportable data within HEE by themselves.


Scope for TIS

  • New object in TCS - Rotations with List and CRUD (create, read, update, delete)
  • Rotations are a linked to a parent Programme (many Rotations to one Programme)
  • Editable by all HEE admins
  • People and Posts can be linked to one or many rotations (many to many relationships on both)
  • Bulk uploads of People to allow Rotation to be specified for a Person(trainee)
  • Phase 2
    • Show Rotations within a Programme (Programme List and Edit)
    • Add multiple People or Posts to a Rotation from within Rotation edit


Intrepid implementation

  • Intrepid has the same data relationships as we are designing for TIS - Rotations have a parent Programme, and have many to many relationships to both People and Posts
  • On the Intrepid UI Programmes:Rotations allows the creations/update/delete(inactive) of Rotations
  • On the Intrepid UI Programmes:Rotations is also the place where People and Posts are linked to a Rotation - via a pop-up window
  • The popup window contains a list of People or Posts (limited to the parent programme) with pagination and select boxes on each record to allow link/unlink
  • A person record has a dropdown to show the Rotations available to a person, but we're told this doesn't work and HEE staff have been instructed not to link Rotations and People using this
  • A post doesn't have a way to link Rotations to it
  • Bulk Upload of People or Posts don't support specifying Rotations

We have visibility of 3 tables in the Intrepid DR with de-normalised data for Rotations, these will map directly to tables within the TCS microservice in TIS as seen below

  • vwProgrammeRotation - we will map this to tcs.Rotation
  • vwProgrammeRotationMembership – tcs.RotationPerson
  • vwProgrammeRotationPost – tcs.RotationPost


<Insert table definitions for the 3 Intrepid tables here>

Current utilisation of Rotations can be seen in this list:

Posts connected to a Rotation by Local Office

ProgrammeManagingDeaneryPostIDCount
Health Education England East Midlands2188
Health Education England East of England392
Health Education England Kent, Surrey and Sussex9873
Health Education England North Central and East London7624
Health Education England North East284
Health Education England North West London4664
Health Education England South London3225
Health Education England South West3
Health Education England Thames Valley1
Health Education England Wessex6
Health Education England Yorkshire and the Humber16
London LETBs543

James Harris has confirmed that EoE don't use Rotations - these were just testing so we are assuming that East Midlands and London (including KSS) are the only current users.

TIS design - Data and UI

The next increment of data design and UI ideas can be found in here: TIS Rotations ERD V1.2.pptx


An initial refactor of the design for the UI interactions is outlined here: TIS Rotations UI design ideas V1.0.pptx

[Matt Leech (Unlicensed) - don't believe these need wireframe sketches for all, but probably for the Phase 2 elements ]


    TIS Rotations - in People

TIS Rotations - in Posts  TIS Rotations - In Programmes


TIS Stories/Tasks

key summary type updated assignee priority status
Loading...
Refresh

Field Validation

Field SequenceField name (V10)DR fieldReference tableExample valueOther fields available in DRType (free text, drop down, check box) & InteractionMandatory (Y/N)Validation / Error MessagingFilter (Y/N)Search (Y/N)Sort (Y/N)Summary (S) / Detail (D)NotesDelete (Y / N)
Rotations Reference Table (L2 within Admin L1)
1Rotation Name



  • Free text
Y
  • Must be unique per local office






2Programme Name



  • Smartsearch drop down
Y
  • Must select 1






3Programme Number



  • Derived from programme name
Y
  • N/A






4Rotation Status



  •  Drop down
Y
  • Must select 1






Rotations (L3 within People-Programme Membership)
1Rotation Name



  • drop down list
N
  • limited to rotations within Trainees chosen Programme





















Rotations (Section within Posts)
1Rotation Name



  • drop down list
N
  • limited to rotations within same Programme as the Post






Scenarios

Process NamePG-1 Create RotationComment
DescriptionUser creates the Rotation grouping so that this can be used elsewhere in TIS
ActorsHEE Admin
Pre-Conditions


Programmes must be defined

User must have appropriate access


Post ConditionsRotation group created and available to be assigned to People
Process Steps
  1. Navigate to reference data space
  2. Select to create new
  3. Enter all mandatory fields
    1. Rotation name
    2. Programme name
    3. Programme number (autopopulated)
    4. Status
  4. Save
  5. New rotation grouping is available across TIS

Alternative FlowN/A
Rules
  • name is free text
  • limit to 25 characters

JIRA Reference

TISDEV-3102 - Getting issue details... STATUS


Audit Log
  • Create record - who / when



Process NamePG-2 View / Edit RotationComment
DescriptionUser should be able to view and make edits to existing Rotation groupings 
Actors

HEE Admin

TIS Admin


Pre-Conditinos

Programmes must be defined

User must have appropriate access


Post ConditionsChanges saved to already created Rotation
Process Steps
  1. Navigate to reference data space
  2. Select field to be edited
  3. Make changes
  4. Save

Alternative FlowN/A
Rules
  • Changes can be made to name or programme link
  • Display warning message displayed to warn user of potential impact to previously/already linked Programmes, Trainees, Posts etc

JIRA Reference

TISDEV-3103 - Getting issue details... STATUS


Audit Log
  • Edit record - who/when

Process NamePG-3 Remove RotationComments
DescriptionUser should be able to remove a Rotation grouping
ActorsProgramme / Placement Admin
Pre-Conditions

Programmes must be defined

User must have appropriate access


Post-Conditions

Rotation removed from Reference Table

Rotation field shows as blank in other records


Process Steps
  1. Navigate to reference data space
  2. Select field to be edited
  3. Change status to inactive
  4. Save

Alternative FlowN/A
Rules
  • Downstream data remains as is i.e. Trainee-Placement link remains in place
  • Display warning message displayed to warn user of potential impact to previously/already linked Programmes, Trainees, Posts etc
  • Remove display of Rotation label within records where applicable

JIRA Reference TISDEV-3104 - Getting issue details... STATUS
Audit Log
  • Delete record



Process NamePG-4 Assign RotationComments
DescriptionUser can link a rotation grouping to TIS data, such as trainee or post
ActorsHEE Admin
Pre-ConditionsRecord does not contain a link to desired rotation
Post-ConditionsRecord contains a link to desired rotation
Process Steps
  1. Navigate to record
  2. Select rotation from drop down
  3. Save record
  4. Display rotation grouping against record

Alternative FlowN/A
Rules
  • Multiple rotations can be selected per record
  • Historical view diplayed via audit log only
  • Display warning message where rotation field is edited and is linked to another record i.e. Person is in Placement and one of the fields is changed
  • Only Current rotations can be selected

JIRA Reference TISDEV-3336 - Getting issue details... STATUS
Audit Log
  • add rotation - who when
  • edit rotation - who/when


Process Name

PG-5 Bulk Add/Update Rotation to Trainees

Comments
Description*As a* Local Office Admin
*I want* to be able to link multiple People records to a Rotation efficiently via a spreadsheet upload
*So that* I don't have to manually choose a Rotation for each Trainee individually through the Person record in the UIr can link a rotation grouping to TIS data, such as trainee or post

ActorsHEE Admin
Pre-ConditionsLogged in
Authorised User

Post-Conditions
  • New Person records created on TIS
  • Where Person records already exist and the Programme matching criteria met, the records get Added/Updated with the Rotation 1 value from the spreadsheet.
  • Person record contains a link to desired rotation

Process Steps
  1. Download the TIS People Import template
  2. Populate the spreadsheet with people records and Rotations
  3. Upload spreadsheet
  4. System validates spreadsheet and presents validation errors if any
  5. System creates/update new records based on spreadsheet values
  6. System presents confirmation when process completes

TIS People Import Template with Add/Update specified:

TIS People Import Template (to be made downloadable from the FE):



Alternative FlowPG-4 Assign Rotation
Rules
  • This is a non-mandatory field.
    • It is an 'Update' type field
    • Only 1 Rotation can be added/edited per ProgrammeMembership of a Person record from the FE, from the Bulk Import we expect a similar behaviour
      I.e. If you are creating a new person record with a prog membership and specify a rotation then you want it added. 
      If you are updating a record and specify a different rotation with matching person and programme membership then you would want it to replace the value held.
    • Accepted values for Rotation on the template are only one of those attached to the Programme specified and are Current, else should present an error. I.e. Can only add to a Rotation linked to the programme membership you are adding.
    • You should not be allowed to import a Rotation without entering 'Programme name' and 'Programme number' details on the template. This should present an error.
    • If a blank value specified, no action by the import.

JIRA ReferenceTISDEV-4216
Audit Log
  • Who created the people record and when
  • add rotation - who when
  • edit rotation - who/when

For Discussion

#QuestionCommentOwner
1
  • in TIS, is it actually necessary to assign rotations at both post and programme levels? Alternative would be to expose rotation grouping to all admins and set a rotation group max number so they remain manageable for all users?
No, not necessary under new process - link rotation to programme, then assign rotation to person and/or post
2
  • what other components use rotations?
none
3how should legacy rotations be displayed in TIS?They should map through into the new data modelAlistair Pringle (Unlicensed)
4Can we remove the RotationPost.Status and RotationPost.SortOrder to simplify the UI interaction?

Just need London (Stuart Morris) to confirm that they don't use it

Reuben Noot (Deactivated)